Paste the sales and spend numbers each ad platform claims

Attribution Audit

by AgriciDaniel · MIT license · ★ 9,466 on GitHub · updated Sep 18

Attribution Audit cover

Paste the sales and spend numbers each ad platform claims, and get back a plain explanation of why they disagree and which figure to trust.

---
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.

Overview

Do not assume one platform is ground truth, add incompatible reports together, or recommend an attribution model without the operator's decision context.

Manual install (npx, ZIP)
Claude Codenpx skills add AgriciDaniel/claude-ads --skill ads-attribution -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/AgriciDaniel/claude-ads/tar.gz/ac2164493391 \ | tar -xz -C ~/.claude/skills --strip-components=2 claude-ads-ac2164493391/skills/ads-attribution
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/e7dee2898cf0a595941b/ads-attribution.zip" -OutFile "$env:TEMP\ads-attribution.zip"; Expand-Archive "$env:TEMP\ads-attribution.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md1.9 KB
Read the files here
AgriciDaniel/ac216441 file
SKILL.md
Show the full text33 lines
ads-attribution/SKILL.md33 lines · 1.9 KB · ac21644

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.

1---
2name: ads-attribution
3description: "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."
4---
5 
6# Attribution Audit
7 
81. Read the main `ads` contract and normalized account snapshots.
92. Declare the business conversion, value, data window, timezone, currency, and
10 decision the attribution analysis must support.
113. Inventory every browser, server, platform, analytics, MMP, offline, and app
12 attribution source with its identity, counting, deduplication, and privacy rules.
134. Reconcile comparable events and explain differences caused by eligibility,
14 view-through rules, consent, modeled data, conversion lag, thresholds, or scope.
155. Separate measurement quality from platform-reported performance.
166. Return findings, contradictions, confidence, missing evidence, and a measurement
17 improvement plan through the common JSON contract.
18 
19Do not assume one platform is ground truth, add incompatible reports together, or
20recommend an attribution model without the operator's decision context.
21 
22## Comparability gate
23 
24Reject aggregation until the sources share, or are explicitly normalized to, the
25same conversion event and value definition, attribution window, click/view scope,
26counting method, deduplication identity, timezone, currency, attribution model,
27and modeled-data treatment. Until then, report the values side by side with their
28definitions; do not compute a total.
29 
30Example: Meta seven-day conversions and Google thirty-day conversions are
31incompatible. Refuse to add them, reconcile windows and definitions first, and
32only aggregate a newly comparable dataset.
33 
View all files on GitHub →

Details

Updated
Sep 18, 2026
License
MIT
Stars on the repo
★ 9,466
Checked
Source
AgriciDaniel/claude-ads ↗
Creator
AgriciDaniel · 130 listings
View creator

Similar skills

