{"id":997,"date":"2026-04-02T10:37:16","date_gmt":"2026-04-02T10:37:16","guid":{"rendered":"https:\/\/cms.funnelsheet.com\/?p=997"},"modified":"2026-04-02T10:37:16","modified_gmt":"2026-04-02T10:37:16","slug":"how-to-track-campaigns-by-region-and-city-in-ga4","status":"publish","type":"post","link":"https:\/\/cms.funnelsheet.com\/?p=997","title":{"rendered":"How to Track Campaigns by Region and City in GA4"},"content":{"rendered":"<p>Rastrear campanhas por regi\u00e3o e cidade no GA4 n\u00e3o \u00e9 apenas uma curiosidade de relat\u00f3rio. \u00c9 uma necessidade pr\u00e1tica para entender onde o seu investimento de m\u00eddia gera resposta real e onde ele falha na convers\u00e3o. O GA4 traz dados geogr\u00e1ficos, mas a precis\u00e3o e a utilidade dependem de como voc\u00ea estrutura a coleta, o delivers de dados e a valida\u00e7\u00e3o entre plataformas. Quando voc\u00ea consegue alinhar a geolocaliza\u00e7\u00e3o com as dimens\u00f5es de campanha (utm_source, utm_medium, utm_campaign) e com os eventos de convers\u00e3o, passa a ter uma vis\u00e3o que realmente suporta decis\u00f5es de m\u00eddia criativas, ajuste de or\u00e7amento por regi\u00e3o e comunica\u00e7\u00e3o com a equipe de CRM. Rastrear campanhas por regi\u00e3o e cidade no GA4, de forma confi\u00e1vel, exige entender tanto as limita\u00e7\u00f5es t\u00e9cnicas quanto o caminho de implementa\u00e7\u00e3o que evita ru\u00eddos que destroem a atribui\u00e7\u00e3o entre GA4, Meta e o seu CRM. Esta pe\u00e7a aponta exatamente onde come\u00e7ar, o que checar e como validar para que os n\u00fameros fa\u00e7am sentido na pr\u00e1tica de gest\u00e3o de tr\u00e1fego pago.<\/p>\n<p>Este artigo \u00e9 escrito para quem j\u00e1 lida com GA4, GTM Web e GTM Server-Side, e precisa que os dados de localiza\u00e7\u00e3o realmente reflitam o comportamento do p\u00fablico por regi\u00e3o. A ideia \u00e9 transformar a geolocaliza\u00e7\u00e3o em uma camada de atribui\u00e7\u00e3o que voc\u00ea possa confiar ao tomar decis\u00f5es de or\u00e7amento, criativos regionais e experimentos de segmenta\u00e7\u00e3o. No fim, voc\u00ea ter\u00e1 um roteiro pr\u00e1tico: diagnosticar onde o tracking pode estar quebrando, configurar o fluxo t\u00e9cnico adequado, validar com BigQuery e entregar dashboards que mostrem campaigns por cidade com clareza suficiente para orientar ajustes imediatos. A tese \u00e9 simples: com uma arquitetura bem definida e valida\u00e7\u00e3o de dados, voc\u00ea transforma geografia em insight acion\u00e1vel para cada est\u00e1gio do funil de aquisi\u00e7\u00e3o. <\/p>\n\n\n                        <figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1161\" height=\"1200\" src=\"https:\/\/cms.funnelsheet.com\/wp-content\/uploads\/2026\/04\/2gjp_az2o_i.jpg\" alt=\"a hard drive is shown on a white surface\" class=\"wp-image-899\" srcset=\"https:\/\/cms.funnelsheet.com\/wp-content\/uploads\/2026\/04\/2gjp_az2o_i.jpg 1161w, https:\/\/cms.funnelsheet.com\/wp-content\/uploads\/2026\/04\/2gjp_az2o_i-290x300.jpg 290w, https:\/\/cms.funnelsheet.com\/wp-content\/uploads\/2026\/04\/2gjp_az2o_i-991x1024.jpg 991w, https:\/\/cms.funnelsheet.com\/wp-content\/uploads\/2026\/04\/2gjp_az2o_i-768x794.jpg 768w\" sizes=\"auto, (max-width: 1161px) 100vw, 1161px\" \/><\/figure>\n                        \n\n<h2>Entendendo a geolocaliza\u00e7\u00e3o no GA4 e seus limites<\/h2>\n<h3>Como o GA4 determina regi\u00e3o e cidade<\/h3>\n<p>O GA4 utiliza o IP p\u00fablico do usu\u00e1rio para inferir localiza\u00e7\u00e3o geogr\u00e1fica, criando as dimens\u00f5es geo.city, geo.region e geo.country. Essa infer\u00eancia acontece no processamento de cada evento de intera\u00e7\u00e3o (p\u00e1gina, clique, convers\u00e3o) e, portanto, a granularidade depende de fatores como o provedor de internet, VPNs e a qualidade do IP recebido pela plataforma. Em campanhas com muitos percursos mobile, onde o endere\u00e7o IP pode variar com mudan\u00e7as de rede, as etiquetas de cidade podem oscilar entre sess\u00f5es. N\u00e3o conte com uma \u201ccidade \u00fanica\u201d para o mesmo usu\u00e1rio durante toda a jornada; pense em consist\u00eancia por janela de relat\u00f3rio e em valida\u00e7\u00e3o cruzada com outras fontes de dados.<\/p>\n<h3>Por que as m\u00e9tricas geogr\u00e1ficas divergem entre GA4, Meta e CRM<\/h3>\n<p>Diferen\u00e7as aparecem por tratamento de fuso, tempo de processamento, janelas de atribui\u00e7\u00e3o e pol\u00edticas de consentimento. A Meta pode aplicar regras de atribui\u00e7\u00e3o diferentes e um repasse de dados com suas pr\u00f3prias heur\u00edsticas, enquanto o CRM costuma ter estados offline ou dados de convers\u00e3o que chegam com defasagem. Al\u00e9m disso, a lat\u00eancia de envio de eventos, a forma como cada plataforma lida com dados de navegador e dispositivos m\u00f3veis, e a poss\u00edvel filtragem de IP por parte de provedores criam ru\u00eddo que voc\u00ea deve reconhecer na valida\u00e7\u00e3o. Em resumo: voc\u00ea pode ver n\u00fameros que parecem pr\u00f3ximos, mas n\u00e3o id\u00eanticos, entre GA4, Meta e CRM; o objetivo \u00e9 entender onde esses descalibros ocorrem e como mitig\u00e1-los de forma controlada.<\/p>\n<blockquote><p>Geo data depende do IP p\u00fablico do usu\u00e1rio e pode variar entre sess\u00f5es; n\u00e3o trate cidade como a identidade \u00fanica do usu\u00e1rio.<\/p><\/blockquote>\n<blockquote><p>Para campanhas com m\u00faltiplas jornadas, a valida\u00e7\u00e3o com BigQuery \u00e9 essencial para consolidar uma vis\u00e3o est\u00e1vel por regi\u00e3o.<\/p><\/blockquote>\n<h2>Arquitetura pr\u00e1tica para rastrear por regi\u00e3o<\/h2>\n<h3>Dimens\u00f5es padr\u00e3o vs dimens\u00f5es personalizadas de localiza\u00e7\u00e3o<\/h3>\n<p>O GA4 j\u00e1 oferece geo.city, geo.region e geo.country como dimens\u00f5es. A pr\u00e1tica recomendada \u00e9 usar essas dimens\u00f5es dispon\u00edveis para segmentar seus relat\u00f3rios por regi\u00e3o sem tentar \u201cfor\u00e7ar\u201d dados com par\u00e2metros de localiza\u00e7\u00e3o enviados por clientes. Em alguns cen\u00e1rios, especialmente quando voc\u00ea precisa de atributos adicionais (por exemplo, codes locais, bairros, \u00e1reas administrativas espec\u00edficas), pode ser \u00fatil complementar com dimens\u00f5es personalizadas que voc\u00ea cria a partir de dados de CRM ou de fontes externas, desde que haja uma governan\u00e7a clara e consentimento adequado. Use as dimens\u00f5es geogr\u00e1ficas nativas para a base e aplique dimens\u00f5es personalizadas apenas quando houver uma justificativa de neg\u00f3cio muito clara e valida\u00e7\u00e3o de qualidade.<\/p>\n<h3>Como unir dados de campanha (UTM) com geografia para uma atribui\u00e7\u00e3o regional<\/h3>\n<p>A combina\u00e7\u00e3o de dados de campanha com geografia permite entender onde cada etoro de criativo entrega resposta. Garanta que as UTMs estejam padronizadas e que o GA4 capture o n\u00edvel de detalhe necess\u00e1rio. Em GA4, voc\u00ea pode criar relat\u00f3rios que cruzem geo.city\/geo.region com campaign (utm_campaign), source\/medium e o estado da convers\u00e3o. Lembre-se de que a granularidade de city pode variar conforme a regi\u00e3o; utilize filtros e agrega\u00e7\u00f5es que preservem a qualidade da leitura, como m\u00e9dia por cidade dentro de uma regi\u00e3o, ou top cidades por campanha, para evitar ru\u00eddos em cidades com volumes muito baixos.<\/p>\n<h2>Configura\u00e7\u00e3o t\u00e9cnica: GA4 + GTM Server-Side + BigQuery<\/h2>\n<h3>Fluxo recomendado de dados para geolocaliza\u00e7\u00e3o por campanha<\/h3>\n<p>1) Valide que a coleta de geolocaliza\u00e7\u00e3o \u00e9 baseada no IP e que n\u00e3o h\u00e1 \u201coverrides\u201d de localiza\u00e7\u00e3o vindos de c\u00f3digo frontend sem necessidade; 2) Garanta que consent mode v2 esteja ativo para respeitar LGPD e privacidade, especialmente em usu\u00e1rios que n\u00e3o consentem; 3) Confirme que o GA4 est\u00e1 recebendo eventos com par\u00e2metros de campanha padronizados (utm_source,utm_medium,utm_campaign) e que geo.city\/geo.region s\u00e3o populados a partir do processamento de IP; 4) Se usar GTM Server-Side, trate a IP anonymization adequadamente e passe apenas os dados necess\u00e1rios; 5) Habilite BigQuery export para GA4 para auditoria e valida\u00e7\u00e3o externa; 6) Monte dashboards que cruzem geografia com campanha e convers\u00e3o para avalia\u00e7\u00e3o de performance regional. Seguir esse fluxo reduz a chance de diverg\u00eancia entre GA4, Meta e CRM e facilita a valida\u00e7\u00e3o cruzada.<\/p>\n<h3>Valida\u00e7\u00e3o de dados e consentimento<\/h3>\n<p>Antes de depender de cidade para decis\u00f5es de or\u00e7amento, valide com per\u00edodos diferentes, compare com dados do CRM quando poss\u00edvel e monitore desvios entre per\u00edodos equivalentes. Consent Mode v2 introduz limita\u00e7\u00f5es que podem reduzir a coleta de dados de geo localiza\u00e7\u00e3o, especialmente para usu\u00e1rios que n\u00e3o deram consentimento. Em termos pr\u00e1ticos, tenha uma pol\u00edtica de governan\u00e7a de dados: documente quais dados s\u00e3o usados, como s\u00e3o processados e quais s\u00e3o as margens de erro aceit\u00e1veis, para evitar surpresas no fechamento de campanhas.<\/p>\n<blockquote><p>\u00c9 comum que o volume de city-level seja menor em cidades de menor densidade; planeje janelas de relat\u00f3rio que permitam agrega\u00e7\u00e3o suficiente para tomada de decis\u00e3o.<\/p><\/blockquote>\n<h2>Roteiro de implementa\u00e7\u00e3o em 6 passos<\/h2>\n<ol>\n<li>Verifique a coleta de geo dados no GA4 e confirme que geo.city, geo.region e geo.country est\u00e3o dispon\u00edveis nos seus relat\u00f3rios padr\u00e3o.<\/li>\n<li>Padronize UTMs e garanta consist\u00eancia entre campanhas para cruzar com geografia sem ru\u00eddos de atribui\u00e7\u00e3o.<\/li>\n<li>Ative a exporta\u00e7\u00e3o de dados do GA4 para BigQuery e prepare uma primeira rotina de valida\u00e7\u00e3o cruzando eventos de campanha com geo.city\/geo.region.<\/li>\n<li>Crie um data layer claro e est\u00e1vel para eventos de convers\u00e3o cr\u00edticos (lead, compra, formul\u00e1rio enviado) e inclua informa\u00e7\u00f5es m\u00ednimas de campanha (utm_*) no envio via GTM Server-Side.<\/li>\n<li>Consolide relat\u00f3rios no Looker Studio (ou equivalente) com city e campaign como dimens\u00f5es chave, usando filtros por regi\u00e3o para evitar sobrecarga de dados em cidades com baixa atividade.<\/li>\n<li>Implemente um ciclo de auditoria: verifique discrep\u00e2ncias entre GA4 e CRM, repita a cada sprint de dados e ajuste as regras de coleta quando necess\u00e1rio.<\/li>\n<\/ol>\n<h2>Casos de uso e limites pr\u00e1ticos da granularidade regional<\/h2>\n<h3>Casos de lojas f\u00edsicas e campanhas locais<\/h3>\n<p>Para marcas com lojas f\u00edsicas, a granularidade por cidade ajuda a priorizar regi\u00f5es com maior densidade de convers\u00e3o, ajustar criativos locais e adaptar ofertas. No entanto, a precis\u00e3o pode oscilar conforme o tr\u00e1fego de loja de proximidade (loja f\u00edsica) n\u00e3o necessariamente gera o mesmo footprint de convers\u00e3o online. A soma entre tr\u00e1fego online e offline exige valida\u00e7\u00e3o com o CRM, para evitar atribui\u00e7\u00e3o duplicada ou subtra\u00e7\u00e3o de convers\u00f5es que passam, por exemplo, por lojas f\u00edsicas antes de concluir a venda pelo WhatsApp ou telefone.<\/p>\n<h3>Campanhas com CRM e WhatsApp<\/h3>\n<p>Quando leads come\u00e7am no tr\u00e1fego pago e fecham via WhatsApp ou telefone, a cidade associada \u00e0 convers\u00e3o pode divergir do clique original. Nesses cen\u00e1rios, o relat\u00f3rio por city ajuda a entender onde o ciclo de decis\u00e3o \u00e9 mais longo ou onde o contato com o atendimento \u00e9 mais eficiente, mas voc\u00ea deve correlacionar com dados offline para n\u00e3o confundir a jornada entre pontos de contato. Use BigQuery para unir eventos do GA4 com registros de CRM, validando a cidade de origem do lead com a cidade associada \u00e0 convers\u00e3o final.<\/p>\n<h3>Quando vale a pena evitar city-level tracking<\/h3>\n<p>Em opera\u00e7\u00f5es com alto foco em privacidade ou com volume de dados muito baixo em determinadas cidades, a granularidade por cidade pode gerar ru\u00eddos ou ru\u00eddos de atribui\u00e7\u00e3o por falta de dados. Nesses casos, priorize geo.region ou geo.country para uma vis\u00e3o est\u00e1vel, ou consolide por clusters regionais maiores. A ideia \u00e9 evitar que decis\u00f5es sejam movidas por flutua\u00e7\u00f5es de cidade com dados escassos, mantendo a precis\u00e3o suficiente para orientar or\u00e7amento e criativos sem criar falsas certezas.<\/p>\n<h2>Erros comuns e corre\u00e7\u00f5es r\u00e1pidas<\/h2>\n<blockquote><p>Configurar geolocaliza\u00e7\u00e3o com override de localiza\u00e7\u00e3o no frontend pode gerar ru\u00eddos graves: o relat\u00f3rio passa a refletir dados do navegador, n\u00e3o da base de usu\u00e1rios real.<\/p><\/blockquote>\n<p>Erros frequentes incluem: (a) depender de par\u00e2metros de localiza\u00e7\u00e3o enviados pelo usu\u00e1rio; (b) n\u00e3o alinhar a janela de atribui\u00e7\u00e3o entre GA4, Meta e CRM; (c) ignorar consentimento e LGPD, o que reduz a captura de dados de geo e prejudica a confiabilidade dos relat\u00f3rios regionais. Corre\u00e7\u00f5es pr\u00e1ticas envolvem manter a localiza\u00e7\u00e3o como derivada do IP pelo GA4, usar BigQuery para valida\u00e7\u00e3o externa, manter consist\u00eancia de UTMs e configurar as janelas de atribui\u00e7\u00e3o para refletirem a realidade do funil de convers\u00e3o. Al\u00e9m disso, documente claramente o que est\u00e1 sendo medido: cidade, regi\u00e3o, pa\u00eds \u2014 e em que contexto a m\u00e9trica tem utilidade para a decis\u00e3o de or\u00e7amento e criativo regional.<\/p>\n<h2>Como adaptar \u00e0 realidade do seu projeto ou cliente<\/h2>\n<h3>Padroniza\u00e7\u00e3o de contas e governan\u00e7a de dados<\/h3>\n<p>Se voc\u00ea trabalha com clientes diferentes, estabele\u00e7a um padr\u00e3o de nomenclatura de campanhas, UTMs e m\u00e9tricas geogr\u00e1ficas. Criar uma matriz de governan\u00e7a que descreva quais dimens\u00f5es s\u00e3o utilizadas, onde aparecem nos dashboards e como s\u00e3o validadas reduz retrabalho e conflitos entre equipes. Adote, sempre que poss\u00edvel, uma arquitetura que permita auditoria r\u00e1pida entre GA4 e BigQuery, para demonstrar a confiabilidade dos dados aos clientes.<\/p>\n<h3>Opera\u00e7\u00e3o recorrente e entrega para cliente<\/h3>\n<p>Para equipes que entregam relat\u00f3rio mensal a clientes, inclua um checklist de valida\u00e7\u00e3o de dados geogr\u00e1ficos no fluxo de QA, com pontos como: verifica\u00e7\u00e3o de city-level para campanhas ativas, checagem de discrepancies entre GA4 e CRM, e confirma\u00e7\u00e3o de consent mode em usu\u00e1rios relevantes. Esse processo evita surpresas na apresenta\u00e7\u00e3o de resultados e facilita a gest\u00e3o de ajustes de implementa\u00e7\u00e3o entre ciclos de entrega.<\/p>\n<h2>Valida\u00e7\u00e3o cont\u00ednua e pr\u00f3ximos passos<\/h2>\n<p>Agora que voc\u00ea tem a vis\u00e3o geral de como rastrear campanhas por regi\u00e3o e cidade no GA4, \u00e9 hora de colocar o plano em pr\u00e1tica. Comece com a configura\u00e7\u00e3o b\u00e1sica de geolocaliza\u00e7\u00e3o no GA4, valide com BigQuery e estabele\u00e7a relat\u00f3rios que cruzem city\/region com as m\u00e9tricas de campanha. Use o fluxo recomendado para reduzir ru\u00eddos, implemente o ciclo de auditoria e adapte a granularidade conforme o volume de dados e os requisitos de privacidade do seu neg\u00f3cio. O pr\u00f3ximo passo concreto \u00e9 iniciar o conjunto de valida\u00e7\u00f5es no GA4 e no BigQuery hoje mesmo, documentando o que precisa, para onde voc\u00ea quer ir e como medir sucesso por cidade ou regi\u00e3o.<\/p>","protected":false},"excerpt":{"rendered":"<p>Rastrear campanhas por regi\u00e3o e cidade no GA4 n\u00e3o \u00e9 apenas uma curiosidade de relat\u00f3rio. \u00c9 uma necessidade pr\u00e1tica para entender onde o seu investimento de m\u00eddia gera resposta real e onde ele falha na convers\u00e3o. O GA4 traz dados geogr\u00e1ficos, mas a precis\u00e3o e a utilidade dependem de como voc\u00ea estrutura a coleta, o&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4],"tags":[15,130,9,13,129],"content_language":[5],"class_list":["post-997","post","type-post","status-publish","format-standard","hentry","category-blogen","tag-atribuicao","tag-campanhas","tag-crm","tag-ga4","tag-geolocalizacao","content_language-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=\/wp\/v2\/posts\/997","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=997"}],"version-history":[{"count":0,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=\/wp\/v2\/posts\/997\/revisions"}],"wp:attachment":[{"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=997"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=997"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=997"},{"taxonomy":"content_language","embeddable":true,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcontent_language&post=997"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}