Communitygithub.com

Attribution (Attribution Marketing)

Aide à choisir ou interpréter un modèle d'attribution marketing, à réconcilier des chiffres contradictoires entre outils, et à instrumenter sa propre attribution pour comprendre quels canaux génèrent réellement des conversions et du chiffre d'affaires.

Qu'est-ce que Attribution (Attribution Marketing) ?

Ce skill est conçu pour répondre à la question la plus complexe du marketing : quels efforts marketing génèrent réellement des conversions et des revenus ? Il couvre l'interprétation des modèles d'attribution (first-touch, last-touch, linéaire, etc.), la réconciliation des données contradictoires entre plateformes (Google Ads, Meta, GA4, CRM), et la mise en place d'une attribution propriétaire (first-party) lorsque l'utilisateur contrôle son site ou son application. Le skill distingue clairement deux piliers : l'interprétation (choisir un modèle, mesurer l'impact, réconcilier les chiffres) et la construction technique (instrumenter l'attribution avec son propre code, y compris pour des conversions sur des domaines tiers comme Stripe ou Calendly). Il aborde également les angles morts classiques (trafic direct, recherche de marque, dark social, trafic IA) et propose des méthodes pratiques comme l'attribution auto-déclarée (enquêtes post-conversion) ou les tests d'incrémentialité. Le skill est limité à l'attribution et ne couvre pas le tracking général, les pixels publicitaires, le CRM ni le SEO IA.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/coreyhaines31/marketingskills/tree/main/skills/attribution

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait Attribution (Attribution Marketing) ?

Vous aidez les utilisateurs à répondre à la question la plus difficile du marketing : lequel de mes efforts a réellement provoqué cette conversion et ce revenu ? L'attribution est l'endroit où les marketeurs perdent le plus d'argent — au profit de canaux qui semblent performants dans un tableau de bord et catastrophiques dans un autre, au profit du « direct » et de la « recherche de marque » qui cachent la véritable source, et de modèles qui encodent silencieusement une opinion comme s'il s'agissait d'un fait.

Cette compétence repose sur deux piliers. Identifiez celui dont l'utilisateur a besoin avant de vous lancer :

  • (A) Interprétation — choisir un modèle d'attribution, sélectionner une approche de mesure et réconcilier les chiffres contradictoires que vos outils rapportent. Cela s'applique à tout le monde, même sans ingénierie.
  • (B) Devenez propriétaire de votre attribution (first-party) — instrumenter et coudre l'attribution vous-même lorsque vous contrôlez le site/l'application. C'est la piste de construction. Utilisez-la lorsque l'utilisateur dit « Je veux suivre cela moi-même » ou rencontre une conversion sur un domaine qu'il ne possède pas.

La plupart des demandes commencent par (A). Passez à (B) uniquement lorsqu'ils contrôlent la surface et souhaitent construire.

Contexte produit : vérifiez la présence de .agents/product-marketing.md et lisez-la si elle existe — le type d'entreprise, le cycle de vente et la conversion principale influencent presque toutes les recommandations ici.

Limites — ce que cette compétence NE couvre PAS

Énoncez-les clairement dès le départ pour ne pas reconstruire les compétences voisines :

  • Suivi général des événements, plans de suivi, configuration UTM, GA4/GTM → analytics. L'attribution suppose que le suivi existe. La ligne : analytics = « quels événements et comment les déclencher » ; attribution = « comment les touches se joignent aux conversions et survivent jusqu'au revenu ».
  • Pixels des plateformes publicitaires, CAPI, suivi de conversion côté serveur → ads (references/conversion-tracking.md). L'attribution consomme les chiffres rapportés par les plateformes et corrige leurs biais ; elle ne configure pas les pixels.
  • Étapes du pipeline, cycle de vie des leads, tableaux de bord de revenu CRM → revops. L'attribution alimente les données du pipeline ; elle ne définit pas les étapes.
  • Apparition / mesure dans la recherche IA → ai-seo. L'attribution nomme le trafic IA comme un angle mort uniquement.

Pilier A — Interprétation

1. Ce que l'attribution peut et ne peut pas vous dire

Fixez les attentes avant de toucher à un chiffre :

  • L'attribution est directionnelle, pas une vérité. C'est un modèle de causalité construit à partir de données incomplètes (les cookies expirent, les sessions se fragmentent, les touches hors ligne disparaissent, les gens recherchent sur un appareil et achètent sur un autre). Traitez-la comme un indice fort, jamais comme un verdict.
  • Chaque modèle est une opinion. « First-touch » dit que la première pub obtient tout le crédit ; « last-touch » dit que le clic de clôture le fait. Les deux ont tort, dans des directions opposées. Choisir un modèle, c'est choisir quelle histoire croire — dites-le à voix haute.
  • L'écart d'attribution est normal. La somme des conversions rapportées par les canaux dépasse presque toujours les conversions réelles, car chaque plateforme revendique le crédit de la même vente. Votre travail consiste à réduire et expliquer l'écart, pas à faire correspondre parfaitement les chiffres. Ils ne correspondront pas.

Lorsqu'un utilisateur exige un seul chiffre vrai, reformulez : « Nous pouvons vous obtenir un chiffre défendable, cohérent et une lecture des canaux qui montent. Une seule vérité objective n'existe pas — voici pourquoi, et voici ce que nous utilisons pour prendre des décisions quand même. »

2. Modèles d'attribution

Les six modèles standard et quand chacun ment :

ModèleRègle de créditMeilleur pourComment il ment
First-touch100 % à la première touche connueValorisation du top-of-funnel / demand-gen ; cycles courtsIgnore tout ce qui a conclu l'affaire ; sur-crédite les canaux de notoriété
Last-touch100 % à la dernière touche avant conversionRéponse directe, e-commerce rapideSur-crédite le bas du funnel + recherche de marque/direct ; ignore ce qui a créé la demande
Last non-direct100 % à la dernière touche, en sautant le « direct »Un correctif bon marché pour la pollution directeToujours monotouche ; déplace juste l'angle mort
LinéaireCrédit égal à chaque toucheParcours longs multi-touches où chaque étape compteTraite une visite anodine comme une démo ; flatte les canaux à haute fréquence
Time-decayPlus de crédit aux touches proches de la conversionCycles plus longs où la récence compteSous-crédite le haut du funnel ; reste une hypothèse, pas une mesure
Position-based (U-shaped)40 % première, 40 % dernière, 20 % milieuB2B avec moments « créé » + « conclu » clairsLa répartition 40/40/20 est arbitraire ; les touches du milieu sont lésées
Data-driven (algorithmique/Shapley)Crédit de la contribution marginale modéliséeComptes à fort volume avec suffisamment de conversionsUne boîte noire ; a besoin de volume ; ne peut pas voir les touches hors ligne/obscures qui ne lui ont jamais été fournies

Règles empiriques :

  • Ne rapportez jamais un modèle unique isolément pour un cycle de vente long. Montrez first-touch et last-touch côte à côte — la vérité se trouve entre les deux, et l'écart entre eux est la perspicacité.
  • L'attribution data-driven a besoin de volume (Google Ads l'a historiquement limitée à environ 3 000 interactions publicitaires et 300 conversions en 30 jours ; il a depuis assoupli les minimums et fait de DDA la valeur par défaut, mais un faible volume en fait encore du bruit déguisé en science). Utilisez plutôt position-based lorsque vous êtes limité.
  • Le modèle importe beaucoup moins que d'être cohérent et de l'associer à une vérification de vraisemblance hors modèle (Pilier A §4, auto-déclaré).

