Communitygithub.com

Atribuição (Attribution)

Ajuda o usuário a determinar quais ações de marketing geram conversões e receita, escolher ou interpretar um modelo de atribuição ou reconciliar números conflitantes entre ferramentas.

O que é Atribuição (Attribution)?

Este skill capacita o agente a responder à pergunta mais difícil no marketing: qual canal ou esforço realmente causou uma conversão e gerou receita. Ele lida com a interpretação de modelos de atribuição (como first-touch, last-touch, data-driven), reconciliação de dados conflitantes entre plataformas (Google, Meta, GA, CRM), e implementação de atribuição própria (first-party) quando o usuário controla o site ou aplicativo. O skill é dividido em dois pilares: (A) Interpretação, que ajuda a escolher modelos, medir causalidade com MTA, MMM ou testes de incrementalidade, e lidar com pontos cegos como tráfego direto e social escuro; e (B) Construção própria, que orienta a instrumentação de rastreamento first-party, incluindo a criação de um grafo de identidade e fechamento da lacuna de identify() em conversões. É útil para profissionais de marketing, gerentes de produto e desenvolvedores que precisam de clareza sobre o que realmente está gerando resultados, suportando plataformas como Google Ads, Meta, LinkedIn, GA4 e CRMs.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Atribuição

Você ajuda os usuários a responder a pergunta mais difícil do marketing: qual dos meus esforços realmente causou essa conversão e essa receita? Atribuição é onde os profissionais de marketing mais perdem dinheiro — para canais que parecem bons em um painel e terríveis em outro, para "direto" e "pesquisa de marca" que escondem a fonte real, e para modelos que silenciosamente codificam uma opinião como se fosse um fato.

Este skill tem dois pilares. Saiba qual o usuário precisa antes de mergulhar:

  • (A) Interpretação — escolher um modelo de atribuição, selecionar uma abordagem de medição e reconciliar os números conflitantes que suas ferramentas reportam. Isso se aplica a todos, mesmo sem engenharia.
  • (B) Ter sua própria atribuição (first-party) — instrumentar e costurar a atribuição você mesmo quando controla o site/app. Esta é a trilha de construção. Use-a quando o usuário disser "quero rastrear isso sozinho" ou estiver lidando com uma conversão que ocorre em um domínio que não possuem.

A maioria dos pedidos começa com (A). Recorra a (B) apenas quando eles controlam a superfície e querem construir.

Contexto do produto: verifique se existe .agents/product-marketing.md e leia-o se presente — tipo de negócio, ciclo de vendas e conversão primária orientam quase todas as recomendações aqui.

Limites — o que este skill NÃO abrange

Declare isso desde o início para que você não reconstrua skills vizinhos:

  • Rastreamento geral de eventos, planos de rastreamento, configuração de UTM, GA4/GTM → analytics. Atribuição presume que o rastreamento existe. A linha: analytics = "quais eventos e como dispará-los"; atribuição = "como os toques se juntam às conversões e sobrevivem até a receita."
  • Pixels de plataformas de anúncios, CAPI, rastreamento de conversão no servidor → ads (references/conversion-tracking.md). Atribuição consome números relatados pelas plataformas e corrige seu viés; não configura os pixels.
  • Estágios do pipeline, ciclo de vida do lead, painéis de receita do CRM → revops. Atribuição alimenta dados do pipeline; não define estágios.
  • Aparecer em / medir pesquisa em IA → ai-seo. Atribuição nomeia o tráfego de IA como um ponto cego apenas.

Pilar A — Interpretação

1. O que a atribuição pode e não pode lhe dizer

Defina expectativas antes de tocar em qualquer número:

  • Atribuição é direcional, não verdade. É um modelo de causalidade construído a partir de dados incompletos (cookies expiram, sessões se fragmentam, toques offline desaparecem, pessoas pesquisam em um dispositivo e compram em outro). Trate como uma forte dica, nunca um veredito.
  • Cada modelo é uma opinião. "First-touch" diz que o primeiro anúncio recebe todo o crédito; "last-touch" diz que o clique de fechamento recebe. Ambos estão errados em direções opostas. Escolher um modelo é escolher a história de quem acreditar — diga isso em voz alta.
  • A lacuna de atribuição é normal. A soma das conversões relatadas por canal quase sempre excede as conversões reais, porque cada plataforma reivindica crédito pela mesma venda. Seu trabalho é reduzir e explicar a lacuna, não fazer os números coincidirem perfeitamente. Eles não vão.

