Rastreamento de campanhas regionais exige separar o efeito por cidade para entender onde cada investimento entrega receita. No GA4, a cidade registrada nem sempre é confiável ou está disponível para toda a base, especialmente com tráfego mobile, proxies, redes corporativas e usuários que optaram por não compartilhar dados. Sem uma estratégia clara, você pode ver números agregados que escondem variações relevantes entre cidades, o que atrasa decisões sobre criativos, orçamento e atribuição por região. Este artigo mapeia o problema e aponta caminhos práticos dentro do GA4 sem prometer milagres.
Você vai sair daqui sabendo como diagnosticar a confiabilidade da cidade no GA4, escolher entre usar a dimensão nativa de City ou uma dimensão customizada baseada em utm_city, e, se necessário, levar a segmentação para BigQuery para reconciliações com CRM e dados offline. A tese é simples: separar por cidade requer padronização de parâmetros, configuração de coleta de dados e validação contínua para evitar desvios que pareçam pequenos, mas que destroem a atribuição ao longo do funil regional. Ao terminar, você terá um plano de ação claro para configurar ou ajustar já esta semana.
Diagnóstico: por que separar por cidade em campanhas regionais?
City no GA4: o que funciona e o que falha
A cidade no GA4 é derivada de sinais de geolocalização, principalmente IP, e pode não estar disponível para todas as sessões. Em dispositivos móveis, redes VPN e provedores com NAT, a granularidade até a cidade tende a ficar instável ou ausente. Além disso, o GA4 aplica regras de privacidade que reduzem a visão geográfica quando o consentimento do usuário não está completo. Esse conjunto faz com que os dados por cidade pareçam consistentes, mas estejam sujeitos a variações semanais, sazonalidade de tráfego regional e falhas de atribuição entre dispositivos. Recognize que, para campanhas regionais, essa limitação não é apenas técnica: é estratégica.
“Cidade forte no GA4 é aquilo que você consegue manter consistente entre dispositivos, sem depender de uma única fonte de dados.”
Limites de LGPD e Consent Mode
Consent Mode v2 e CMPs (Consent Management Platform) moldam o que chega aos seus relatórios. Quando o usuário não consente, grande parte do estímulo de geolocalização pode não ser capturada, reduzindo a cobertura por cidade. Em cenários com múltiplos touchpoints (WhatsApp, telefone, formulários) e integrações com CRMs, a cidade pode aparecer apenas parcialmente, alimentando dúvidas sobre a qualidade da atribuição por região. Não é problema isolado de configuração; é uma limitação prática do ecossistema atual de rastreamento, que exige planejamento para validar e compensar esse missing data em dashboards e reconciliações.
“Consentimento não é apenas uma caixa. É a lente pela qual você olha a geolocalização; sem ela, parte do funil fica invisível por cidade.”
Abordagens técnicas para segmentar por cidade no GA4
Usar a dimensão Cidade nativa do GA4
A dimensão City disponível nas explorações (Explorations) do GA4 facilita ver, campanha por campanha, qual cidade responde a cada impulso de mídia. O truque é combinar City com a dimensão de campanha (ou Source/Medium) para desenhar mapas de desempenho por região. Contudo, essa dimensão depende da coleta de dados geográficos confiáveis e pode apresentar vazios em sessões sem localização clara. Para tirar proveito: crie uma exploração com City como linha, Campaign como coluna ou eixo, e métricas como sessões, usuários, conversões e receita. Assim, você obtém um retrato imediato da distribuição regional sem sair da interface nativa.
Dimensão personalizada: utm_city
Se a cidade nativa não entrega o nível de detalhe necessário, a estratégia mais controlável é introduzir um parâmetro de URL dedicado, por exemplo utm_city, e torná-lo uma dimensão personalizada no GA4. O fluxo envolve três grandes pilares: padronização de UTMs, coleta de parâmetros na Data Stream e definição da dimensão personalizada com escopo de evento. A vantagem é clara: você pode mapear explicitamente a cidade para cada campanha, independentemente das limitações geográficas do tráfego. O ponto crítico é que o parâmetro precisa ser enviado com cada clique e registrado pelo GA4 com consistência, caso contrário, o matching cidade x campanha fica comprometido.
BigQuery para granularidade e reconciliação
Para auditorias profundas, o caminho de ouro costuma passar pelo BigQuery. Exportar os eventos do GA4 para BigQuery permite joins com CRM, dados offline e sistemas de atribuição mais precisos, além de permitir histograma fino por cidade, janelas de conversão, e recalibração de modelos de atribuição. Não é receita de bolo: demanda pipeline, custo de consulta e governança de dados, mas dá a visão de verdade quando as limitações de geolocalização do GA4 inviabilizam a confiança em city-level. Lembre-se: BigQuery não substitui o GA4; ele complementa com granularidade, rastreamento offline e validação cruzada.
“A granularidade vem com custo — BigQuery é onde a correção bate a realidade.”
Passo a passo prático para separar cidade por cidade no GA4
- Defina um padrão de utm_city para todas as campanhas regionais. Atribua cada cidade com um código curto e estável (ex.: BSB, RJ, SP, POA) e documente o mapeamento.
- Atualize as URLs de anúncios para incluir utm_city em cada criativo regional. Garanta que a string seja idêntica entre plataformas (Meta, Google Ads, parceiros) para evitar variações de captura.
- No GA4 Data Stream, registre o parâmetro de URL utm_city para coleta automática. Adicione utm_city à lista de parâmetros de URL aceitos na Data Stream para que o GA4 trate esse valor como uma dimensão mensurável.
- Crie uma dimensão personalizada no GA4 chamada utm_city, com escopo Evento. Use-a em conjunto com a dimensão City para validação cruzada ou para substituir dados ausentes quando a cidade nativa não estiver disponível.
- Configure um relatório de exploração que combine City, utm_city e Campaign para visualizar a performance por cidade por campanha. Salve esse conjunto como painel para revisão regular com stakeholders.
- Se a granularidade ainda não for suficiente, exporte os dados para BigQuery. Faça joins com o seu CRM/ERP para reconciliar conversões offline com city-level, e construa dashboards em Looker Studio para acompanhar a distribuição regional com atualizações programadas.
- Valide de forma contínua: conduza testes com campanhas piloto em 2–3 cidades, compare com o que aparece no GA4 e no BigQuery, ajuste nomes de cidades e tags conforme necessário e documente mudanças para evitar divergências futuras.
Erros comuns e correções práticas
- Cidade ausente em grande parte do tráfego móvel. Correção: garanta que utm_city esteja presente em todos os fluxos de URL, incluindo anúncios display e criativos de WhatsApp que redirecionam para landing pages com parâmetros.
- Parâmetro utm_city não capturado pelo tag. Correção: confirme que a tag GA4 coleta parâmetros de URL e que o parâmetro está listado na Data Stream; verifique também se há redirecionamentos que perdem o parâmetro.
- Dados por cidade apresentam amostragem elevada. Correção: evite amostragem aumentando o tamanho da amostra de relatório ou recorrendo ao BigQuery para consulta não amostrada.
- Consent Mode bloqueia geolocalização. Correção: ajuste CMP para obter consentimento granular e documente como isso afeta a cobertura regional, ajustando expectativas de stakeholders.
Quando essa abordagem faz sentido e quando não
Quando vale a pena usar city-level com utm_city
Quando você opera campanhas regionais com forte variação de desempenho entre cidades, e precisa entender exatamente onde investir criativos, lances ou orçamento. Se o seu funil passa por WhatsApp, telefone ou formulários, e o modelo de atribuição precisa considerar a cidade para não confundir fontes de tráfego, a combinação City + utm_city entrega visibilidade mais acionável do que depender apenas da cidade nativa do GA4.
Quando não vale a pena perseguir cidade com alta granularidade
Se a base de dados é pequena, ou se o Consent Mode reduz significativamente a cobertura geográfica, a cidade pode ter ruído excessivo para justificar a complexidade adicional. Nesses casos, vale começar com a cidade nativa do GA4 e, apenas se necessário, avançar para a dimensão personalizada ou BigQuery. Em cenários com compliance estrito de LGPD, priorize alinhamento com CMP, políticas internas de dados e salvaguardas de privacidade antes de investir em camadas adicionais de coleta.
Observações finais e próximo passo
Separar por cidade no GA4 não é uma garantia de dados perfeitos, mas, com uma abordagem estruturada, você reduz as suposições que alimentam decisões estratégicas ruins. A chave está em padronizar UTMs, capturar parâmetros com consistência, validar resultados entre City nativa e utm_city e, quando necessário, recorrer ao BigQuery para reconciliação com CRM e dados offline. Comece com um piloto de 2 a 3 cidades, documente cada ajuste e crie um quadro de governança que mantenha a prática estável conforme novos mercados sejam adicionados. Se quiser, posso auditar a configuração atual da sua conta GA4 e propor o plano de implementação específico para o seu stack (GA4, GTM Web, GTM Server-Side, CAPI, BigQuery). O primeiro passo concreto é validar o fluxo de UTMs na sua última campanha regional: peça para rastrear utm_city e compare o que aparece em GA4 versus o que chega no BigQuery em 7 dias de dados. Esse alinhamento evita surpresas na hora de apresentar atribuição por cidade para clientes ou parceiros.
Leave a Reply