Tracking de ecommerce no GA4 para Shopify em dropshipping: o setup que finalmente reporta a receita certa (2026)
O setup padrão do GA4 na Shopify muitas vezes conta as compras duas vezes ou perde parte delas. As verificações exatas, uma fórmula de reconciliação e as correções que importam.
Abre o relatório de compras de ecommerce do GA4 ao lado das tuas encomendas da Shopify para a mesma semana, e os dois números quase nunca vão coincidir exatamente — isso é normal. O que não é normal é um desvio de 20-40%, que é o que aparece em muitas lojas dropshipping, e a causa costuma estar no setup, não nalguma lei inevitável do tracking na web.
Dois tipos de falha fazem quase todo o estrago. O primeiro é a contagem duplicada: a ligação nativa do GA4 na Shopify dispara um evento de compra, e um segundo tracker — um snippet de gtag colado à mão há anos, ou uma app de analytics instalada por cima — dispara o mesmo evento outra vez, pelo que a receita reportada pelo GA4 fica 1,3 a 2 vezes acima do que realmente foi pago. O segundo é a subcontagem: banners de consentimento que bloqueiam o tag antes de o visitante aceitar, ad blockers, e um checkout onde o evento de compra deixa de disparar bem depois de uma alteração de tema ou de checkout extensibility. Os dois podem estar a acontecer na mesma loja ao mesmo tempo, compensando-se parcialmente, o que é a pior versão do problema: o total parece quase certo enquanto a divisão por canal por baixo é um disparate.
A seguir: porque é que a contagem duplicada é o erro mais frequente e como o detetar em cinco minutos, os quatro eventos de ecommerce que realmente vale a pena verificar em vez de toda a lista recomendada pelo GA4, uma fórmula de reconciliação com um intervalo de desvio honesto em vez de esperar que os números coincidam um dia exatamente, o que o Consent Mode muda e o que não corrige, e uma checklist de auditoria com limiares claros em vez de um vago aviso para "verificar o teu tracking".
A falha mais frequente: contar cada compra duas vezes
É a primeira coisa a descartar, porque é a mais barata de encontrar e a mais prejudicial de deixar por corrigir. Costuma acontecer de duas formas: alguém ligou em algum momento o canal de vendas nativo "Google & YouTube" da Shopify para o GA4, e um snippet gtag.js de um setup antigo continua colado no theme.liquid ou numa secção de pixel personalizada, a disparar o mesmo evento de compra uma segunda vez; ou foi instalada uma app rotulada como GA4 por cima da integração nativa porque um tutorial dizia para "adicionar o tracking do Google Analytics" sem verificar se já estava lá.
O sintoma é suficientemente específico para se detetar sem adivinhar: a receita reportada pelo GA4 fica de forma consistente 30-100% acima da receita real da Shopify no mesmo período, não só um pouco mais alta. Uma loja que realmente perde sessões por ad blockers ou recusas de consentimento subreporta; uma loja que sobrerreporta assim está a contar algo duas vezes.
- Faz uma encomenda de teste real e abre o DebugView do GA4 (ou a extensão Tag Assistant) durante o checkout — um setup saudável dispara exatamente um evento purchase; um setup duplicado dispara dois, geralmente a partir de dois measurement ID diferentes
- No admin da Shopify, verifica Loja online → Preferências para ver se há um canal Google ligado, depois procura no theme.liquid e em qualquer campo de "scripts adicionais" uma segunda chamada gtag('config', ...) com um measurement ID diferente ou duplicado
- Verifica as apps instaladas à procura de qualquer coisa rotulada como analytics ou tracking de conversão — um número surpreendente delas também dispara eventos do GA4 silenciosamente em segundo plano
- Escolhe apenas um caminho e remove o outro; manter os dois ligados "por segurança" é exatamente o setup que causa isto
Quatro eventos que vale a pena verificar, não vinte
A documentação do GA4 lista mais de uma dúzia de eventos de ecommerce recomendados, e tentar auditar todos numa loja dropshipping é a forma mais certa de abandonar a tarefa a meio. Quatro cobrem o funil que realmente importa: view_item, add_to_cart, begin_checkout e purchase. Se estes quatro dispararem corretamente e levarem os dados certos, os relatórios de receita e de funil construídos por cima são fiáveis; o resto é detalhe opcional.
A falha aqui raramente é "o evento não dispara mesmo" — costuma ser uma personalização de tema popular a remover silenciosamente os dados que o evento deveria transportar. Um botão de add-to-cart redesenhado com JavaScript personalizado em vez do formulário padrão do tema costuma disparar o clique mas nunca envia o evento de dataLayer correspondente, pelo que o add_to_cart cai silenciosamente a zero enquanto o view_item e o purchase continuam a funcionar bem. Uma loja multi-moeda por vezes fixa "USD" diretamente no snippet de tracking, o que torna o valor reportado de cada encomenda não americana tecnicamente errado, de acordo com a taxa de câmbio real desse dia.
- view_item e add_to_cart: confirma que value, currency e o array items (com um item_id que corresponda ao ID real de produto ou variante da Shopify) estão preenchidos, não só que o nome do evento aparece no DebugView
- begin_checkout: confirma que dispara uma vez por tentativa de checkout, não uma vez por cada campo do formulário — uma página de checkout tagarela pode dispará-lo em repetição e inflacionar os números do funil
- purchase: confirma que o transaction_id é o número ou ID real da encomenda na Shopify, não um placeholder gerado, para que uma encomenda de teste ou um reembolso duplicado possam realmente ser rastreados e excluídos mais tarde
- Moeda: numa loja Shopify multi-moeda, confirma que o parâmetro currency reflete a moeda real do checkout do cliente, não um valor padrão fixo
Vê os anúncios que estão a ganhar agora
Uma fórmula de reconciliação, e o desvio que é realmente normal
Depois de descartada a contagem duplicada e com os quatro eventos bem preenchidos, a pergunta seguinte é simples: a que ponto deve a receita do GA4 aproximar-se da receita real da Shopify? Próxima, mas não igual — e tratar "igual" como objetivo é a forma mais certa de perseguir um fantasma durante uma semana.
Uma fórmula utilizável: desvio % = (receita reportada pelo GA4 − receita real da Shopify) ÷ receita real da Shopify, calculada no mesmo intervalo de datas em UTC com pelo menos 7 dias completos de dados (o próprio processamento e threshold do GA4 tornam qualquer período mais curto ruidoso). Numa loja sem nenhum defeito de tracking restante, isto costuma situar-se entre -5% e -15% — o GA4 a ficar um pouco abaixo da Shopify, principalmente por ad blockers, consentimentos recusados e sessões que saltam de um dispositivo para outro de uma forma que nenhum dos dois sistemas reconcilia na perfeição. Um desvio fora deste intervalo, em qualquer direção, é um sinal para voltar a verificar os problemas de contagem duplicada ou evento em falta acima, antes de o atribuir a "ruído de atribuição normal".
- Desvio confortavelmente entre -5% e -15%: o tracking está saudável; para a auditoria e confia na tendência, não no número exato
- Desvio positivo ou só ligeiramente negativo: suspeita primeiro de contagem duplicada, em particular de uma segunda integração de analytics
- Desvio pior do que -20%: suspeita de um evento purchase em falta ou mal formado num caminho de checkout específico (um determinado método de pagamento, um determinado país, ou um template de tema específico) em vez de uma falha geral do tracking
Consent Mode e janelas de atribuição: desvio que se reduz, não se elimina
No tráfego da UE e do Reino Unido, o Google Consent Mode v2 muda o que o GA4 consegue medir quando um visitante recusa o consentimento de analytics: em vez de um evento real, o GA4 recebe um "cookieless ping" reduzido e modela estatisticamente o resto do comportamento desse visitante. Bem implementado, o Consent Mode recupera parte desse sinal perdido através de modelação, mas uma conversão modelada é uma estimativa, não uma medição — reduz o desvio, não o fecha, e esperar que coincida exatamente com os dados de um visitante com consentimento total é apontar ao objetivo errado.
As janelas de atribuição são outra fonte de desencontro que não tem nada a ver com consentimento. A atribuição por defeito do GA4 usa um modelo data-driven com até 90 dias de lookback; a própria analytics integrada da Shopify costuma creditar o último contacto numa janela mais curta. Pôr as duas lado a lado e esperar que o mesmo canal receba o mesmo crédito de receita em cada uma é comparar dois métodos de contabilidade diferentes, não detetar um bug.
- Implementa o Consent Mode v2 (básico ou avançado) se serves tráfego da UE/Reino Unido — não o implementar subestima a receita mais do que a modelação alguma vez recupera
- Não uses a receita por canal do GA4 e a da Shopify de forma intercambiável no mesmo relatório; escolhe uma como fonte de verdade para as decisões de orçamento e usa a outra só como verificação
- Conta com o desvio de atribuição por canal entre os dois sistemas a aumentar à medida que o caminho até à compra de uma campanha se alonga (mais dias, mais dispositivos entre o clique e a encomenda)
A checklist de auditoria, e os limiares que dizem quando parar
Corre isto uma vez, pela ordem, depois de qualquer alteração de tema, instalação de app, ou configuração de tracking — não só quando os números parecerem claramente errados, já que os problemas acima são silenciosos por natureza.
- 1. Faz uma encomenda de teste com o DebugView aberto; confirma que o purchase dispara exatamente uma vez, a partir de um único measurement ID
- 2. Confirma que view_item, add_to_cart e begin_checkout levam cada um value, currency e um array items preenchido — não só que o nome do evento aparece
- 3. Recolhe a receita do GA4 e a da Shopify para a mesma janela de 7 dias em UTC e calcula a fórmula de desvio acima
- 4. Se o desvio ficar entre -5% e -15%, para aqui — o setup está saudável
- 5. Se o desvio for positivo, volta a verificar uma segunda integração de analytics antes de tocar em mais alguma coisa
- 6. Se o desvio for pior do que -20%, isola-o por caminho de checkout (país, método de pagamento, dispositivo) em vez de assumir que o funil inteiro está avariado
- 7. Recolhe o desvio novamente uma semana completa depois de qualquer correção, não no dia seguinte — o processamento e threshold do GA4 tornam os números do primeiro dia pouco fiáveis mesmo num setup limpo
Um tracking limpo diz-te como um produto teve desempenho. Não diz porquê.
Corrigir tudo o que vem acima dá-te algo real: números que realmente podes usar para decidir escalar ou matar um produto, em vez de números que estavam silenciosamente a mentir numa direção ou noutra. O que isso não faz é explicar uma queda de desempenho que aparece em dados por outro lado limpos — um CPA que sobe de repente ou uma taxa de conversão que desaba pode ser a página, a oferta, ou um produto que está simplesmente a arrefecer em todo o lado ao mesmo tempo, e o GA4 por si só não distingue uma coisa da outra.
Isso é uma questão de concorrência, não de tracking. O tracking de anúncios da Trackira lê o investimento em tempo real e a atividade criativa no Meta, TikTok, Pinterest e Google Shopping, por isso, depois de os teus próprios números serem fiáveis, verificar se os concorrentes continuam a correr os anúncios do mesmo produto a um volume real é uma forma mais rápida de distinguir "a minha loja tem um problema" de "este produto simplesmente acabou" do que voltar a derivar tudo apenas a partir dos teus dados de GA4.
Porque é que o GA4 mostra uma receita diferente das minhas encomendas na Shopify?
Algum desvio é normal — tipicamente o GA4 a reportar 5-15% abaixo da receita real da Shopify, principalmente por ad blockers, consentimentos recusados e sessões multi-dispositivo que nenhum dos dois sistemas reconcilia na perfeição. Um desvio maior, especialmente se o GA4 reportar mais do que a Shopify, significa quase sempre que uma segunda integração de analytics está a disparar o evento purchase duas vezes.
Tenho a integração nativa do GA4 da Shopify ligada. Também preciso de um snippet de gtag adicionado à mão?
Não — e ter os dois é a causa mais frequente de receita inflacionada no GA4 em lojas Shopify. Escolhe apenas um caminho (a integração nativa basta para a maioria das lojas) e remove o outro em vez de manteres os dois a correr "por segurança".
Ativar o Consent Mode significa que perco os dados dos visitantes que recusam o consentimento?
Perdes a capacidade de os medir diretamente, mas o Consent Mode v2 deixa o GA4 modelar uma estimativa do comportamento deles a partir de sinais agregados em vez de não reportar nada. Isso recupera parte do desvio, não tudo — trata as conversões modeladas como uma estimativa, não como uma contagem exata.
Quanto tempo devo esperar depois de corrigir um problema de tracking antes de voltar a confiar nos números?
Cerca de uma semana completa. O próprio processamento e threshold do GA4 tornam os números de um único dia ruidosos mesmo num setup limpo, e comparar o dia logo depois de uma correção com os dias anteriores vai subestimar o quanto realmente melhorou.