Pour les calculs de modèle, des exemples pratiques d'un parcours noté de six manières, et Shapley expliqué simplement, voir references/attribution-models.md.

3. Les trois paradigmes de mesure

Les modèles répartissent le crédit au sein de vos données suivies. Les paradigmes sont la façon d'obtenir la causalité — de plus en plus rigoureux, de plus en plus coûteux :

ParadigmeQu'est-ce que c'estRépond àNécessiteAttention
MTA (multi-touch attribution)Coudre les touches au niveau utilisateur, appliquer un modèle« Quels points de contact apparaissent sur les parcours de conversion ? »Suivi propre au niveau utilisateur multi-appareilsLa perte de cookies + la vie privée ont anéanti les données au niveau utilisateur ; cela sous-mesure silencieusement
MMM (media/marketing mix modeling)Régression descendante des dépenses par rapport aux résultats dans le temps« Quelle est la contribution agrégée de chaque canal, y compris hors ligne/marque ? »2–3 ans de données hebdomadaires, variation des dépensesCorrélationnel ; lent à réagir ; a besoin de vraies fluctuations budgétaires pour apprendre
Incrémentalité (géographique, PSA, ghost ads, on/off)Expérience contrôlée : exposé vs. retenu« Ce canal a-t-il causé une augmentation que je n'aurais pas obtenue autrement ? »Capacité à retenir ; volume suffisant pour la significativitéL'étalon-or, mais vous ne pouvez tester que quelques choses à la fois

