Google Ads
Google Ads é integrado via GTM: as tags de conversão Google Ads são configuradas dentro do container GTM da brand, e não existe config local de "Google Ads ID" no front (não há nenhum AW- no código).
:::warning O front SIM carrega um tag Google por conta própria — mas não é Google Ads
Esta página afirmava que "não há SDK Google próprio no front". Isso é verdade para Google Ads, mas não para a Google Marketing Platform: o front injeta gtag.js com o tag id DC-<advertiserId> e dispara conversões Floodlight / DV360 diretamente, em 2 brands. Ver Floodlight / DV360.
Na prática: se você está debuggando e vê googletagmanager.com/gtag/js?id=DC-… na Network, esse é o Floodlight, não uma tag de Google Ads escapando do container.
:::
Modelo de integração
Não há config local de "Google Ads ID". Tudo vive no GTM. (Conversões Floodlight são o caso separado — carregadas pelo front, ver Floodlight / DV360.)
Setup recomendado no GTM
Conversion tag — FTD
- Tag type: Google Ads Conversion Tracking
- Conversion ID + Label: do Google Ads (Conversion Actions → New)
- Trigger: Custom Event =
first_deposit - Conversion Value:
{{DLV - value}}(lêvaluedo dataLayer) - Currency:
{{DLV - currency}} - Transaction ID:
{{DLV - transactionId}}(deduplicação)
Conversion tag — Sign-up
- Trigger: Custom Event =
sign_up - Value: opcional (CPL fixo da campanha)
Remarketing tag
- Tag type: Google Ads Remarketing
- Trigger: All Pages (pra audiência geral) ou eventos específicos
- Custom Parameters: opcional, pode mapear do dataLayer
gclid — Click ID do Google
Capturado da URL via Clicked-IDs. Persistido como:
- Campo individual no
cookie_tracking:{ "gclid": "Cj0KCQjw..." } media_clidderivado quandogclidé o primeiro match:{ "media_source": "google", "media_clid": "Cj0KCQjw..." }
Vai no payload de signup e deposit pro BFF.
Enhanced Conversions — Roadmap
Status atual: NÃO implementado.
Enhanced Conversions enriquece conversões com hashed PII (email, telefone) e/ou external_id. Permite Google Ads matchar com user mesmo quando o gclid não foi setado (iOS 14+, ad blockers).
Implementação requer:
- BFF receber
external_id(UUID do cookie de remarketing da brand —rmk7kna 7k) no payload — ver Remarketing - BFF chamar Google Ads API server-side com hashed user data
- Configurar Enhanced Conversions no Google Ads Conversion Action
Mesma trajetória da CAPI da Meta — depende de priorização de BFF.
Audiências dinâmicas (Display Remarketing)
Pra mostrar anúncio do exato jogo que o user viu:
- Cria audience dinâmica no Google Ads → Audience Manager → Custom audiences
- Trigger no GTM: Custom Event =
view_game_page, parâmetros ={ game_id, game_name, game_category } - Tag: Google Ads Remarketing com dynamic remarketing parameters (
ecomm_prodid: {{DLV - gameId}},ecomm_pagetype: 'product', etc)
O front já dispara view_game_page com gameId, gameName, gameCategory no payload — basta wirar no GTM.
Configuração por brand
Sem config local — toda configuração vive no container GTM da brand. Ver Por Brand pra mapeamento de qual GTM ID cada brand usa.
Como debuggar
Google Tag Assistant (Chrome extension)
Tag Assistant — debug de tags Google em geral.
Google Ads Conversion DebugView
Google Ads → Conversions → seleciona uma Conversion Action → "Diagnostics" mostra eventos recebidos em tempo real (latência ~1 minuto).
gclid sobrevivendo redirects
1. Acessa `http://localhost:<DEV_PORT>/?gclid=test_gclid_12345` (a porta do dev server não é sempre 5173)
2. DevTools → Cookies → cookie_tracking deve ter "gclid": "test_gclid_12345"
3. Submete signup → Network → POST /api/auth/register → body deve ter "gclid"
Anti-patterns
- Disparar conversion duas vezes (uma via GTM, outra via tag manual). Inflate conversão.
- Não passar
transactionIdna tag de conversion. Google deduplica portransactionId— sem ele, refresh da página dispara nova conversão. - Usar
valueem moeda diferente da configurada na conversão. Quebra ROAS. - Configurar Enhanced Conversions com email não-hashado. Google rejeita ou (pior) loga PII em request body. Sempre SHA256(email) lowercased.