Quando um usuário exigir um número verdadeiro único, reformule: "Podemos obter um número defensável e consistente e uma leitura sobre quais canais estão em tendência de alta. Uma única verdade objetiva não existe — aqui está o porquê, e aqui está o que usamos para tomar decisões de qualquer maneira."

2. Modelos de atribuição

Os seis modelos padrão e quando cada um mente:

ModeloRegra de créditoMelhor paraComo mente
First-touch100% para o primeiro toque conhecidoAvaliação de topo de funil / geração de demanda; ciclos curtosIgnora tudo que fechou o negócio; superestima canais de conscientização
Last-touch100% para o último toque antes da conversãoResposta direta, e-commerce rápidoSuperestima o fundo de funil + pesquisa de marca/direto; ignora o que criou demanda
Last non-direct100% para o último toque, pulando "direto"Uma correção barata para poluição diretaAinda é um único toque; apenas move o ponto cego
LinearCrédito igual a cada toqueJornadas longas e multicanal onde cada etapa importaTrata uma visita descartável como uma demonstração; favorece canais de alta frequência
Time-decayMais crédito para toques próximos à conversãoCiclos mais longos onde a atualidade importaSubestima o topo de funil; ainda é uma suposição, não uma medição
Position-based (em U)40% primeiro, 40% último, 20% meioB2B com momentos claros de "criação" + "fechamento"A divisão 40/40/20 é arbitrária; toques intermediários são prejudicados
Data-driven (algorítmico/Shapley)Crédito da contribuição marginal modeladaContas de alto volume com conversões suficientesUma caixa preta; precisa de volume; não pode ver toques offline/escuros que nunca foram alimentados

Regras práticas:

  • Nunca relate um modelo único isoladamente para um ciclo de vendas longo. Mostre first-touch e last-touch lado a lado — a verdade vive entre eles, e a lacuna entre eles é o insight.
  • Atribuição data-driven precisa de volume (Google Ads historicamente a exigia atrás de ~3.000 interações de anúncios e ~300 conversões em 30 dias; desde então relaxou os mínimos e tornou o DDA o padrão, mas baixo volume ainda é ruído disfarçado de ciência). Use position-based quando você estiver com poucos dados.
  • O modelo importa muito menos do que ser consistente e combiná-lo com uma verificação de sanidade fora do modelo (Pilar A §4, autorrelatado).

Para a matemática do modelo, exemplos trabalhados de uma jornada pontuada de seis maneiras e Shapley explicado de forma simples, veja references/attribution-models.md.

3. Os três paradigmas de medição

Modelos dividem o crédito dentro de seus dados rastreados. Paradigmas são como você chega à causalidade — cada vez mais rigorosos, cada vez mais caros:

ParadigmaO que éRespondePrecisaCuidado
MTA (atribuição multicanal)Costurar toques em nível de usuário, aplicar um modelo"Quais pontos de contato aparecem em jornadas de conversão?"Rastreamento limpo em nível de usuário entre dispositivosPerda de cookies + privacidade destruíram dados em nível de usuário; mede silenciosamente menos
MMM (modelagem de mix de mídia)Regressão top-down de gastos vs. resultados ao longo do tempo"Qual é a contribuição agregada de cada canal, incluindo offline/marca?"2–3 anos de dados semanais, variação de gastosCorrelacional; lento para reagir; precisa de mudanças reais no orçamento para aprender
Incrementalidade (geo holdout, PSA, anúncios fantasma, liga/desliga)Experimento controlado: exposto vs. retido"Este canal causou um aumento que eu não teria obtido de qualquer maneira?"Capacidade de reter; volume suficiente para significânciaO padrão ouro, mas você só pode testar algumas coisas de cada vez

Como escolher: orçamento pequeno / ciclo curto → bom UTM + last-non-direct + uma pesquisa autorrelatada vence um modelo sofisticado. Orçamento médio, vários canais → MTA para o dia a dia + testes periódicos de incrementalidade em seus maiores itens de linha. Orçamento grande, gastos offline + marca → MMM para o portfólio + incrementalidade para validar os coeficientes do MMM. Incrementalidade é o desempate sempre que dois canais reivindicam as mesmas conversões.

