Paid Measurement Loop
Use a control and a fixed readback window to decide whether a paid-ad change should scale, keep testing, roll back, or remain unproven.
The skill treats exports as untrusted data and forbids executing embedded instructions; platform APIs are optional, and saving results requires user confirmation. Deductions apply because it writes memory and promotes decisions to open-loops without skill-level rollback, sensitive-field handling, or write-recovery details.
The contract, inputs, completion criteria, control rule, attribution-window normalization, conversion lag, and measurement failures are clearly specified with no obvious internal contradiction. Deductions apply because it depends on unprovided shared references, roi-calculator, and the CLAUDE_PLUGIN_ROOT script path; static materials do not prove the key path runs, so the static ceiling applies.
Triggers, non-fit boundaries, inputs, outputs, and four verdicts are explicit; manual exports are supported without requiring external APIs, and the metadata includes Chinese wording. Deductions apply because edge boundaries for small samples, unstable controls, non-ecommerce cases, and cross-market use are underdeveloped; Chinese-language support exists, but China-specific platform and attribution guidance is absent.
Frontmatter supplies name, version, license, compatibility, trigger hint, and author metadata; the body uses layered Quick Start, contract, sources, instructions, and next-skill sections. Deductions apply because maintenance ownership, update path, changelog detail, and referenced-file contents are not fully shown, while SECURITY.md says the supported current line is 17.x despite this skill declaring 18.0.0.
The goal and output are concrete, with fixed windows, controls, attribution and currency normalization, integrity checks, and actionable verdicts. Deductions apply because ROAS/CPA arithmetic is delegated and the supplied static material contains no verified key-path output or third-party execution evidence, limiting directly demonstrated usefulness.
Repository CI workflows and committed tests provide evidence of architecture, audit-artifact, and privacy regression safeguards. Deductions apply because the supplied tests do not cover this skill's core readback flow, control decision, or ledger/roi-calculator integration, and no independent third-party execution evidence is provided; the static ceiling is 5.
- No scripts were executed and referenced files were not verified; confirm that the shared references, ledger.py, roi-calculator, and CLAUDE_PLUGIN_ROOT are reachable in the target host before installation.
- Before writing memory or open-loops, confirm the exact paths, privacy boundary, and recovery behavior; do not treat platform-reported conversions as independent ground truth.
- Security.md's supported-version statement conflicts with the skill's 18.0.0 version; verify release and maintenance status first.
What does this skill do, and when should you use it?
Paid Measurement Loop evaluates paid-ad changes such as budget shifts, new creative, and bid or targeting edits. It compares a candidate window with a control using ROAS or CPA, while accounting for conversion lag, attribution windows, and currency normalization. The skill returns Promote, Keep-testing, Rollback, or Unproven plus a reusable readback summary. It belongs to the repository’s Paid Ads Scale phase and does not perform ROI-ratio math or cross-channel rollups.
Reads the tested change, timing, owner, baseline and candidate exports, control, target ROAS/CPA, platform attribution windows, and currency; confirms the learning phase has ended and sets a 7- or 14-day readback window; records, diffs, and trends paid signals with ledger.py; delegates normalized spend, revenue, and conversion data to roi-calculator for ROAS and CPA arithmetic; checks for broken tracking and duplicate attribution; and produces a readback table and handoff summary covering metrics, windows, sources, normalization notes, caveats, decision, next patch, and next readback date.
- A growth lead increased a campaign budget and wants to compare its two-week ROAS against an unchanged campaign.
- A paid-media team introduced new prospecting creative and needs a promote, keep-testing, or rollback decision.
- An operator has Meta and Google Ads CSV exports and needs attribution windows and currencies normalized before comparison.
- A marketing analyst suspects conversion tracking or platform attribution is double-counting and needs to block an unreliable readback.
What are this skill's strengths and limitations?
- Requires a control and a precommitted readback window instead of treating raw before/after movement as proof.
- Handles conversion lag, attribution-window differences, currency normalization, and duplicate attribution risks.
- Returns four explicit decision states with fields for follow-up and memory handoff.
- Works with user-provided exports and does not require an ad-platform API or MCP.
- Without a control, the result must be Unproven, so it cannot support a reliable promote or rollback decision.
- Users must provide exports from ad, analytics, or ecommerce sources; the skill does not independently access an account.
- ROAS and CPA arithmetic is delegated to roi-calculator rather than performed by this skill.
- It does not produce cross-channel rollups; that scope belongs to performance-analyzer.
How do you install this skill?
Install the repository in Claude Code with /plugin marketplace add aaron-he-zhu/aaron-marketing-skills, followed by /plugin install aaron-marketing@aaron; or install it on a compatible Agent Skills host with npx skills add aaron-he-zhu/aaron-marketing-skills. To obtain the individual skill, use npx skills add aaron-he-zhu/aaron-marketing-skills -s paid-measurement-loop.
How do you use this skill?
Provide a paid-ad change that has exited learning, a control, a fixed readback window, and manually exported ad, analytics, or ecommerce data. Example: Read back the budget increase I made on Campaign X two weeks ago — did ROAS hold vs the control? If no export is available, the skill asks for one rather than estimating from the platform dashboard alone. Before saving results, it asks, “Save these results?”
How does this skill compare with similar options?
Compared with roi-calculator, this skill owns the change, control, readback window, and decision, while roi-calculator owns ROAS/CPA arithmetic. Compared with performance-analyzer, it focuses on reading back one paid-ad change rather than producing cross-channel reporting.