Marketer pack
Claude SkillUpdated today

Marketing Attribution Analyst

Works out which channels actually drove revenue — model selection by sales cycle, reconciling conflicting platform numbers, and the blind spots that hide your top of funnel.

What it does

Given your channels, sales cycle, and the conversion counts each platform claims, this skill picks the attribution models worth reading, reconciles the conflicting numbers into one defensible readout, and names the conversions tracking structurally cannot see: dark social, podcast mentions, AI assistants that route buyers through branded search. It also designs first-party attribution for conversions that complete on a domain you do not control.

When to use

  • Ad platforms, GA4, and the CRM each report a different conversion count and you need one defensible answer
  • Deciding next quarter's budget while last-touch reporting says everything is branded search or direct
  • Instrumenting first-party attribution, including conversions that finish on a third-party checkout or booking domain

When not to use

  • Basic event tracking is not in place yet — design the tracking plan first (see analytics-tracking-planner)
  • You want a single true number; attribution produces a defensible, consistent number with known blind spots, not certainty

Install

Download the .zip, then unzip into your Claude skills folder.

mkdir -p ~/.claude/skills
unzip ~/Downloads/marketing-attribution-analyst.zip -d ~/.claude/skills/

# Restart Claude Code session.
# Skill is now available — Claude will use it when relevant.

SKILL.md

SKILL.md
---
name: marketing-attribution-analyst
description: Use when deciding which marketing channels drove conversions or revenue, reconciling conflicting numbers across ad platforms, analytics, and the CRM, or instrumenting first-party attribution. Triggers on "which channel drove this", "the platforms disagree", "attribution model", "how did they hear about us".
---

# Marketing Attribution Analyst

Attribution is a model of causality built from incomplete data. Every model encodes an opinion about who deserves credit, so choosing one means choosing whose story to believe. The deliverable is never the one true number; it is a defensible, consistent number whose blind spots are named, read as a trend over time.

## Choose models by sales cycle, not fashion

| Model | Credit | Reasonable for | Weakness |
| --- | --- | --- | --- |
| First-touch | 100% to the first known touch | Judging demand generation | Ignores what closed the deal |
| Last-touch | 100% to the final touch | Fast, self-serve e-commerce | Over-credits branded search and retargeting |
| Last non-direct | Final touch, excluding direct | Cleaning up direct pollution | Still a single-touch story |
| Linear | Even split across touches | Long journeys where each step matters | Weights incidental visits like decisive ones |
| Time-decay | More credit near conversion | Long cycles where recency matters | Starves top of funnel |
| Position-based | 40/40/20 first/last/middle | B2B with clear open and close moments | The split is arbitrary |
| Data-driven | Modeled marginal contribution | High-volume accounts | A black box that needs volume you may not have |

Two working rules. For long cycles, report first-touch and last-touch side by side: the distance between them is the insight, because it shows how much pipeline the closing channels did not create. When volume is thin, position-based beats data-driven — an algorithmic model on sparse data produces confident noise.

## Reconcile, never sum

Each platform counts conversions inside its own window with itself as the hero, so adding platform numbers together double-counts almost everything. The protocol:

1. Declare one system the source of truth for the conversion count — usually the CRM or the payment backend, because it sits closest to money.
2. De-duplicate the platform claims against it instead of summing them.
3. Read directional agreement. If Meta and GA4 both say paid social rose 30%, that direction is trustworthy even though neither absolute number is.
4. Break ties with self-reported attribution; settle high-stakes disputes with an incrementality test (geo-holdout or spend pause), the only causal instrument in the kit.
5. Report the gap out loud: "platforms claim 240; we verified 130; the delta is platform over-claiming plus touches we cannot track."

## The blind spots hiding your best channels

Direct is a junk drawer: stripped referrers, app-to-web handoffs, links pasted into Slack. Branded search usually means the buyer discovered you somewhere untrackable and typed your name later. AI assistants now behave the same way — they recommend you inside a conversation, then deliver the visit as branded search or direct. So when direct plus branded search dominate the report, the usual reading is backwards: top of funnel is working and the attribution is hiding it. Kill an "underperforming" awareness channel on that evidence and the branded search line quietly falls with it.

The counter-instrument is a post-conversion survey — "how did you hear about us?" with a free-text field — asked at the conversion moment while recall is fresh. It skews toward memorable touches rather than first touches, so treat it as triangulation input, not gospel. It is also the only instrument that sees podcasts, communities, and word of mouth at all.

## First-party attribution when the conversion leaves your domain

If checkout or booking completes on a vendor's domain, click-time state has to travel with the visitor: append the visitor's anonymous analytics id to the outbound link through the vendor's metadata passthrough, receive it back in the vendor's webhook, then fire an identity merge plus a conversion event server-side. Three guardrails. Only smuggle anonymous ids, never an email or anything containing an @. Exclude OAuth and checkout referrers from first-touch classification so the payment provider does not become a "channel". Keep the marketing site and the app on one analytics project with a cross-subdomain cookie, or the journey severs at the handoff.

## Deliver a readout, not a dashboard

The output is an attribution readout scoped to one decision: the question being decided, the declared source of truth, what each source claims in one de-duplicated table, first-touch versus last-touch side by side for long cycles, the known gaps, and a recommendation with a confidence level plus the cheapest test that would raise it. Defaults when unstated: B2B SaaS anchors on the CRM, pairs first-touch with position-based, and leans on self-reported answers at demo or signup; e-commerce anchors on the payment backend, accepts last-touch for quick SKUs, and validates platform ROAS with holdout tests once spend is material.

Example prompts

Once installed, try these prompts in Claude:

  • Meta claims 240 conversions this month, GA4 shows 90, and Stripe recorded 130 paid signups total. Reconcile these and tell me what to actually believe.
  • We are B2B SaaS with a four-month sales cycle. Which attribution models should we report, and which should we stop reporting?
  • Our checkout runs on a hosted third-party booking tool. Design first-party attribution that survives the domain handoff.
Recent changes
  • Aug 4, 2026New skill: attribution model selection by sales cycle, platform-number reconciliation, and first-party attribution across third-party checkout domains.