Comment choisir : petit budget / cycle court → bons UTM + last-non-direct + une enquête auto-déclarée bat un modèle sophistiqué. Budget moyen, plusieurs canaux → MTA pour le quotidien + tests d'incrémentalité périodiques sur vos plus gros postes de dépenses. Gros budget, dépenses hors ligne + marque → MMM pour le portefeuille + incrémentalité pour valider les coefficients de MMM. L'incrémentalité est l'arbitre ultime lorsque deux canaux revendiquent tous deux les mêmes conversions.

Tableau de décision par budget × cycle de vente × nombre de canaux, et comment lire un test géographique / PSA (pas un tutoriel de statistiques), dans references/measurement-paradigms.md.

4. Attribution auto-déclarée

Le signal le plus sous-utilisé, et souvent le plus honnête pour les cycles longs et le social obscur. Une enquête post-conversion « Comment avez-vous entendu parler de nous ? » capture ce que le suivi ne peut structurellement pas : podcasts, bouche-à-oreille, communautés Slack, tweet d'un fondateur, « un ami m'a dit. »

  • Quand elle bat le suivi : cycles de réflexion longs, fort bouche-à-oreille, marque/communauté, ou social obscur intense (voir §5). Si une grande partie de vos parcours sont « directs », vous avez un trou en forme d'auto-déclaration.
  • Demandez au moment de la conversion (inscription, premier achat, demande de démo) — meilleur souvenir, avant que la mémoire ne s'estompe.
  • Formulation : ouverte (« Comment avez-vous entendu parler de nous pour la première fois ? ») capture le social obscur ; une courte liste à choix est plus facile à quantifier mais pré-biaise la réponse. Meilleure pratique : liste à choix de vos canaux connus plus un champ libre « autre/dites-nous en plus. »
  • Traitez-la comme une entrée de triangulation, pas comme un évangile — le souvenir est flou et les gens créditent la touche mémorable, pas la première. C'est la vérification hors modèle qui maintient l'honnêteté de vos modèles suivis.
  • Côté construction, il s'agit d'un champ de formulaire écrit dans votre CRM/analytics en tant que propriété de personne — voir Pilier B et references/first-party-tracking.md.

5. Réconciliation des sources contradictoires

La demande derrière la plupart des travaux d'attribution : « Google dit 50, Meta dit 40, GA dit 60, mon CRM dit 35 — qui a raison ? » Personne. Voici le cadre.

Pourquoi chaque source ment systématiquement :

SourceBiaisée versParce que
Plateformes publicitaires (Google/Meta/LinkedIn)Sur-compte elle-mêmeRevendique les conversions vues + clics dans sa propre fenêtre ; chaque plateforme compte la même vente ; motivée pour paraître bonne
GA / web analyticsDernier clic non directPerd le multi-appareils, perd les utilisateurs bloquant les cookies, jette l'inconnu dans le direct
CRMCe que le représentant a tapé / ce que le formulaire a capturéSaisie humaine, écrasement de la source du lead, offres hors ligne sans trace numérique
Enquête auto-déclaréeLa touche mémorableBiais de souvenir ; sous-compte les touches ennuyeuses mais réelles comme le reciblage

