Tag: cross-device

  • How to Track Attribution for Campaigns That Drive Traffic to an App Download

    Quando o objetivo é levar o usuário a baixar um aplicativo, a atribuição deixa de ser apenas um jogo de cliques. O rastreamento de atribuição para campanhas que geram tráfego para download de app precisa cruzar cliques, deeplinks, downloads reais e eventos pós-instalação em várias plataformas. Ninguém quer aceitar números divergentes entre GA4, GTM Web, GTM Server-Side, Meta CAPI, Google Ads e ferramentas de mobilidade; o que você quer é uma visão única que conecte a primeira interação ao download efetivo e, se possível, ao revenue gerado. Sem isso, o orçamento é gasto com suposições que não resistem a auditorias.

    Além do desafio técnico, existem limitações práticas: privacidade mais rígida (iOS, Consent Mode v2), modelos de dados diferentes entre Android e iOS, e a dificuldade de lidar com o cross-device sem perder o rastro do usuário. Muitas equipes descobrem que medir apenas o clique inicial não basta quando o usuário abre o app dias depois ou quando o download acontece após múltiplos toques em canais distintos. Este artigo propõe um caminho pragmático para diagnosticar, alinhar e validar o fluxo de dados desde o clique até a instalação, com foco na confiabilidade operável em cenários reais.

    a hard drive is shown on a white surface

    Desafios específicos na atribuição de instalações

    O que realmente significa atribuição de instalação vs clique

    Instalação de app não é o mesmo fenômeno de conversão de landing page. O clique pode ocorrer em uma campanha, mas a instalação ocorre em background, pode ser via deeplink ou após a primeira abertura do app, e muitas vezes envolve janelas de atribuição distintas entre plataformas. Em GA4, por exemplo, é comum encontrar eventos de instalação que não se alinham com o feed de eventos do servidor, principalmente quando o usuário pode reabrir o app em dispositivos diferentes. É comum observar discrepâncias entre o que o GA4 registra como install e o que o BigQuery exporta, especialmente quando há uso de CAPI para atribuição de offline ou pós-install.

    Essa é a parte crítica: ligar o download à primeira interação, mantendo o contexto do usuário e do device, sem deixar a história se perder no meio do caminho.

    Atrasos entre clique, instalação e eventos pós-instalação

    O ciclo entre clique e instalação pode variar de minutos a dias, dependendo do canal, da segmentação e da preferência do usuário. Em campanhas com retargeting ou com campanhas que redirecionam para lojas de apps, o delay costuma confundir modelos de atribuição baseados em últimos cliques ou janelas fixas. Além disso, eventos pós-instalação (onboarding, compras in-app, primeira ação valiosa) costumam ocorrer fora do loop de conversão inicial e precisam ser conectados ao identificador do usuário, o que nem sempre é viável com dados puramente first-party ou cookies limitados.

    Cross-device e identidade do usuário

    Quem usa mais de um device para começar a jornada tende a gerar dados desconectados. Um clique no desktop pode levar a uma instalação no Android, ou a abertura do app em iOS depois de uma série de interações em outros canais. Sem uma estratégia clara de desambiguação e uma identidade unificada (quando possível), é fácil atribuir a instalação a um canal errado ou perder a correlação entre o clique, o download e a aquisição subsequente.

    Quando a identidade não está consolidada, a atribuição se torna fragilizada e a confiança no funil cai rapidamente.

    Arquitetura recomendada para rastrear atribuição de instalações

    Integração GA4 + Firebase + BigQuery

    A base de uma tracking stack robusta costuma passar por GA4 para eventos de usuário, Firebase para métricas de app e BigQuery para reconciliação e exploração avançada. Em apps, a integração entre GA4 e Firebase facilita o acompanhamento de eventos no lado do app (instalação, open, first_open, onboarding) enquanto o GA4 coleta dados de tráfego, origem de campanhas e conversões. Exportar para BigQuery permite cruzar tabelas de aderência entre cliques, instalações e eventos pós-instalação, além de facilitar auditorias com visões históricas e correlacionadas.

    Gatilhos de eventos e estados: install, open, first_open

    Defina eventos explícitos no app e no web que conectem a origem do usuário ao status atual. Por exemplo, um evento de instalação disparado pela primeira abertura, seguido de um evento de onboarding concluído, com parâmetros que transportem a origem da campanha (utm_source, utm_medium, utm_campaign) e o identificador de instalação (ad_id, gclid, ou o identificador de anunciante correspondente). Em GA4, a consistência entre os nomes de eventos e os parâmetros é crucial para a confiabilidade da atribuição, especialmente quando você utiliza server-side tracking para complementar dados do client-side.

    Consent Mode v2 e dados first-party para resiliência

    Consent Mode v2 torna possível manter dados de conversão mesmo quando o usuário recusa cookies ou não oferece consentimento para rastreamento. Em cenários de app, essa abordagem é útil para manter uma linha de dados estável para atribuição sem violar a privacidade. Além disso, priorizar dados first-party e o uso de APIs de dados do lado do servidor aumenta a confiabilidade da linha de atribuição, reduzindo ruído causado por bloqueadores, limitações de cookies e diferenças entre plataformas.

    Consent Mode v2 não resolve tudo, mas reduz a dependência de cookies de terceiros e torna a janela de atribuição mais previsível ao longo do tempo.

    Roteiro de implementação: do planejamento à validação

    Definição de UTMs, deep links e mapping

    Antes de qualquer implementação, padronize UTMs e parâmetros de campanha para cada origem que leva ao download do app. Use deep links que respeitem o fluxo de onboarding do app e garantam que, na instalação, o usuário seja encaminhado para o estado correto do onboarding. Defina regras de mapeamento entre os parâmetros que aparecem no URL de campanha e os parâmetros de evento no GA4 e no BigQuery para facilitar a reconciliação entre plataformas.

    Configuração de GTM Server-Side e integrações

    Se o seu ecossistema ainda depende de GTM Web, migre parte crítica de rastreamento para GTM Server-Side para consolidar dados sensíveis, reduzir perda de dados e navegar melhor por blocos de privacidade. No lado do app, utilize eventos no Firebase que reflitam as ações de instalação e onboarding, com a carga de parâmetros de campanha vindos do front-end ou do servidor. Combine essas fontes com o GA4 para fins de atribuição e com BigQuery para validação histórica e análises personalizadas.

    Validação de dados: reconciliação GA4 vs BigQuery

    A validação deve começar com a reconciliação de installs reportadas no GA4 com as instâncias registradas no BigQuery. Busque discrepâncias em eventos-chave: install, first_open, onboarding_complete e eventos de revenue. Faça correlações por canal, criador de campanha, ID de instalação e, quando disponível, ID de dispositivo. Em muitos cenários, a reconciliação aponta falhas específicas — por exemplo, uma configuração de deeplink que não aciona o evento de instalação, ou uma diferença entre gclid capturado no clique e o identificador de instalação registrado no app.

    Passo a passo de implementação

    1. Mapear a jornada do usuário desde o clique até a instalação e eventos pós-instalação, incluindo dispositivos usados e canais de origem.
    2. Definir UTMs consistentes para todas as campanhas que direcionam ao download do app e documentar o mapeamento para equipes de mídia e dev.
    3. Configurar deeplinks robustos para iOS e Android que levem o usuário ao estado correto do onboarding após a instalação.
    4. Instrumentar o app com eventos-chave (install, first_open, onboarding_complete, purchase) com parâmetros de campanha herdados do URL ou do servidor.
    5. Habilitar GTM Server-Side para coletar dados de forma mais resiliente, sincronizando com Meta CAPI e com o data layer do site.
    6. Ativar Consent Mode v2 e priorizar dados first-party, definindo políticas de consentimento que não quebrem o fluxo de dados essenciais para atribuição.
    7. Executar validação contínua: comparar GA4 com BigQuery e com o CRM/BI para identificar desvios e corrigir rapidamente a origem do problema.

    Casos práticos e padrões de validação

    Caso: campanha de WhatsApp que leva o tráfego para download

    Imagine uma campanha de WhatsApp Business que encaminha usuários para a página de download. O link precisa ser robusto o suficiente para manter o parâmetro de campanha até a instalação, mesmo que o usuário retorne ao app depois de vários toques entre WhatsApp, landing page e a Google Play Store. A validação envolve confirmar que o evento install está sendo disparado com os parâmetros corretos e que o first_open corresponde à origem original.

    Atribuição confiável depende de manter o contexto da origem, mesmo quando o usuário troca de canal durante o funil.

    Caso: instalação via Google Play vs Apple App Store

    Campanhas de instalação em Android podem ser acompanhadas por gclid, mas a Apple, com mais restrições de privacidade, pode exigir SKAdNetwork ou modelos de atribuição diferentes. Um setup bem-sucedido exige que você tenha regras claras de qual evento representa a instalação em cada loja, além de uma estratégia de reconciliação que leve em conta possíveis atrasos e diferenças de janela. A estação de partida é o GA4, mas o BigQuery costuma revelar onde a contagem diverge entre plataformas.

    Erros comuns e como corrigir

    Entre os erros frequentes estão: uso de deep links com falha de redirecionamento, perda de parâmetros de campanha durante o redirecionamento, e eventos de instalação que não chegam ao GA4 por causa de políticas de consentimento ou de configuração de server-side. A correção passa por validar cada etapa do pipeline — from the URL até o registro de evento no servidor —, revalidar as regras de mapeamento e, se necessário, reconstruir a lógica de recebimento de dados no GTM Server-Side para evitar colisões entre eventos de diferentes fontes.

    Para fundamentar, consulte fontes oficiais sobre a integração GA4 com apps, a exportação para BigQuery e as práticas recomendadas de consentimento de dados:
    GA4 Developer Documentation,
    GA4 BigQuery Export,
    Consent Mode,
    Looker Studio para visualizações.

    Em artigos anteriores, exploramos aspectos práticos de rastreamento de conversões quando o funil passa por schedulers ou pela configuração de GTM Server-Side sem quebrar eventos de checkout. Esses aprendizados ajudam a entender a importância de manter a captura de dados estável mesmo quando há mudanças de tecnologia ou de canais de aquisição.

    Do ponto de vista operacional, a confiabilidade de atribuição para downloads de app depende de governança de dados: acordos internos sobre a origem dos dados, padrões de nomenclatura, e uma cadência de auditorias que detecte anomalias antes que elas contaminem decisões de mídia. A combinação de GA4, GTM Server-Side, Firebase e BigQuery é poderosa, mas só funciona se houver disciplina na implementação e na validação contínua.

    Se você está pronto para avançar, a primeira decisão crítica é entre client-side e server-side para o fluxo de dados de instalação: a resposta não é universal, depende do seu ritmo de mudança de canais, da privacidade exigida pelo seu negócio e da capacidade de manter a consistência entre diferentes plataformas. Em muitos cenários, começa-se com uma camada server-side para consolidar dados sensíveis e, à medida que as equipes amadurecem, amplia para a integração completa entre GA4, CAPI e BigQuery.

    Este é o tipo de configuração que a Funnelsheet já revisou centenas de vezes: não há solução única, há padrões robustos que, ajustados ao contexto da sua empresa, entregam uma visão que resiste a auditorias e a disputas de dados. A chave é agir com uma arquitetura clara, eventos bem definidores e validação constante contra a verdade do CRM e do BI.

    Para questões de LGPD e privacidade, lembre-se de consultar um especialista em proteção de dados e conformidade para alinhar CMP e políticas de consentimento à implementação. Pequenas diferenças na configuração podem impactar a capacidade de atribuir corretamente o download ou a receita subsequente, e a orientação profissional evita surpresas legais ou operacionais.

    Em resumo, o caminho para rastrear atribuição com eficácia em campanhas que dirigem tráfego para download de app envolve (1) validação de eventos de instalação e onboarding, (2) integração entre GA4, Firebase e BigQuery para reconciliação, (3) uso estratégico de server-side para resiliência a privacidade e bloqueadores, e (4) uma rotina de auditoria que garanta que dados do CRM reflitam com fidelidade o que acontece no app. Se você quiser, a Funnelsheet pode mapear o seu fluxo de dados com a sua equipe, deixando claro onde cortar ruídos e onde reforçar a coleta de evidências que realmente importam para a decisão de investimento em mídia.

  • How to Send Server-Side Events to Meta Without Using the Pixel

    Server-side events to Meta without using the Pixel have evolved from a niche trick to a necessity for teams that depend on reliable attribution. When the browser is blocked, when consent modes restrict data, or when cross-device journeys blur the signal, the Conversions API (CAPI) offers a server-side path that can preserve signal integrity without relying on the browser pixel. This approach is not a silver bullet, and it requires careful data mapping, deduplication discipline, and privacy-aware setup. Yet for many mid- to large-scale campaigns, it can significantly reduce data gaps and align Meta reporting with what GA4 and downstream analytics actually observe in the real funnel. You’ll see how a server-to-server route to Meta can complement or even substitute a Pixel-based flow in specific contexts, especially where you’ve hit browser-based attenuation or where you need tighter control over data sending timing and fidelity.

    Neste artigo, apresento uma abordagem prática para enviar eventos do servidor para o Meta sem depender do Pixel tradicional. Você vai entender as armadilhas comuns, a arquitetura recomendada, como mapear dados entre seu site, GTM Server-Side e o Meta CAPI, e um passo a passo acionável para implementar, validar e manter esse canal com qualidade. A tese central é simples: com uma configuração clara de deduplicação, consentimento e verificação de eventos, é possível reduzir ruídos e conectar campanhas a receita com maior robustez, sem depender de qualquer pixel no navegador. O foco está em uma implementação pragmática, com limitações realistas de LGPD, consentimento e variáveis da plataforma, para que você possa levar esse caminho do conceito para a prática sem surpresas desagradáveis.

    a hard drive is shown on a white surface

    Why Pixel-based server-side events alone often fall short

    Data gaps from ad blockers, browsers and consent controls

    Pixel-based tracking is intrinsically fragile in modern environments. Ad blockers, Safari’s ITP, and consent mode variations can suppress or delay browser signals, turning a once-reliable signal into a ghost in the data. Even with a robust pixel-fire strategy, portions of the funnel—especially on mobile apps or WhatsApp funnels—can slip away from client-side measurement. Server-side events via Conversions API can capture in-flight conversions that browsers miss, offering a more complete picture of the user journey, provided you map the right signals and maintain privacy controls.

    low-angle photography of metal structure

    Server-side signals help bridge the gaps when the browser won’t cooperate, but they require careful data hygiene to avoid duplicating or misclassifying events.

    Deduplication and signal synchronization

    Sending events from both client and server paths introduces the risk of duplicates unless you implement a solid deduplication strategy. The browser and server paths must align on identifiers like event_id, user_data hashes, and timestamp precision. A naive setup tends to overcount conversions or, conversely, undercount due to missing event_id continuity between sources. This is where a disciplined approach—consistent event taxonomy, deterministic IDs, and validated cross-checks—makes the difference between “useful” data and “noise.”

    Attribution windows and timing mismatches

    Pixel signals often arrive in near real time, while server-side events can experience extra processing latency or batching in the GTM Server-Side container. If you’re not careful, the attribution window can drift, leading to mismatches with GA4 or BigQuery exports. A well-designed server path accounts for event_time precision, server-side clock skew, and explicit demarcation of conversion windows to keep Meta’s reporting aligned with your downstream analytics.

    Latency differences between client and server paths tend to surface as attribution drift unless you enforce synchronized timing and clear event_time semantics.

    Sending server-side events to Meta via Conversions API without Pixel

    What changes when you rely on Conversions API instead of the Pixel

    The Conversions API is a server-to-server channel that delivers key conversion signals directly to Meta’s systems. When you bypass the browser Pixel, you shift the signal source from client-side to server-side, which can improve reliability under privacy constraints and ad blockers. The core implication is a move from “signal in browser” to “signal in your server edge,” with deduplication and data mapping taking center stage. You’ll still need to maintain some browser signals for re-identification and cross-device measurement, but the server path becomes the backbone for reliable event delivery.

    Event structure, required fields, and data mapping

    In CAPI, you send events with an event_name, event_time, and a user_data object containing hashed identifiers (like email or phone) and an optional custom_data payload. Mapping your website events to Meta’s schema is critical: a purchase event, a lead, or an add_to_cart must align with Meta’s expected fields and parameter names. The server path also introduces the possibility to enrich events with additional server-only data (order_id, revenue, currency) that might not be reliably captured in-browser. Hashing of PII before transmission is not optional in a compliant setup, and you should align with your privacy policy and CMP configuration.

    Privacy, consent and compliance considerations

    Consent Mode and privacy controls intersect with server-side measurement. If your site uses Consent Mode v2, you’ll need to reflect consent state in the data you forward to Meta. The server path is capable of respecting these signals, but you must implement consent-aware gating, data minimization, and clear user opt-out handling. LGPD and local data handling constraints are real, and misconfigurations can lead to data loss or compliance exposure. You should view server-to-server as a complementary signal path that requires ongoing governance, not a set-and-forget integration.

    Architectural patterns and decision points

    Server-only vs hybrid architectures: when to choose

    A server-only pattern sends conversions exclusively from your backend, while hybrid architectures combine client and server signals with careful deduplication. Server-only can be attractive for apps with strong server-side events and robust user identifiers, but you lose some cross-device signals unless you capture user IDs in both paths. Hybrid approaches can balance immediacy from the client with reliability from the server, yet require meticulous event_id propagation and timing controls to avoid double counting. The choice depends on your data infrastructure maturity, consent strategy, and how your key funnels (including WhatsApp-driven journeys) are wired into your data layer.

    Event taxonomy, data layer, and normalization

    Consistency is king. Harmonize event names, currency codes, and revenue fields across GA4, Meta CAPI, and your data warehouse. If you publish a “purchase” event with different parameter names in different paths, you’ll spend cycles reconciling data in Looker Studio or BigQuery. A single source of truth for event schemas—plus a clear mapping table from your site (or app) events to Meta’s event schema—reduces drift and makes audits simpler. This is especially important when you rely on offline conversions or CRM data to feed CAPI.

    Deduplication keys and event_id strategy

    Event_id is your friend and your trap. You should propagate a stable event_id from the client, if available, or generate a server-side id with deterministic hashing when client-side signals are missing. Include a known mapping between client_id or user_hash and the server-side event_id wherever possible. This permits Meta to deduplicate across paths and reduces the risk of inflated conversions. If you skip deduplication, you’ll accelerate errors in attribution, which defeats the purpose of moving to a server-side channel in the first place.

    Implementation: Step-by-step to set up Meta Conversions API without the Pixel

    1. Audit your event taxonomy and decide which conversions you will send via CAPI (e.g., page_view, add_to_cart, initiate_checkout, purchase). Establish a stable event_id strategy that enables deduplication with browser signals if you plan a hybrid approach.
    2. Obtain a Meta Pixel ID and generate a CAPI access token in Meta Business Manager, ensuring you have the correct permissions for your business assets.
    3. Set up your GTM Server-Side container (or your preferred server endpoint) to receive events from the website or app. Ensure the endpoint is secured, with authentication and rate limits aligned to your traffic.
    4. Create a data pipeline that maps your website’s event data to the Conversions API payload. Hash PII in transit, and populate required fields like event_name, event_time, and user_data with consistent hashing rules.
    5. Configure the forward path from the server to Meta: construct the HTTP request to Meta’s Conversions API endpoint (for example, graph.facebook.com/v15.0//events) with the appropriate payload and access token. Ensure you include event_id when possible to enable deduplication with client-side signals.

    Savable validation checklist for this step-by-step:

    • Test events in Meta’s Event Manager to verify visibility and correctness of event_time, event_name, and custom_data.
    • Use the server-side Debug Tool to validate the request structure before going live.
    • Verify deduplication by sending paired client-side and server-side events with matching event_id on a small test funnel.

    After you’ve built the path, you’ll want to keep a tight feedback loop. Validate that a purchase recorded in Meta corresponds to the same event in GA4 or Looker Studio data exports, and track the lifetime value implications across platforms. If you rely on offline conversions or CRM data, you can enrich the server payload with match quality signals (e.g., hashed email, phone number, and order_id) to tighten identity resolution without increasing risk to privacy.

    In practice, you might configure GTM Server-Side to receive events via HTTP API from your web client, enrich them with user_data, and forward them to Meta CAPI, while still emitting browser Pixel events for immediate fingerprinting or retargeting in some scenarios. This pattern lets you maintain a baseline server-side signal while preserving optional client-side signals for cross-device attribution, if and only if you can guarantee proper deduplication and privacy controls.

    Validation, troubleshooting, and common pitfalls

    Common errors and targeted corrections

    One frequent pitfall is sending raw, unhashed PII to Meta. Always hash identifiers before transmission and align with your CMP’s consent state. Another common issue is mismatched currency codes or revenue field names; standardize on a single currency and a fixed revenue parameter across paths. A third pitfall is not including event_time or providing inconsistent timestamps, which undermines attribution windows. Finally, neglecting deduplication logic often yields inflated conversions and headlines that don’t match downstream analytics.

    Consistent data mapping and deduplication are not optional extras—they’re the core of server-to-server reliability.

    Erros de implementação específicos e correções práticas

    If you notice discrepancies between Meta reporting and GA4, inspect event_id reuse, double-check user_data hashing quality, and review how consent-mode signals are reflected in the server path. If events appear delayed in Meta, verify your server queueing, batching, and the event_time field. For WhatsApp-driven journeys where a lead closes days after the click, ensure the event window and offline conversions are aligned with your CRM integration so the signal remains coherent across platforms.

    Projection and project delivery considerations for agencies

    When the engagement involves clients with existing GTM setups or multiple domains, document a clear SRM (signal reference model) that every client must adopt. Set guardrails for data governance, versioning of event schemas, and change-control procedures so updates to the Conversions API don’t break other integrations. If you need to onboard a client quickly, provide a minimal viable path: a single, well-mapped server-side event with deduplication tests and a quick QA cycle in Meta’s Event Manager, followed by planned expansion to additional events and offline capabilities.

    When this approach makes sense—and when it doesn’t

    Signals you should consider server-side-only or hybrid paths

    Consider server-side-only when browser signals are consistently unreliable, or when your funnel relies heavily on non-browser touchpoints (for example, WhatsApp-based funnels that feed CRM lineage into Meta reporting). Hybrid paths can be appropriate when you have high confidence in your client-side data but still need server-side reliability for critical conversions, particularly purchases and high-value leads. Your decision should hinge on data quality, privacy constraints, and your ability to sustain a dedicated data engineering effort for mapping, validation, and monitoring.

    Indicators that your setup is broken

    Frequent event_id mismatches across paths, unexplained dips in server-sent events, or recurring discrepancies with GA4 and Looker Studio exports are clear signs something is off. If you notice a growing lag between server-side events and Meta reporting, check for queue bottlenecks, time zone misalignments, and incorrect event_time fields. If consent signals are not propagating to the server path, you may be violating privacy constraints and losing signals you counted on to drive accurate attribution.

    What to fix first to avoid data being useless

    Prioritize a consistent event schema, robust deduplication, and a verified consent-state integration. Start with a minimal viable server-side event (e.g., a purchase) and prove end-to-end equality between Meta, GA4, and your data warehouse before expanding. A disciplined approach to hashing and a deterministic event_id generation baseline will prevent a lot of the drift that otherwise sabotages server-side measurement efforts.

    Adaptation notes for real-world projects

    Agency and client delivery considerations

    In agency work, you’ll often deal with varied tech stacks across clients. Create a diagnostic template that helps you identify whether a client’s current GTM Web/Server setup, their consent flow, and their data layer will support a server-side path without Pixel. Document the prerequisites—pixel ownership, CAPI permissions, server capacity, and privacy policy alignment—so you can scope projects realistically and avoid “pilot-itis.”

    Operação prática com clientes: padronização sem atrapalhar a velocidade

    Estabeleça um contrato de dados que especifica quem é responsável pela implementação de GTM Server-Side, a qualidade de dados esperada, e os SLAs de validação. Defina um conjunto inicial de eventos com mapeamento claro, e una isso a uma rotina de auditoria mensal de deduplicação, consentimento e qualidade de dados. O objetivo é criar um patamar de confiabilidade que possa ser repetido em novos clientes com o mínimo de retrabalho, sem comprometer a entrega rápida.

    Consolidando o caminho sem Pixel: conclusão prática

    Consolidar server-side events to Meta without the Pixel exige mais que uma configuração técnica; exige governança de dados, uma estratégia de deduplicação rigorosa e uma colaboração estreita com a equipe de engenharia. Comece com um mapa de eventos, certifique-se de que o consent mode está refletido no pipeline e implemente a transmissão para o Conversions API com um ID de evento que suporte deduplicação entre caminhos. Use a validação no Meta Event Manager como seu canário de manobra e mantenha a disciplina de monitoramento para evitar que ruídos se instalem na mediana de atribuição. O próximo passo concreto é conduzir um piloto de duas semanas com um conjunto limitado de eventos, validando que purchase, lead e add_to_cart aparecem de forma consistente no Meta e no GA4, antes de ampliar para o restante do funil.