Tabela de decisão por orçamento × ciclo de vendas × número de canais, e como ler um teste geo-holdout / PSA (não um tutorial de estatística), em references/measurement-paradigms.md.

4. Atribuição autorrelatada

O sinal mais subutilizado e frequentemente o mais honesto para ciclos longos e mídia social escura. Uma pesquisa pós-conversão "Como você ouviu falar de nós?" captura o que o rastreamento estruturalmente não consegue: podcasts, boca a boca, comunidades do Slack, um tweet do fundador, "um amigo me contou."

  • Quando supera o rastreamento: ciclos de consideração longos, alto boca a boca, liderado por marca/comunidade, ou muito social escuro (veja §5). Se uma grande parte de suas jornadas é "direto", você tem um buraco em forma de autorrelatado.
  • Pergunte no momento da conversão (inscrição, primeira compra, solicitação de demonstração) — maior recordação, antes que a memória se apague.
  • Redação: aberta ("Como você ouviu falar de nós pela primeira vez?") captura social escuro; uma lista de opções curta é mais fácil de quantificar, mas pré-vicia a resposta. Melhor prática: lista de opções de seus canais conhecidos mais um campo de texto livre "outro/conte-nos mais."
  • Trate como uma entrada de triangulação, não como verdade absoluta — a recordação é imprecisa e as pessoas creditam o toque memorável, não o primeiro. É a verificação fora do modelo que mantém seus modelos rastreados honestos.
  • No lado da construção, este é um campo de formulário escrito em seu CRM/analytics como uma propriedade de pessoa — veja Pilar B e references/first-party-tracking.md.

5. Reconciliando fontes conflitantes

O pedido por trás da maioria dos trabalhos de atribuição: "Google diz 50, Meta diz 40, GA diz 60, meu CRM diz 35 — quem está certo?" Ninguém está. Aqui está a estrutura.

Por que cada fonte mente sistematicamente:

FonteTendenciosa paraPorque
Plataformas de anúncios (Google/Meta/LinkedIn)Superestima a si mesmaReivindica conversões de view-through + clique em sua própria janela; cada plataforma conta a mesma venda; motivada a parecer boa
GA / web analyticsÚltimo clique não diretoPerde entre dispositivos, perde usuários com bloqueio de cookies, joga o desconhecido no direto
CRMO que o representante digitou / o formulário capturouEntrada humana, substituições de lead source, negócios offline sem rastro digital
Pesquisa autorrelatadaO toque memorávelViés de recordação; subestima toques chatos, mas reais, como retargeting

Como triangular:

  1. Escolha uma fonte de verdade para a contagem de conversões — geralmente seu CRM ou backend (o sistema onde o dinheiro é real). Todo o resto explica de onde vieram, eles não podem redefinir quantos.
  2. Nunca some entre plataformas. Se o Google e o Meta reivindicam uma conversão, você tem uma conversão com dois reivindicantes, não duas conversões. Desduplique contra o total da fonte de verdade.
  3. Leia concordância direcional, não correspondência absoluta. Se toda fonte diz que a pesquisa paga está subindo e o orgânico está caindo neste trimestre, essa tendência é confiável, mesmo que nenhum dois números coincidam.
  4. Use o autorrelatado como desempate quando as plataformas brigam pelas mesmas conversões, e incrementalidade quando os riscos justificam um teste.
  5. Espere e faça orçamento para a lacuna. Relate "as plataformas reivindicam N; podemos verificar M; o delta é superestimação + view-through + não rastreado — aqui está nossa melhor alocação."

O resultado é uma alocação honesta com níveis de confiança, não uma reconciliação falsa até a casa decimal.

6. Os pontos cegos

Onde as conversões se escondem, fazendo os canais reais parecerem fracos:

  • Direto — a gaveta de bagunças. Favoritos e URLs digitados, sim, mas também referenciadores removidos, app-para-web, social escuro e qualquer toque que seu rastreamento perdeu. Uma grande parcela direta é um problema de medição, não um canal.
  • Pesquisa de marca — pessoas que descobriram você em outro lugar e pesquisaram seu nome. Last-touch entrega o crédito à pesquisa de marca paga/orgânica; o verdadeiro impulsionador foi o que quer que as tenha feito pesquisar. Segmente pesquisa de marca vs. não-marca ou você desfinanciará o topo de funil.
  • Social escuro — compartilhamento que não carrega referenciador: DMs, Slack/Discord, podcasts, newsletters, capturas de tela. Estruturalmente invisível ao rastreamento; autorrelatado é a única maneira de vê-lo (§4).
  • Tráfego de IA — assistentes e pesquisa em IA cada vez mais influenciam compradores, depois os enviam por pesquisa de marca ou direto, então o toque de IA é invisível na análise. Nomeie-o e passe o trabalho mais profundo para ai-seo.

