{"id":1336,"date":"2026-04-16T00:10:38","date_gmt":"2026-04-16T00:10:38","guid":{"rendered":"https:\/\/cms.funnelsheet.com\/?p=1336"},"modified":"2026-04-16T00:10:38","modified_gmt":"2026-04-16T00:10:38","slug":"how-to-configure-ga4-for-a-business-that-sells-both-products-and-services-online","status":"publish","type":"post","link":"https:\/\/cms.funnelsheet.com\/?p=1336","title":{"rendered":"How to Configure GA4 for a Business That Sells Both Products and Services Online"},"content":{"rendered":"<p>Quando um neg\u00f3cio vende tanto produtos quanto servi\u00e7os online, configurar o GA4 para medir tudo com precis\u00e3o n\u00e3o \u00e9 perda de tempo: \u00e9 a diferen\u00e7a entre uma vis\u00e3o honesta da performance e dados que geram decis\u00f5es desalinhadas com a realidade. No erro comum, o GA4 recebe eventos sem distin\u00e7\u00e3o entre itens f\u00edsicos e servi\u00e7os, ou mesmo perde a trilha do cliente que come\u00e7a numa campanha e fecha em WhatsApp ou liga. O resultado \u00e9 atribui\u00e7\u00e3o confusa, varia\u00e7\u00e3o entre fontes de tr\u00e1fego e um CRM que n\u00e3o conversa com as m\u00e9tricas de aquisi\u00e7\u00e3o. Este guia foca justamente em como estruturar GA4 para um neg\u00f3cio misto, com uma arquitetura de dados que permite reconciliar CRM, offline e digitais, sem exigir rework constante a cada m\u00eas.<\/p>\n<p>Voc\u00ea vai descobrir um caminho pr\u00e1tico para diferenciar produtos e servi\u00e7os no n\u00edvel de eventos, alinhar a taxonomia de itens com a realidade do seu funil e deixar claro quando usar dados de cliques, de telefone e de WhatsApp na mesma linha de atribui\u00e7\u00e3o. A tese \u00e9 simples: com uma modelagem de dados bem definida, voc\u00ea obt\u00e9m consist\u00eancia entre GA4, BigQuery e seu CRM, reduz ru\u00eddos de convers\u00e3o e ganha confian\u00e7a para otimizar investimentos com base em m\u00e9tricas acion\u00e1veis. O conte\u00fado n\u00e3o \u00e9 teoria; ele entrega um blueprint t\u00e9cnico com passos concretos e decis\u00f5es claras que voc\u00ea pode aplicar hoje, mesmo que tenha um ecossistema com GTM Web, GTM Server-Side e integra\u00e7\u00e3o com plataformas como Looker Studio ou RD Station.<\/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>Diagn\u00f3stico r\u00e1pido: o que costuma falhar em GA4 quando h\u00e1 produtos e servi\u00e7os<\/h2>\n<blockquote><p>Problema comum: itens de servi\u00e7o somem no feed de compras, levando a compras apenas de produtos aparecendo como convers\u00f5es.<\/p><\/blockquote>\n<blockquote><p>Problema comum: servi\u00e7os vendidos via WhatsApp ou telefone n\u00e3o acionam eventos de compra compat\u00edveis com o GA4, deixando o CRM desconectado do funil de aquisi\u00e7\u00e3o.<\/p><\/blockquote>\n<p>Antes de entrar na solu\u00e7\u00e3o, vale mapear sinais de ruptura t\u00edpicos que j\u00e1 vi em auditorias reais:<\/p>\n<h3>Como a separa\u00e7\u00e3o (ou a falta dela) impacta a interpreta\u00e7\u00e3o de dados<\/h3>\n<p>Se a sua taxonomia de itens n\u00e3o diferencia servi\u00e7o de produto, voc\u00ea tende a agrupar receitas distintas sob uma mesma \u201cpurchase\u201d, o que atrapalha a leitura por linha de neg\u00f3cio. Em GA4, o array de items da compra deve carregar itens com fields como item_id, item_name e item_category; quando services aparecem sem uma categoria clara, \u00e9 f\u00e1cil concluir que \u201cvenda\u201d aconteceu, mas n\u00e3o \u00e9 poss\u00edvel dizer qual a participa\u00e7\u00e3o de cada tipo. Sem isso, a equipe de marketing n\u00e3o consegue priorizar campanhas que geram servi\u00e7o vs. produtos.<\/p>\n<h3>Rastreamento de servi\u00e7os comprados fora do site<\/h3>\n<p>\u00c9 comum que clientes comprem servi\u00e7os por canais diferentes do site, como WhatsApp Business API ou chamadas. Se esses caminhos n\u00e3o alimentam o GA4 com eventos equivalentes aos de produtos (view_item, add_to_cart, begin_checkout, purchase), o conjunto de dados fica truncado. O resultado \u00e9 atribui\u00e7\u00e3o enviesada e gaps entre o que aparece no CRM e o que aparece no GA4.<\/p>\n<h2>Arquitetura de dados: como modelar itens e eventos para produtos e servi\u00e7os<\/h2>\n<p>A base pr\u00e1tica \u00e9 separar a forma como voc\u00ea representa itens no GA4. Use a taxonomia para distinguir produto vs servi\u00e7o e garanta que cada item tenha campos consistentes, especialmente item_id, item_name e item_category. Al\u00e9m disso, utilize par\u00e2metros adicionais que ajudem a cruzar dados com o CRM e com offline conversions. A implementa\u00e7\u00e3o deve funcionar tanto para o site quanto para caminhos off-site (WhatsApp, telefone) que geram convers\u00f5es online.<\/p>\n<h3>Estrutura recomendada de itens e eventos<\/h3>\n<p>Considere usar o array items em eventos de compra (purchase) ou de visualiza\u00e7\u00e3o (view_item) com pelo menos: item_id, item_name, item_category (produto ou servi\u00e7o), item_brand (quando aplic\u00e1vel) e price. Se houver varia\u00e7\u00f5es (produtos com vers\u00f5es ou servi\u00e7os com pacotes), acrescente item_variant. Al\u00e9m disso, aproveite atributos como quantity para itens f\u00edsicos e um campo booleano customizado is_service para diferenciar servi\u00e7os quando o item_category n\u00e3o for suficiente. A especifica\u00e7\u00e3o GA4 de e-commerce orienta como passar esses campos na pr\u00e1tica, incluindo a estrutura do array de itens.<\/p>\n<blockquote><p>\u201cTaxonomia clara de itens com item_category e is_service facilita a an\u00e1lise por linha de produto versus servi\u00e7o sem depender de dashboards diferentes.\u201d<\/p><\/blockquote>\n<h3>Como lidar com servi\u00e7os no fluxo de compra<\/h3>\n<p>Para servi\u00e7os, o workflow pode n\u00e3o ter um carrinho tradicional. Nesse caso, foque em capturar o evento purchase com items que incluem, pelo menos, item_id, item_name e item_category = servi\u00e7o. Se houver pacotes ou assinaturas, modele esses pacotes como itens separados com price e quantity adequados. Em termos de dados, o importante \u00e9 manter a consist\u00eancia com o que voc\u00ea envia para o CRM: o t\u00edtulo do servi\u00e7o, o c\u00f3digo do servi\u00e7o e o valor correspondente ajudam na reconcilia\u00e7\u00e3o entre canais e no cross-device tracking.<\/p>\n<h3>Integra\u00e7\u00e3o com CRM e dados offline<\/h3>\n<p>Quando o cliente conclui a transa\u00e7\u00e3o por telefone ou WhatsApp, procure usar o caminho de envio de dados que alinha offline com GA4. O GA4 oferece suporte a envio de eventos por meio do Measurement Protocol, o que facilita capturar convers\u00f5es offline com a mesma estrutura de itens usadas no online. Essa pr\u00e1tica reduz a lacuna entre o clique no an\u00fancio e a conclus\u00e3o da venda, especialmente para servi\u00e7os que muitas vezes dependem de atendimento humano para fechar o neg\u00f3cio. Consulte a documenta\u00e7\u00e3o oficial para entender as limita\u00e7\u00f5es e os formatos aceitos.<\/p>\n<h2>Configura\u00e7\u00e3o pr\u00e1tica: passos detalhados para colocar a GA4 em funcionamento<\/h2>\n<ol>\n<li>Mapear fluxos de convers\u00e3o: liste todos os caminhos de compra, incluindo produtos no site, servi\u00e7os adquiridos por WhatsApp, telefonemas que viram venda, e pacotes combinados. Determine quais eventos GA4 acompanhar\u00e1 para cada caminho (por exemplo, view_item para produtos, purchase para servi\u00e7os quando aplic\u00e1vel).<\/li>\n<li>Definir a taxonomia de itens: crie uma lista de atributos padr\u00e3o (item_id, item_name, item_category, item_variant, price, quantity) e adicione um campo is_service para refor\u00e7ar a distin\u00e7\u00e3o entre produto e servi\u00e7o.<\/li>\n<li>Atualizar Data Layer: ajuste o data layer no site (e nos fluxos de WhatsApp\/landing pages) para empurrar itens com a estrutura definida. Garanta que o data layer uniforme envie o array items para eventos de compra, com cada item seguindo o schema acordado.<\/li>\n<li>Implementar eventos no GTM Web (ou via gtag.js): disparar view_item, add_to_cart, begin_checkout e purchase com a mesma estrutura de itens. Em caminhos de servi\u00e7o, crie purchase com o item_category = servi\u00e7o e mantenha o array items coerente com o restante do modelo.<\/li>\n<li>Ajustar configura\u00e7\u00f5es no GA4: marcar purchase como convers\u00e3o; se houver servi\u00e7os relevantes que mere\u00e7am acompanhamento separado, criar um evento de convers\u00e3o espec\u00edfico (ex.: service_purchase) ou usar o is_service para segmenta\u00e7\u00f5es avan\u00e7adas. Valide as dimens\u00f5es personalizadas no GA4 conforme necess\u00e1rio.<\/li>\n<li>Conectar dados offline e CRM com responsabilidade: utilize o Measurements Protocol para enviar eventos offline quando cab\u00edvel, e crie regras de reconcilia\u00e7\u00e3o entre dados do CRM e GA4 para evitar contagens duplicadas. Em cen\u00e1rios com WhatsApp, alinhe os cliques de campanha com o ID de an\u00fancio (gclid) sempre que poss\u00edvel.<\/li>\n<li>Valida\u00e7\u00e3o e observabilidade: implemente dashboards que cruzem GA4, BigQuery e Looker Studio. Compare receita por item_category (produto vs servi\u00e7o), taxa de convers\u00e3o por caminho e tempo de fechamento do lead para ajustar lances e criativos com maior precis\u00e3o.<\/li>\n<\/ol>\n<p>\u201cModelar itens com item_id, item_name e item_category permite que voc\u00ea identifique rapidamente quais servi\u00e7os geram maior ROAS ou mais pipeline de vendas, sem perder a corre\u00e7\u00e3o de dados.\u201d<\/p>\n<h2>Atribui\u00e7\u00e3o, janelas e dados cruzados: decis\u00f5es que impactam o neg\u00f3cio<\/h2>\n<p>Atribui\u00e7\u00e3o em GA4 n\u00e3o \u00e9 apenas escolher entre last-click ou data-driven. Quando voc\u00ea vende produtos e servi\u00e7os, as janelas de convers\u00e3o e os caminhos de compra costumam ser diferentes entre canais e entre o online e o offline. Este \u00e9 o momento de alinhar a estrat\u00e9gia de atribui\u00e7\u00e3o com a realidade do seu funil e com a infraestrutura dispon\u00edvel.<\/p>\n<h3>Quando usar diferentes janelas de atribui\u00e7\u00e3o<\/h3>\n<p>Para produtos com ciclo de decis\u00e3o curto, uma janela de 7 dias pode capturar a maioria das compras. Para servi\u00e7os que envolvem consultoria, or\u00e7amentos e aprova\u00e7\u00e3o de clientes, janelas maiores (14 a 90 dias) ajudam a n\u00e3o subestimar o impacto de cliques iniciais. Em GA4, voc\u00ea pode ajustar mapas de atribui\u00e7\u00e3o e comparar modelos para ver qual deles melhor explica a varia\u00e7\u00e3o observada entre GA4, CRM e plataformas de an\u00fancios.<\/p>\n<h3>Rastreamento offline e dados first-party<\/h3>\n<p>Se o seu fechamento depende de intera\u00e7\u00f5es fora do site, tenha uma estrat\u00e9gia clara de offline conversions. A integra\u00e7\u00e3o com CRM e o envio de dados para GA4 devem respeitar limites reais de compatibilidade com consentimento e privacidade, especialmente em LGPD. Em termos pr\u00e1ticos, isso significa manter um esquema consistente de identificadores (como client_id ou user_id) para correlacionar eventos online com convers\u00f5es offline.<\/p>\n<h3>Valida\u00e7\u00e3o de diverg\u00eancias entre plataformas<\/h3>\n<p>\u00c9 comum ver GA4, Meta e Google Ads exibindo n\u00fameros diferentes para a mesma convers\u00e3o. Em muitos casos, isso se deve a diferen\u00e7as de modelagem de itens, janelas de atribui\u00e7\u00e3o ou dados que n\u00e3o chegaram ao GA4 por falhas de consentimento ou de envio de evento. A pr\u00e1tica recomendada \u00e9 ter um conjunto de regras de valida\u00e7\u00e3o: reconcilie pelo menos a receita total, o n\u00famero de compras e o n\u00famero de leads qualificados com base em um identificador comum (como order_id ou transaction_id).<\/p>\n<h2>Privacidade, Consent Mode v2 e conformidade: limites reais que ajudam a tomar decis\u00f5es<\/h2>\n<blockquote><p>Consent Mode v2 pode reduzir a perda de dados, mas n\u00e3o resolve tudo. Boas pr\u00e1ticas dependem de CMP, do tipo de neg\u00f3cio e de como voc\u00ea coleta consentimentos.<\/p><\/blockquote>\n<p>Ao configurar GA4 para um neg\u00f3cio misto, \u00e9 essencial reconhecer que LGPD e consentimento influenciam a coleta de dados. Consent Mode v2 ajuda a adaptar o comportamento de tags e cookies conforme o consentimento do usu\u00e1rio, mas n\u00e3o elimina a necessidade de estrat\u00e9gias de reconstru\u00e7\u00e3o de dados com base em first-party data. Para neg\u00f3cios que trabalham com servi\u00e7os por WhatsApp, a valida\u00e7\u00e3o de consentimento e o respeito a limita\u00e7\u00f5es de dados s\u00e3o cruciais para evitar problemas de compliance e de atribui\u00e7\u00e3o. Consulte a documenta\u00e7\u00e3o oficial da Google para entender as nuances t\u00e9cnicas envolvidas e as melhores pr\u00e1ticas atuais. EP, BigQuery e a integra\u00e7\u00e3o com Looker Studio devem ser usados com prud\u00eancia para n\u00e3o violar privacidade, mantendo a vis\u00e3o de dados confi\u00e1vel para decis\u00f5es r\u00e1pidas.<\/p>\n<h2>Erros comuns com corre\u00e7\u00f5es pr\u00e1ticas<\/h2>\n<p>Erros de implementa\u00e7\u00e3o podem destruir a confiabilidade dos seus dados em GA4. Abaixo v\u00e3o armadilhas frequentes e como corrigi-las rapidamente.<\/p>\n<h3>Erro: n\u00e3o diferenciar servi\u00e7os de produtos no data layer<\/h3>\n<p>Solu\u00e7\u00e3o: padronize o schema de itens com item_category e is_service. Verifique os fluxos de dados e garanta que cada item enviado em purchase ou view_item contenha esses campos de forma consistente.<\/p>\n<h3>Erro: eventos de servi\u00e7os n\u00e3o s\u00e3o capturados para offline<\/h3>\n<p>Solu\u00e7\u00e3o: implemente o Measurements Protocol para enviar offline conversions com a mesma estrutura de itens utilizada online. Isso facilita a reconcilia\u00e7\u00e3o com o CRM e evita perdas de dados entre canais.<\/p>\n<h3>Erro: diverg\u00eancia entre GA4 e CRM na reconcilia\u00e7\u00e3o de receita<\/h3>\n<p>Solu\u00e7\u00e3o: crie regras de reconcilia\u00e7\u00e3o com lookup por identificadores \u00fanicos (order_id) e valide periodicamente a correspond\u00eancia entre vendas registradas no CRM e eventos de compra no GA4. Use Looker Studio para dashboards que mostrem m\u00e9tricas lado a lado.<\/p>\n<h2>Adaptando a configura\u00e7\u00e3o para projetos e clientes: espectro pr\u00e1tico<\/h2>\n<p>Se o seu projeto envolve mais de um cliente ou um portf\u00f3lio com varia\u00e7\u00f5es entre contas, vale padronizar o framework. Aplique o modelo de itens e a taxonomia acordados, mas permita varia\u00e7\u00f5es espec\u00edficas por cliente, sempre mantendo o mapeamento mestre entre GA4, CRM e fontes de dados. Em projetos com clientes que utilizam WhatsApp como canal de convers\u00e3o principal, proponha uma solu\u00e7\u00e3o de envio de dados de convers\u00e3o que n\u00e3o dependa exclusivamente do site, para evitar perdas de dados durante o cross-channel journey.<\/p>\n<h3>Checklist de valida\u00e7\u00e3o de configura\u00e7\u00e3o<\/h3>\n<ul>\n<li> itens no data layer seguem schema \u00fanico com item_id, item_name, item_category, is_service; <\/li>\n<li> events de compra incluem todos os itens com o array items completo; <\/li>\n<li> GA4 tem convers\u00f5es ativas para purchase (e service_purchase, se aplic\u00e1vel) e m\u00e9tricas de receita associadas; <\/li>\n<li> integra\u00e7\u00f5es com CRM e offline conversions est\u00e3o em produ\u00e7\u00e3o com identificadores compartilhados; <\/li>\n<li> Looker Studio ou BigQuery conectados para valida\u00e7\u00e3o cruzada entre GA4, CRM e plataformas de an\u00fancios; <\/li>\n<li> Consent Mode v2 est\u00e1 habilitado e respeita o fluxo de consentimento do usu\u00e1rio; <\/li>\n<li> testes de regress\u00e3o peri\u00f3dicos garantem que altera\u00e7\u00f5es no data layer n\u00e3o quebrem o mapeamento de itens; <\/li>\n<\/ul>\n<p>Para refer\u00eancia t\u00e9cnica, ver: documenta\u00e7\u00e3o GA4 de ecommerce e de integra\u00e7\u00e3o de dados com o data layer e itens, al\u00e9m de orienta\u00e7\u00f5es sobre consent mode e envio de dados. Essas fontes oficiais ajudam a manter a implementa\u00e7\u00e3o alinhada com as mudan\u00e7as de plataforma e de privacidade. <a href=\"https:\/\/developers.google.com\/analytics\/devguides\/collection\/ga4\/ecommerce\" target=\"_blank\" rel=\"noopener\">GA4 Ecommerce events<\/a> e <a href=\"https:\/\/support.google.com\/analytics\/answer\/1011397?hl=pt-BR\" target=\"_blank\" rel=\"noopener\">Consent Mode v2 no GA4<\/a>.<\/p>\n<p>Al\u00e9m disso, quando houver necessidade de ampliar a capacidade anal\u00edtica com dados estruturados, o BigQuery export do GA4 pode ser \u00fatil para cruzar com dados do CRM e de sistemas de atendimento. Consulte as fontes oficiais para entender limites, formatos e boas pr\u00e1ticas de exporta\u00e7\u00e3o. <a href=\"https:\/\/cloud.google.com\/bigquery\" target=\"_blank\" rel=\"noopener\">BigQuery<\/a> e <a href=\"https:\/\/support.google.com\/analytics\/answer\/10085627?hl=pt-br\" target=\"_blank\" rel=\"noopener\">GA4 \u2013 BigQuery export<\/a>.<\/p>\n<p>Com esse arcabou\u00e7o, voc\u00ea consegue reduzir ru\u00eddos na atribui\u00e7\u00e3o entre produtos e servi\u00e7os, manter uma vis\u00e3o unificada da receita e preparar o terreno para an\u00e1lises mais profundas sem abandonar a conformidade com privacidade e com a realidade do funil multicanal.<\/p>\n<p>Agora, com uma estrat\u00e9gia clara de medi\u00e7\u00e3o para GA4, voc\u00ea pode, por exemplo, comparar receita por tipo de item (produto vs servi\u00e7o) em Looker Studio, entender qual caminho de aquisi\u00e7\u00e3o fecha mais r\u00e1pido e melhorar a aloca\u00e7\u00e3o de budget com base em dados reais. Se quiser discutir um diagn\u00f3stico t\u00e9cnico do seu setup atual, nossa equipe pode mapear fluxos, identificar gaps e propor ajustes com prioridade alta para o pr\u00f3ximo ciclo de auditoria.<\/p>","protected":false},"excerpt":{"rendered":"<p>Quando um neg\u00f3cio vende tanto produtos quanto servi\u00e7os online, configurar o GA4 para medir tudo com precis\u00e3o n\u00e3o \u00e9 perda de tempo: \u00e9 a diferen\u00e7a entre uma vis\u00e3o honesta da performance e dados que geram decis\u00f5es desalinhadas com a realidade. No erro comum, o GA4 recebe eventos sem distin\u00e7\u00e3o entre itens f\u00edsicos e servi\u00e7os, ou&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,9,235,13,595],"content_language":[5],"class_list":["post-1336","post","type-post","status-publish","format-standard","hentry","category-blogen","tag-atribuicao","tag-crm","tag-dados-offline","tag-ga4","tag-taxonomia-de-itens","content_language-en"],"acf":[],"_links":{"self":[{"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=\/wp\/v2\/posts\/1336","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=1336"}],"version-history":[{"count":0,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=\/wp\/v2\/posts\/1336\/revisions"}],"wp:attachment":[{"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1336"},{"taxonomy":"content_language","embeddable":true,"href":"https:\/\/cms.funnelsheet.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcontent_language&post=1336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}