ads-attribution — Claude Code skill: attribution audit
Audits advertising attribution across platforms and blocks totals built from incompatible conversion reports. Use it when GA4, MMP, or platform figures disagree.
npx skills add AgriciDaniel/claude-ads --skill ads-attribution -a claude-codeWhat ads-attribution does
The skill reads the ads contract and normalized account snapshots, then defines the business conversion, value, data window, timezone, currency, and decision the analysis must support. It inventories browser, server, platform, analytics, MMP, offline, and app attribution sources.
It reconciles comparable events and explains gaps caused by eligibility, view-through rules, consent, modeled data, conversion lag, thresholds, or scope. The result includes findings, contradictions, confidence, missing evidence, and a measurement improvement plan through a shared JSON contract.
It will not total reports from different windows. Meta seven-day conversions and Google thirty-day conversions remain separate until the event, value, window, click and view scope, counting, deduplication, timezone, currency, model, and modeled-data treatment align. That is a reason to check reporting rules before using a combined figure.
What it helps with
- reconcile Meta and Google conversion figures
- trace discrepancies between GA4 and platform reports
- audit browser and server event deduplication
- review AppsFlyer, Adjust, Branch, or Singular attribution
- separate measurement quality from platform-reported performance
Example prompts for the agent
- "Audit attribution across Meta, Google, and GA4; check conversion definitions and reporting windows."
- "Compare browser and server events, then identify deduplication rules and discrepancies."
- "Can these Meta and Google conversions be added together? Check window and attribution-model compatibility first."
How to install ads-attribution
1Skills CLI (Vercel)
npx skills add AgriciDaniel/claude-ads --skill ads-attribution -a claude-code2Manually: put the files in place
~/.claude/skills/ads-attribution/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/ads-attribution/
1Skills CLI (Vercel)
npx skills add AgriciDaniel/claude-ads --skill ads-attribution -a codex2Manually: put the files in place
.agents/skills/ads-attribution/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add AgriciDaniel/claude-ads --skill ads-attribution -a cursor2Manually: put the files in place
.cursor/skills/ads-attribution/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install AgriciDaniel/claude-ads ads-attribution2Manually: put the files in place
.github/skills/ads-attribution/SKILL.md1Skills CLI (Vercel)
npx skills add AgriciDaniel/claude-ads --skill ads-attribution -a gemini-cli2Platform CLI
gemini skills install https://github.com/AgriciDaniel/claude-ads --path skills/ads-attributionManually: put the files in place
.devin/skills/ads-attribution/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add AgriciDaniel/claude-ads --skill ads-attribution -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
From the same set20
The whole set →Similar
Questions about ads-attribution
How do I install ads-attribution in Claude Code?
Run npx skills add AgriciDaniel/claude-ads --skill ads-attribution -a claude-code, then run npx skills add AgriciDaniel/claude-ads --skill ads-attribution -a claude-code again. The skill file is at ~/.claude/skills/ads-attribution/SKILL.md.
What does ads-attribution do?
It audits attribution across advertising platforms, analytics, MMPs, and offline sources. It checks conversion definitions, reporting windows, counting, and deduplication rules.
Why can’t Meta and Google conversions be added together?
The figures need a shared conversion event, attribution window, counting rules, and other comparability conditions before aggregation. Meta seven-day and Google thirty-day conversions are treated as incompatible.
Source text
SKILL.md · MIT
--- name: ads-attribution description: "Audit cross-platform attribution, conversion definitions, reporting windows, GA4, AdServices and AdAttributionKit, MMPs, browser and server events, offline conversions, and platform reconciliation. Use for attribution audit, attribution models, conversion windows, requests to add or total Meta and Google conversions, incompatible reporting-window aggregation, GA4 attribution, MMP review, AppsFlyer, Adjust, Branch, Singular, or cross-platform discrepancies." --- # Attribution Audit 1. Read the main `ads` contract and normalized account snapshots. 2. Declare the business conversion, value, data window, timezone, currency, and decision the attribution analysis must support. 3. Inventory every browser, server, platform, analytics, MMP, offline, and app attribution source with its identity, counting, deduplication, and privacy rules. 4. Reconcile comparable events and explain differences caused by eligibility, view-through rules, consent, modeled data, conversion lag, thresholds, or scope. 5. Separate measurement quality from platform-reported performance. 6. Return findings, contradictions, confidence, missing evidence, and a measurement improvement plan through the common JSON contract. Do not assume one platform is ground truth, add incompatible reports together, or recommend an attribution model without the operator's decision context. ## Comparability gate Reject aggregation until the sources share, or are explicitly normalized to, the same conversion event and value definition, attribution window, click/view scope, counting method, deduplication identity, timezone, currency, attribution model, and modeled-data treatment. Until then, report the values side by side with their definitions; do not compute a total. Example: Meta seven-day conversions and Google thirty-day conversions are incompatible. Refuse to add them, reconcile windows and definitions first, and only aggregate a newly comparable dataset.
© AgriciDaniel · MIT · AgriciDaniel/claude-ads