Comment trianguler :

  1. Choisissez une source de vérité pour le nombre de conversions — généralement votre CRM ou backend (le système où l'argent est réel). Tout le reste explique d'où ils venaient, ils ne redéfinissent pas combien.
  2. Ne faites jamais la somme entre les plateformes. Si Google et Meta revendiquent tous deux une conversion, vous avez une conversion avec deux demandeurs, pas deux conversions. Dédupliquez par rapport au total de la source de vérité.
  3. Lisez l'accord directionnel, pas la correspondance absolue. Si chaque source dit que la recherche payée est en hausse et l'organique en baisse ce trimestre, cette tendance est fiable même si aucun nombre ne correspond.
  4. Utilisez l'auto-déclaré comme arbitre lorsque les plateformes se disputent les mêmes conversions, et l'incrémentalité lorsque les enjeux justifient un test.
  5. Attendez-vous et budgétisez l'écart. Rapportez « les plateformes revendiquent N ; nous pouvons vérifier M ; l'écart est une sur-réclamation + vue + non suivi — voici notre meilleure allocation. »

Le résultat est une allocation honnête avec des niveaux de confiance, pas une fausse réconciliation au centime près.

6. Les angles morts

Où les conversions se cachent, rendant les vrais canaux faibles :

  • Direct — le tiroir à bazar. Signets et URL tapées, oui, mais aussi référents dépouillés, application vers web, social obscur, et toute touche que votre suivi a laissée tomber. Une part directe importante est un problème de mesure, pas un canal.
  • Recherche de marque — des personnes qui vous ont découvert ailleurs et ont tapé votre nom dans Google. Last-touch donne le crédit à la recherche de marque payante/organique ; le vrai moteur était ce qui les a poussés à chercher. Séparez la recherche de marque de la non-marque ou vous allez sous-financer le haut du funnel.
  • Dark social — partage qui ne porte aucun référent : DM, Slack/Discord, podcasts, newsletters, captures d'écran. Structurellement invisible pour le suivi ; l'auto-déclaré est le seul moyen de le voir (§4).
  • Trafic IA — les assistants et la recherche IA influencent de plus en plus les acheteurs, puis les envoient via la recherche de marque ou le direct, de sorte que la touche IA est invisible dans les analytics. Nommez-le et confiez le travail approfondi à ai-seo.

Le fil conducteur : quand le « direct » et la « recherche de marque » dominent, votre haut du funnel fonctionne et votre attribution le cache. Dites-le explicitement — c'est l'erreur de lecture la plus courante en marketing.

7. Embranchement par type d'entreprise

Les valeurs par défaut diffèrent fortement. Résumé ici ; playbooks complets dans references/by-business-type.md.

  • B2B SaaS (cycle long, assisté par la vente) : les parcours s'étendent sur des semaines-mois et plusieurs personnes, donc les modèles monotouches induisent gravement en erreur. Ancrez sur le CRM comme source de vérité, utilisez first-touch + position-based côte à côte, misez fort sur l'auto-déclaré à la démo/l'inscription, et traitez l'attribution pipeline/revenu (→ revops) comme le vrai tableau de bord. Les touches hors ligne (événements, conversations de vente) rendent le MTA le plus faible et l'auto-déclaré le plus fort ici.
  • E-commerce / DTC (cycle court, libre-service) : parcours rapides, volume élevé, dépenses concentrées dans le social + la recherche payée. Ancrez sur le ROAS de la plateforme mais méfiez-vous-en (inflation iOS/CAPI), validez avec MMM une fois que les dépenses sont matérielles et incrémentalité/géographique sur vos plus gros canaux, et utilisez une enquête post-achat pour attraper ce que les pixels manquent. Last-touch est défendable pour les SKU à rotation rapide ; MMM+incrémentalité est la façon d'allouer le vrai budget.

Pilier B — Devenez propriétaire de votre attribution (first-party)

Utilisez ceci lorsque l'utilisateur contrôle le site/l'application et souhaite instrumenter lui-même l'attribution — en particulier pour une conversion qui se produit sur un domaine qu'il ne possède pas (une réservation SavvyCal/Calendly/Cal.com, une page Stripe Checkout). Ce pilier est ancré dans des constructions de production réelles ; le playbook complet avec des modèles de code se trouve dans references/first-party-tracking.md. L'essentiel :

Le graphique d'identité

L'attribution first-party repose sur une idée : joindre la navigation anonyme à la conversion finale.

  1. Un visiteur arrive anonymement ; votre outil d'analytics lui attribue un distinct_id anonyme et marque les propriétés de première touche ($initial_referrer, $initial_utm_*) sur ses événements.
  2. À la conversion (inscription, réservation, achat), vous appelez identify() avec un identifiant stable (email ou UUID utilisateur). Cela fusionne l'historique anonyme en une personne connue — la première touche survit désormais jusqu'à la conversion.
  3. Chaque événement de conversion peut désormais être décomposé par canal de première touche. Tout le jeu.

Combler l'écart identify()

L'échec first-party le plus courant : rien n'appelle jamais identify(), donc les conversions ne se joignent jamais à l'historique de navigation et chaque client semble apparaître de nulle part. (Cadrage adapté de l'approche PostHog de Tessa Kriesel.) La solution est d'appeler identify à chaque conversion réelle. Auditez d'abord — de nombreuses applications SaaS identifient déjà à l'inscription ; ne reconstruisez pas ce qui fonctionne. Trouvez les conversions spécifiques non instrumentées et ne fermez que celles-ci.

Coudre les conversions sur un domaine tiers

Le seul cas qui nécessite une vraie machinerie : une conversion sur un domaine que vous ne possédez pas (par exemple, un paiement Stripe, une réservation Calendly, un site partenaire). Le problème : votre code ne peut pas appeler identify() sur ce domaine. La solution est un cookie first-party avec redirection post-conversion : vous définissez un cookie sur votre domaine avant le départ, la plateforme tierce redirige vers votre {yourdomain}/conversion-success?session_id=..., et vous lisez le cookie + le paramètre pour joindre le tout. Pour le patron de code complet, voir references/first-party-tracking.md.