A linha condutora: quando "direto" e "pesquisa de marca" dominam, seu topo de funil está funcionando e sua atribuição está escondendo isso. Diga isso explicitamente — é a leitura incorreta mais comum no marketing.

7. Bifurcação por tipo de negócio

Os padrões diferem muito. Resumo aqui; playbooks completos em references/by-business-type.md.

  • SaaS B2B (ciclo longo, assistido por vendas): as jornadas duram semanas a meses e envolvem várias pessoas, então modelos de toque único enganam severamente. Ancora no CRM como fonte de verdade, use first-touch + position-based lado a lado, confie fortemente em autorrelatado na demonstração/inscrição, e trate a atribuição de pipeline/receita (→ revops) como o placar real. Toques offline (eventos, conversas de vendas) tornam o MTA mais fraco e o autorrelatado mais forte aqui.
  • E-commerce / DTC (ciclo curto, autoatendimento): jornadas rápidas, alto volume, gastos concentrados em social pago + pesquisa. Ancora no ROAS da plataforma, mas desconfie (inflação iOS/CAPI), valide com MMM quando o gasto for material e testes de incrementalidade/geo-holdout em seus maiores canais, e use uma pesquisa pós-compra para capturar o que os pixels perdem. Last-touch é defensável para SKUs de giro rápido; MMM+incrementalidade é como você aloca o orçamento real.

Pilar B — Tenha sua própria atribuição (first-party)

Use quando o usuário controla o site/app e quer instrumentar a atribuição sozinho — especialmente para uma conversão que acontece em um domínio que eles não possuem (uma reserva no SavvyCal/Calendly/Cal.com, uma página de checkout do Stripe). Este pilar é baseado em construções de produção reais; o manual completo com padrões de código está em references/first-party-tracking.md. O essencial:

O grafo de identidade

Atribuição first-party é uma ideia: unir a navegação anônima à conversão eventual.

  1. Um visitante chega anonimamente; sua ferramenta de análise atribui um distinct_id anônimo e carimba propriedades de first-touch ($initial_referrer, $initial_utm_*) em seus eventos.
  2. Na conversão (inscrição, reserva, compra) você chama identify() com um id estável (email ou UUID do usuário). Isso mescla o histórico anônimo a uma pessoa conhecida — first-touch agora sobrevive até a conversão.
  3. Cada evento de conversão agora pode ser dividido por canal de first-touch. Esse é o jogo todo.

Fechando a lacuna do identify()

A falha mais comum do first-party: nada nunca chama identify(), então as conversões nunca se juntam ao histórico de navegação e todo cliente parece ter aparecido do nada. (Estrutura adaptada da abordagem da Tessa Kriesel no PostHog.) A correção é chamar identify em cada conversão real. Audite primeiro — muitos apps SaaS já identificam na inscrição; não reconstrua o que funciona. Encontre as conversões especificamente não instrumentadas e feche apenas essas.

Costurando conversões em um domínio de terceiros

O único caso que precisa de maquinário real: uma conversão que ocorre em um domínio que você não controla (Stripe Checkout, Calendly, um formulário Typeform). A abordagem padrão:

  • Inclua um campo oculto ou parâmetro na URL que carregue os parâmetros de rastreamento (UTM, gclid, etc.) e, de preferência, qualquer id de usuário anônimo.
  • No sistema de terceiros, use um webhook para enviar os dados de volta ao seu backend ou ferramenta de análise, ou extraia-os da URL de retorno após a conversão.
  • Combine esses dados com seu grafo de identidade no backend.

O manual completo, incluindo padrões de código para instrumentação do lado do cliente e do servidor, está em references/first-party-tracking.md.


Referências

Os seguintes arquivos fornecem detalhes mais profundos:

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.

Habilidades Relacionadas