Google Ads CAPI
Guide technique MediaBuyer : Server Conversions + Enhanced Conversions. Architecture sGTM, deduplication, consent EU, troubleshooting.
1Role / Objectif
Google Ads Enhanced Conversions est la destination server-side pour les conversions Google Ads. Dans le stack, il occupe une place specifique :
Shopify Store
↓
GTM Web (DataLayer + Consent Mode v2)
↓
GA4 (transport technique)
↓
sGTM (Server-Side GTM)
↓
┌─────────────────────────────────────┐
│ GADS – Conv – purchase (tag sGTM) │ ← Ce guide
│ Enhanced Conversions actif │
│ Hash SHA-256 automatique │
└─────────────────────────────────────┘
↓
Google Ads Conversions APICe setup permet :
- Tracking Google Ads 100% server-side
- Conformite RGPD stricte (EU consent obligatoire)
- Meilleure resilience face aux adblockers
- Amelioration attribution via Enhanced Conversions
- Deduplication deterministe
Le systeme repose sur une source unique des conversions : le DataLayer GTM Web, transporte via GA4 vers sGTM, puis route vers Google Ads.
2Architecture Globale
Flux complet des donnees
Cookiebot (CMP EU)
↓
GTM Web (Consent Mode v2 + DataLayer)
↓
GA4 (transport technique uniquement)
↓
Server-Side GTM (sGTM)
↓
Template Addingwell Google Ads
↓
Google Ads Conversions APIRouting sGTM
Le container sGTM recoit les events GA4 et les route vers chaque destination. Google Ads est une des destinations :
sGTM (server)
→ GA4 Client (recoit la requete)
├── GA4 Server tag → Google Analytics 4
├── META – CAPI – All Events → Meta (Full CAPI)
├── GADS – Conv – purchase → Google Ads Enhanced Conversions ← Ce guide
└── (coming soon) TikTok Events API, Snap CAPIPrincipes fondamentaux
- Aucune balise Google Ads directe dans le theme
- Aucune double conversion client + serveur
- Une seule source purchase : dataLayer GTM Web
- Consent obligatoire avant tout envoi
- GA4 utilise comme transport technique
- Le Remarketing tag reste client-side pour les audiences
Source unique des conversions
Toutes les conversions proviennent exclusivement de :
GTM Web → dataLayer purchase → GA4 event → sGTM
Aucun envoi direct ne doit etre fait depuis :
- Un tag Google Ads browser
- Le theme Shopify
- Une app externe
3Enhanced Conversions en Detail
Architecture Enhanced Conversions
Enhanced Conversions (EC) est actif par defaut dans le tag sGTM GADS – Conv – purchase. Les donnees utilisateur sont hashees cote server automatiquement via Addingwell, sans aucune intervention manuelle.
Donnees envoyees (first-party)
Les donnees suivantes sont collectees apres consent et hashees SHA-256 cote server avant envoi a Google :
- Email (hash SHA-256)
- Telephone (hash SHA-256)
- Eventuellement nom / prenom (hash SHA-256)
- Adresse (hash SHA-256)
Comment EC ameliore le matching
Google utilise ces donnees hashees pour matcher la conversion avec le clic Google Ads original, meme si le cookie gclid est absent ou expire. Le taux de matching augmente significativement, permettant une meilleure attribution et des encheres plus efficaces.
Sans EC :
Clic Google Ads → gclid cookie → purchase → Match (si cookie present)
Avec EC :
Clic Google Ads → gclid cookie → purchase → Match via gclid
→ Match via email (hash)
→ Match via phone (hash)
→ Match via address (hash)
= Taux de matching superieur, meme sans cookieHashing cote server
Securite des donnees
Les donnees PII sont hashees uniquement cote server (sGTM). Aucune PII ne transite en clair dans les requetes browser. Le hash est automatique via le template Addingwell.
Regles importantes
- Donnees collectees uniquement apres consent (ad_storage + ad_user_data)
- Hashees SHA-256 avant envoi a Google
- Jamais envoyees en clair
- Le hash se fait cote sGTM, pas cote client
4Evenements & Parametres
Conversion principale
| Action utilisateur | GA4 | Google Ads |
|---|---|---|
| Achat | purchase | Conversion Action |
Parametres transmis
- transaction_id
- value
- currency
- items (si besoin)
- gclid / wbraid / gbraid
- user_data hashee (Enhanced Conversions)
5Logique de Deduplication
Identifiant unique global
transaction_id = conversion_id
Ce meme identifiant est utilise pour :
- GA4 purchase
- Google Ads conversion
- sGTM logs
Regles
- Un seul purchase dans la dataLayer
- Aucun second envoi Google Ads client
- Pas de double mapping cote sGTM
- Pas de conversion importee en parallele
6Identifiants d'Attribution Google
gclid
- Parametre URL Google Ads
- Persiste en cookie first-party (_gcl_aw)
- Prioritaire pour l'attribution
- Cookie restore Addingwell le reecrit en 1P
wbraid / gbraid
- Utilises en environnement iOS / privacy
- gbraid : attribution cross-device (app→web)
- wbraid : attribution web-to-app iOS 14.5+
- Transmis si presents
Attribution cookies (first-party)
Les cookies d'attribution sont persistes en first-party par Addingwell (cookie restore), survivant a ITP Safari et aux purges navigateur :
| Cookie | Parametre | Usage |
|---|---|---|
| _gcl_aw | gclid | Click ID — attribution des conversions Google Ads |
| _gcl_gb | gbraid | Click ID — attribution cross-device (app→web) |
| _gcl_gw | wbraid | Click ID — attribution web-to-app iOS 14.5+ |
Transmission vers serveur
- 1Lus cote GTM Web
- 2Injectes dans event GA4
- 3Transmis vers sGTM via transport first-party
- 4Injectes dans template Addingwell Google Ads
7Configuration
Credentials requis
| Parametre | Source | Emplacement |
|---|---|---|
| Conversion ID | Google Ads > Conversions > Settings | Variable GTM Server |
| Conversion Label | Google Ads > Conversions > Settings | Variable GTM Server |
Tag sGTM
Le tag GADS – Conv – purchase est configure dans le container sGTM via le template Addingwell. Enhanced Conversions est active par defaut.
Enhanced Conversions dans Google Ads
- 1Aller dans Google Ads > Conversions > Settings
- 2Activer "Enhanced Conversions"
- 3Choisir "Google Tag Manager" comme methode
- 4Verifier que les diagnostics confirment la reception des donnees
Remarketing tag
Le Remarketing tag reste client-side dans GTM Web pour les audiences Google Ads. Seule la conversion purchase passe par sGTM.
8Consent EU
Le consent est gere exclusivement via :
Cookiebot + GTM Consent Mode v2
Signaux requis pour Google Ads
| Signal | Requis | Categorie Cookiebot |
|---|---|---|
| ad_storage | Oui | Marketing |
| ad_user_data | Oui | Marketing |
Sans consent analytics / marketing
- Aucune conversion envoyee
- Aucun gclid transmis
- Aucune donnee user envoyee
- Les Enhanced Conversions ne fonctionnent pas sans consent
9Verification
Ou verifier
- 1Google Ads > Conversions > Diagnostics — verifier que les Enhanced Conversions sont recues
- 2Google Ads Tag Assistant — valider le conversion tag et les EC
- 3sGTM Preview — confirmer que le tag GADS – Conv – purchase se declenche
- 4DevTools > Application > Cookies — verifier la presence des cookies gclid, wbraid, gbraid
Phase 3 : Checklist Google Ads
Checklist de verification specifique a Google Ads, extraite du processus de QA complet :
10Interpretation des Metriques Google Ads
Pourquoi les conversions different parfois des clics ?
Causes normales :
- Consent refuse
- Utilisateurs multi-devices
- Blocage cookies
- Delais d'attribution
- Conversions modelisees
Pourquoi GA4 ≠ Google Ads ?
GA4
Base sur sessions analytics
Google Ads
Base sur clics publicitaires
Les logiques sont differentes. Un ecart entre les deux est normal.
11Metriques Fiables pour Optimisation
Les KPIs a privilegier :
- Cost per Conversion
- ROAS
- Conversion Value
- Conversion Rate apres consent
- Volume de conversions server-side
12Responsibilities Matrix
- dataLayer purchase
- Persistance gclid / wbraid
- Consent enforcement
- Deduplication
- Integrite sGTM
- Parametrage Conversion Actions
- Strategie d'encheres
- Analyse performance
- Lecture attribution
- Investigation ecarts plateformes
- Validation volumes
- Debug cross-systems
13Troubleshooting
Verifier :
- 1Consent actif (ad_storage + ad_user_data)
- 2Presence purchase GA4 dans sGTM Preview
- 3Reception sGTM — tag GADS – Conv – purchase declenche
- 4Transmission Google Ads — conversion visible dans Diagnostics
Verifier :
- Presence gclid dans l'URL d'arrivee
- Cookie first-party _gcl_aw actif (verifier DevTools > Cookies)
- Conversion window configuree dans Google Ads
- Enhanced Conversions actives et donnees recues
- Cookie restore Addingwell fonctionnel
Causes possibles :
- Double purchase dans la dataLayer
- Conversion importee en parallele (offline import)
- Absence de transaction_id stable
- Tag Google Ads browser encore actif en plus du server
Verifier :
- 1Verifier que EC est active dans Google Ads > Conversions > Settings
- 2Verifier que les donnees user sont presentes dans le DataLayer (email, phone)
- 3Verifier dans sGTM Preview que les donnees hashees sont transmises
- 4Attendre 48-72h — les diagnostics EC peuvent mettre du temps a se mettre a jour
Verifier :
- Cookie restore desactive dans Addingwell
- Custom domain sGTM non configure (les cookies sont ecrits par le domaine sGTM first-party)
- Verifier dans DevTools > Application > Cookies que _gcl_aw, _gcl_gb, _gcl_gw sont presents
- Activer Cookie Restore dans Addingwell > Settings
14Checklist
Checklist hebdomadaire MediaBuyer
Chaque semaine verifier :