Pour la mise en œuvre détaillée avec des exemples de code (PostHog, Segment, Snowplow, implantation personnalisée), voir references/first-party-tracking.md.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

ab-testing

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions

ads

When the user wants help with paid advertising campaigns on Google Ads, Meta (Facebook/Instagram), LinkedIn, Twitter/X, or other ad platforms. Also use when the user mentions

ai-seo

When the user wants to optimize content for AI search engines, get cited by LLMs, or appear in AI-generated answers. Also use when the user mentions

analytics

When the user wants to set up, improve, or audit analytics tracking and measurement. Also use when the user mentions

aso

When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions

churn-prevention

When the user wants to reduce churn, build cancellation flows, set up save offers, recover failed payments, or implement retention strategies. Also use when the user mentions

cold-email

Write B2B cold emails and follow-up sequences that get replies. Use when the user wants to write cold outreach emails, prospecting emails, cold email campaigns, sales development emails, or SDR emails. Also use when the user mentions

co-marketing

When the user wants to find co-marketing partners, plan joint campaigns, or brainstorm partnership opportunities. Use when the user says

community-marketing

Build and leverage online communities to drive product growth and brand loyalty. Use when the user wants to create a community strategy, grow a Discord or Slack community, manage a forum or subreddit, build brand advocates, increase word-of-mouth, drive community-led growth, engage users post-signup, or turn customers into evangelists. Trigger phrases: \

competitor-profiling

When the user wants to research, profile, or analyze competitors from their URLs. Also use when the user mentions

competitors

When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions

content-strategy

When the user wants to plan a content strategy, decide what content to create, or figure out what topics to cover. Also use when the user mentions

copy-editing

When the user wants to edit, review, or improve existing marketing copy, or refresh outdated content. Also use when the user mentions

copywriting

When the user wants to write, rewrite, or improve marketing copy for any page — including homepage, landing pages, pricing pages, feature pages, about pages, or product pages. Also use when the user says

coreyhaines31/ab-test-setup

When the user wants to plan, design, or implement an A/B test or experiment, or build a growth experimentation program. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "should I test this," "which version is better," "test two versions," "statistical significance," "how long should I run this test," "growth experiments," "experiment velocity," "experiment backlog," "ICE score," "experimentation program," or "experiment playbook." Use this whenever someone is comparing two approaches and wants to measure which performs better, or when they want to build a systematic experimentation practice. For tracking implementation, see analytics-tracking. For page-level conversion optimization, see page-cro.

coreyhaines31/analytics-tracking

When 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," "attribution," "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 A/B test measurement, see ab-test-setup.

coreyhaines31/aso-audit

When the user wants to audit or optimize an App Store or Google Play listing. Also use when the user mentions 'ASO audit,' 'app store optimization,' 'optimize my app listing,' 'improve app visibility,' 'app store ranking,' 'audit my listing,' 'why aren't people downloading my app,' 'improve my app conversion,' 'keyword optimization for app,' or 'compare my app to competitors.' Use when the user shares an App Store or Google Play URL and wants to improve it.

coreyhaines31/competitor-alternatives

When the user wants to create competitor comparison or alternative pages for SEO and sales enablement. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'how do we compare to X,' 'battle card,' or 'competitor teardown.' Use this for any content that positions your product against competitors. Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For sales-specific competitor docs, see sales-enablement.

coreyhaines31/email-sequence

When the user wants to create or optimize an email sequence, drip campaign, automated email flow, or lifecycle email program. Also use when the user mentions "email sequence," "drip campaign," "nurture sequence," "onboarding emails," "welcome sequence," "re-engagement emails," "email automation," "lifecycle emails," "trigger-based emails," "email funnel," "email workflow," "what emails should I send," "welcome series," or "email cadence." Use this for any multi-email automated flow. For cold outreach emails, see cold-email. For in-app onboarding, see onboarding-cro.

coreyhaines31/form-cro

When the user wants to optimize any form that is NOT signup/registration — including lead capture forms, contact forms, demo request forms, application forms, survey forms, or checkout forms. Also use when the user mentions "form optimization," "lead form conversions," "form friction," "form fields," "form completion rate," "contact form," "nobody fills out our form," "form abandonment," "too many fields," "demo request form," or "lead form isn't converting." Use this for any non-signup form that captures information. For signup/registration forms, see signup-flow-cro. For popups containing forms, see popup-cro.

Skills associés