O que Atribuição de Receita por Palavra-chave com Múltiplos Sinais faz?
Você está executando uma análise de atribuição de receita em nível de palavra-chave usando dados de exportação em massa do GSC e exportação do GA4, ambos no BigQuery. O resultado é uma tabela Markdown ordenável de (consulta, página, intenção, cliques, sessões atribuídas, conversões atribuídas, receita atribuída, confiança) mais um resumo curto.
Quando usar
Ative esta skill sempre que o usuário quiser saber quais consultas estão gerando valor de tráfego (sessões, conversões, receita) em vez de apenas cliques. A metodologia leva a atribuição um nível mais refinado que a ferramenta MCP ga4_gsc_query_revenue padrão, pois une três sinais (página + data + dispositivo) antes de distribuir as métricas do GA4, aplica ponderação de intenção para que consultas de marca e transacionais recebam mais crédito do que informacionais, e renormaliza para que os totais correspondam exatamente ao GA4.
Se o usuário quiser apenas a participação de cliques ou uma resposta de uma linha como "quais palavras-chave meu site classifica", use ahrefs-quick-lookup ou a ferramenta ga4_gsc_query_revenue pré-construída.
Entradas necessárias
Pergunte por qualquer uma que esteja faltando. Use os valores padrão mostrados se o usuário não especificar.
| Parâmetro | Padrão | Observações |
|---|---|---|
brand_terms | obrigatório | Array em minúsculas. Correspondência de substring Tier 1. Use formas canônicas da marca (ex.: ['snippet digital', 'snippetdigital']). |
brand_tokens | [] | Array em minúsculas. Tokens de prefixo radical Tier 2. Cada token corresponde ao início de qualquer palavra, então 'modelo' captura 'modelos', 'modelagem', 'modelando'. Recomendado para marcas com várias palavras para capturar variações de ordem de palavras e radicais. |
brand_min_token_matches | 2 | Quantos tokens de brand_tokens devem aparecer em uma consulta para que ela seja de marca. 2 é o padrão certo para marcas de 2 palavras. |
brand_negative_terms | [] | Array em minúsculas. Proteção de falso positivo Tier 3. Qualquer consulta contendo um desses NUNCA é de marca. Use para marcas ambíguas de uma palavra (ex.: ['torta de maçã', 'suco de maçã'] para Apple). |
gsc_dataset | obrigatório | O conjunto de dados que contém searchdata_url_impression, ex.: searchconsole. |
ga4_dataset | obrigatório | O conjunto de dados de exportação do GA4, ex.: analytics_123456789. |
days | 28 | Dias atrás a partir de hoje menos 3 (o GSC tem uma latência de ~3 dias). |
min_clicks | 5 | Ignorar consultas com menos cliques totais no período. |
value_per_conversion | 0.0 | Valor fixo opcional do lead se o GA4 não tiver valor monetário. Defina como, ex.: 499.0 para um valor de conversão fixo. |
conversion_events | ['form_submit', 'generate_lead', 'purchase'] | Nomes de eventos do GA4 a serem contados como conversões. |
Os pesos de intenção e a regex de intenção também são configuráveis (veja o bloco DECLARE em attribution.sql). Os padrões são ajustados para sites B2B / geração de leads; pesos transacionais podem precisar ser aumentados para 2.5 para e-commerce.
Correspondência de marca: como preencher
Ao perguntar ao usuário pelos termos da marca, pergunte por ambos os tiers explicitamente:
"Qual é a sua marca? Dê-me 1) as frases exatas que as pessoas digitam para você (ex.: 'snippet digital', 'snippetdigital') e 2) as palavras únicas da sua marca para corresponder como radicais (ex.: 'snippet', 'digital')."
Para a maioria das marcas com várias palavras, o tier 2 deve conter as mesmas palavras do tier 1 divididas em tokens individuais. Exemplos:
| Marca | brand_terms (tier 1) | brand_tokens (tier 2) | min |
|---|---|---|---|
| Coca-Cola | ['coca cola', 'cocacola', 'coke'] | ['coca', 'cola'] | 2 |
| Snippet Digital | ['snippet digital', 'snippetdigital'] | ['snippet', 'digital'] | 2 |
| UK Models | ['uk models', 'ukmodels'] | ['uk', 'model'] | 2 |
| Keyword Insights | ['keyword insights', 'keywordinsights'] | ['keyword', 'insights'] | 2 |
Para marcas de uma palavra (Apple, Notion, Stripe), o tier 2 geralmente é desnecessário. Use o tier 3 para excluir falsos positivos:
| Marca | brand_terms (tier 1) | brand_negative_terms (tier 3) |
|---|---|---|
| Apple (a empresa) | ['apple'] | ['apple pie', 'apple cider', 'apple fruit'] |
| Stripe (pagamentos) | ['stripe'] | ['pin stripe', 'stripe pattern'] |
Se o usuário relatar que consultas obviamente adjacentes à marca estão sendo classificadas como informacionais (ex.: plurais ou variações de ordem de palavras não capturadas), a correção é quase sempre adicionar tokens do tier 2.
Procedimento
-
Confirme as entradas. Se brand_terms, gsc_dataset ou ga4_dataset estiverem faltando, pergunte ao usuário. Confirme explicitamente qualquer valor incomum (ex.: dias > 90, min_clicks > 25).
-
Verifique se ambos os conjuntos de dados existem. Antes de executar a consulta completa, execute duas consultas baratas via ferramenta MCP
querydo BigQuery:SELECT MAX(data_date) FROM \{gsc_dataset}.searchdata_url_impression``SELECT MAX(_TABLE_SUFFIX) FROM \{ga4_dataset}.events_*`` Se alguma delas gerar erro, mostre o erro exato ao usuário e pare. Não prossiga com a consulta principal.
-
Execute a consulta de atribuição. Use a ferramenta MCP
querydo BigQuery com o SQL emattribution.sql, após substituir<<GSC_DATASET>>e<<GA4_DATASET>>pelos nomes dos conjuntos de dados do usuário. Atualize o bloco DECLARE para refletir os brand_terms, days, min_clicks, value_per_conversion e conversion_events do usuário. Definamax_rowscomo 200 para capturar a cauda longa. -
Renderize a saída. Formate o resultado como uma tabela Markdown ordenada por receita atribuída decrescente. Colunas: consulta, página, intenção, cliques, sessões_atribuídas, conversões_atribuídas, receita_atribuída (com símbolo de moeda), candidatos_na_página, confiança. Após a tabela, escreva:
- Um resumo de 2 a 3 frases destacando o total de cliques, sessões, conversões, receita e a participação da marca.
- Os 3 principais drivers de alta confiança (uma linha cada).
- Quaisquer padrões que valham a pena destacar (ex.: todas as páginas com confiança ALTA com zero conversões, divisões de intenção que parecem incomuns, variações de marca não capturadas pela regra de substring).
-
Opcionalmente, renderize o artefato visual. Se o usuário pedir um painel, instantâneo ou captura de tela, construa um widget HTML inline usando a ferramenta MCP
show_widget. O widget deve incluir: 4 cartões de métrica (cliques, sessões, conversões, receita), um gráfico de barras horizontais das 12 principais consultas por receita atribuída codificadas por cor de intenção, um gráfico de barras empilhadas da divisão de intenção (cliques vs sessões vs receita) e uma tabela classificável e filtrável.
Armadilhas comuns e o que fazer
- Termos de marca não capturados pela regra de substring. "uk model" não contém "uk models". Sempre faça a fuzzy proactive da lista de marcas: inclua singular/plural, com e sem espaços, erros de digitação comuns, títulos de cargos internos. Se você vir consultas informacionais na página inicial superando as de marca em cliques brutos, quase sempre é uma variação de marca ausente.
- Receita zero em todos os lugares. Isso significa que o GA4 não está preenchendo
ecommerce.purchase_revenueouevent_params.value. Para sites de geração de leads, isso é normal. Ou aceite as conversões como métrica de sucesso, ou passevalue_per_conversionpara que a receita seja imputada comoconversões x valor. - Todas as classificações de confiança são BAIXAS porque tudo está na página inicial. Esta é uma descoberta legítima, não um bug. A página inicial realmente tem muitos candidatos a consultas para atribuir de forma limpa. Destaque como uma descoberta estrutural ("links internos e páginas de destino específicas do tópico dividiriam esta atribuição em partes determinísticas") em vez de tentar manipular a pontuação.
- Taxa de junção parece baixa. GSC e GA4 normalizam URLs de forma diferente (barras finais, strings de consulta, fragmentos). O SQL remove barras finais e strings de consulta em ambos os lados; se a taxa de junção ainda estiver abaixo de 50%, verifique incompatibilidades de protocolo (http vs https) ou diferenças de hostname (www vs non-www).
- Filtro orgânico do GA4 exclui muito. O SQL filtra para sessões onde qualquer evento reporta
medium=organic. Se a configuração do GA4 do usuário usar valores de origem de tráfego diferentes (ex.:Organic Searchcomo agrupamento de canal), edite a cláusula WHERE na CTEga4_sessions. - O conjunto de dados GSC está em um projeto, o GA4 em outro. As consultas entre projetos do BigQuery funcionam perfeitamente; apenas qualifique totalmente ambos os placeholders, ex.:
projeto-a.searchconsole,projeto-b.analytics_123456789. A conta de serviço MCP precisa de acesso de leitura em ambos.
Exemplo de formato de saída
## [domínio] atribuição de receita por palavra-chave, últimos 28 dias
**Período:** 2026-04-01 a 2026-04-28
**Termos de marca:** "..." | **Cliques mínimos:** 5
| Consulta | Página | Intenção | Cliques | Sessões Atrib. | Conv. Atrib. | Receita Atrib. | Confiança |
|---|---|---|---|---|---|---|---|
| ... | ... | marca | 280 | 263.4 | 19.96 | R$ 9.960 | ALTA |
Resumo: 903 cliques, 697 sessões atribuídas, 39 conversões, R$ 19.461 receita. Marca captura 86% das conversões em 57% dos cliques.
Top 3 drivers de alta confiança
1. ...
2. ...
3. ...
Padrões
- ...
- ...
Arquivos nesta skill
attribution.sql: a consulta parametrizadaSKILL.md: este arquivoexamples/synthetic_saas_demo.md: um exemplo de saída elaborado para referência