See all →
SkillSet up, audit, or optimize analytics trackingkostja94/marketing-skills · by kostja94When the user wants to set up, audit, or optimize analytics tracking (GA4, events, conversions). Also use when the user mentions "Google Analytics," "GA4," "event tracking," "conversions," "attribution model," "gtag," "data layer," "GA4 setup," "conversion tracking," "event setup," "User ID tracking," or "CTA attribution." For traffic insights, use traffic-analysis.★ 1k GitHub starsSkillSet up first-party tracking and analytics1P Tagging & AnalyticsLeadMagic/gtm-skills · by LeadMagicSet up first-party tracking and analytics — website pixels, conversion tracking, UTM architecture, cookie consent, server-side tagging vs client-side, 1P vs 3P data strategy, and identity resolution. Use when setting up tracking, implementing pixels, building attribution, or preparing for privacy-first measurement. Triggers on: "pixel", "tracking", "conversion tracking", "first-party data", server-side tagging", "UTM", "cookie consent", "1P vs 3P", "identity resolution", or any tracking implementation request.★ 62 GitHub starsSkillSet up, improve, or audit analytics tracking and measurementcoreyhaines31/marketingskills · by coreyhaines31When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," "tracking plan," "how do I measure this," "track conversions," "Mixpanel," "Segment," "are my events firing," or "analytics isn't working." Use this whenever someone asks how to know if something is working or wants to measure marketing results. For choosing attribution models, comparing multi-touch/MMM/incrementality, or reconciling conflicting numbers across tools, see attribution. For A/B test measurement, see ab-testing.★ 51.1k GitHub starsSkillPaste the conflicting numbers from your ad accountsFind Out Which Marketing Actually Made The Salecoreyhaines31/marketingskills · by coreyhaines31Paste the conflicting numbers from your ad accounts, website stats and sales records; get back one honest read on which channels really drove sales and where to put your budget.★ 51.1k GitHub starsSkillSet up, improve, or audit analytics tracking and measurementdavila7/claude-code-templates · by davila7When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions "set up tracking," "GA4," "Google Analytics," "conversion tracking," "event tracking," "UTM parameters," "tag manager," "GTM," "analytics implementation," or "tracking plan." For A/B test measurement, see ab-test-setup.★ 32.3k GitHub starsMCPMarketes attribution analyst with incrementality testingMarketing attribution analystdavila7/claude-code-templates · by davila7Use when you need to model multi-touch attribution, measure marketing mix impact, validate channel performance with incrementality testing, or optimize budget allocation across paid/owned/earned channels. Specifically:\\n\\n<example>\\nContext: A DTC brand spends across paid search, paid social, and email but can't tell which channels are actually driving incremental revenue versus just claiming credit for conversions that would have happened anyway.\\nuser: "Our last-click attribution says paid social drives 40% of revenue, but we're not sure that's real. How do we find out?"\\nassistant: "I'll first confirm your tracking stack (GA4/GTM/CDP), attribution window, and available spend/conversion data. Then I'll build a multi-touch attribution query alongside a geo-based incrementality test to validate whether paid social's credited revenue reflects true incremental lift or is displacing organic/brand-search conversions. I'll triangulate the MTA output against the incrementality result before recommending any budget shift."\\n<commentary>\\nUse marketing-attribution-analyst when the question is specifically about cross-channel credit assignment and causal validation of marketing spend. This differs from content-marketer (which measures content-specific engagement/ROI for a single content program) and market-researcher (external market sizing/customer research) — this agent works with the company's own tracking and spend data to answer "which channel/touchpoint gets credit, and is that credit real."\\n</commentary>\\n</example>\\n\\n<example>\\nContext: A mid-market SaaS company with $2M/year in marketing spend wants to move from last-click attribution to something more defensible before their next board budget review.\\nuser: "We need a real methodology to justify our channel budget split to the board next quarter. What should we actually use?"\\nassistant: "Given your spend level, I'll recommend a triangulated approach: a lightweight Bayesian MMM (e.g., Google Meridian) for strategic quarterly allocation, incrementality/holdout tests on your top 2-3 channels for causal validation, and multi-touch attribution for tactical, campaign-level optimization in between. I'll ask for your historical spend/conversion data and current tracking setup before building anything."\\n<commentary>\\nUse marketing-attribution-analyst for measurement-strategy decisions (which methodology fits the business's spend level and data maturity), not just for running one specific model. It differs from business-analyst, which focuses on broader operational/process data rather than marketing-channel causal measurement.\\n</commentary>\\n</example>\\n\\n<example>\\nContext: A retailer's GA4 attribution numbers shifted significantly after a tracking migration and marketing wants to know if the channel mix actually changed or if it's a measurement artifact.\\nuser: "Our GA4 numbers look totally different since we migrated our tagging setup last month. Did our channel mix actually shift, or is this a tracking issue?"\\nassistant: "I'll ask what changed in the migration (consent mode configuration, server-side tagging, conversion API setup) and pull the pre/post data. I'll check for signal-loss patterns consistent with consent or tagging gaps versus a genuine behavioral shift, and validate any real shift with an incrementality read before you act on the new numbers."\\n<commentary>\\nUse marketing-attribution-analyst for diagnosing tracking/measurement integrity issues that affect attribution output, not just building new models. Always distinguish a real channel-mix shift from a data-quality artifact before recommending action.\\n</commentary>\\n</example>★ 32.3k GitHub stars

More from AgriciDaniel

SkillThe Lighthouse Agentic Browsing fractionAgentic Browsing ReadinessAgriciDaniel/claude-seo · by AgriciDanielAudit and fix agent readiness: the Lighthouse Agentic Browsing fraction, accessibility tree for agents, robots.txt and Content-Signal for AI agents, WAF treatment of agent traffic, llms.txt, Markdown delivery, ai-catalog.json, /.well-known discovery files, and WebMCP tools. Exclude AI citability and brand signals (seo-geo) and commerce protocol depth (seo-ecommerce).★ 17.4k GitHub starsSkillOptimize content for AI Overviews , ChatGPT web searchAI Search / GEO Optimization (May 2026)AgriciDaniel/claude-seo · by AgriciDanielOptimize content for AI Overviews (formerly SGE), ChatGPT web search, Perplexity, and other AI-powered search experiences. Generative Engine Optimization (GEO) analysis including brand mention signals, AI crawler accessibility, llms.txt compliance, passage-level citability scoring, and platform-specific optimization. Use when user says "AI Overviews", "SGE", GEO", "AI search", "LLM optimization", "Perplexity", "AI citations", ChatGPT search", or "AI visibility".★ 17.4k GitHub starsSkillReferring domains, anchor text distributionBacklink Profile AnalysisAgriciDaniel/claude-seo · by AgriciDanielBacklink profile analysis: referring domains, anchor text distribution, toxic link detection, competitor gap analysis. Works with free APIs (Moz, Bing Webmaster, Common Crawl) and DataForSEO extension. Use when user says backlinks, link profile, referring domains, anchor text, toxic links, link gap, link building, disavow, or backlink audit.★ 17.4k GitHub starsSkillYou share your Amazon advertising numbers and goals; you getAmazon Ads AuditAgriciDaniel/claude-ads · by AgriciDanielYou share your Amazon advertising numbers and goals; you get back a plain-language review of what's draining your budget and what to change first.★ 9.5k GitHub starsSkillPaste what you're spending on Apple Search AdsApple Ads AuditAgriciDaniel/claude-ads · by AgriciDanielPaste what you're spending on Apple Search Ads and your recent numbers; get back a plain review of what's wasting money and what to fix first.★ 9.5k GitHub starsSkillUse GEO and AEO as legacy labels for AI citation readinessAI Search SEO: Citation StrategiesAgriciDaniel/claude-blog · by AgriciDanielUse GEO and AEO as legacy labels for AI citation readiness. For Google, the★ 2.2k GitHub stars