Retour au blog

Blog

Google Ads et tagging côté serveur : comment chaque conversion retrouve son clic

Publié · 6 min de lecture

La configuration du suivi des conversions dans Google Ads se termine par deux demandes : associer votre balise Google existante et coller un extrait d’événement sur votre page d’achat. Avec le tagging côté serveur, la première ne pose aucun problème et la seconde est une erreur. Cet article suit un clic sur une annonce depuis la page de destination jusqu’à la conversion dans Google Ads : ce qui passe par votre serveur de tagging, ce qui va directement chez Google, et ce dont SignalHost s’occupe en chemin. Nous utilisons nous-mêmes Google Ads pour signalhost.io : tout ce qui suit a été mesuré sur notre propre site.

Ce qui change quand vous associez votre balise Google

Lorsque vous créez une action de conversion, Google Ads cherche une balise Google sur votre site et propose de l’utiliser. Si vous acceptez, votre balise Google — celle qui porte votre ID de mesure G- — reçoit votre compte Ads (AW-…) comme seconde destination. Google prévient que cela met à jour les paramètres de la balise. La modification se fait dans les paramètres de la balise chez Google, pas dans votre conteneur Tag Manager, mais dès lors chaque page qui charge la balise communique aussi avec Google Ads.

Chaque page vue envoie désormais quelques requêtes depuis le navigateur du visiteur directement à Google, vers googleads.g.doubleclick.net et www.google.com, pour vos listes de remarketing et les mesures de Google. Elles ne passent pas par votre serveur de tagging, et c’est voulu : relayées par un serveur, elles arriveraient toutes depuis l’adresse du serveur au lieu de celle du visiteur, ce qu’on ne veut pas montrer à une plateforme publicitaire. Vos données GA4 continuent de passer par votre propre domaine, comme avant.

Vous découvrez le tagging côté serveur ? Comment configurer Google Tag Manager côté serveur, étape par étape.

Laissez l’extrait de conversion de Google hors de votre page

Ensuite, Google Ads propose un extrait d’événement pour votre page d’achat. Il envoie la conversion depuis le navigateur directement à Google Ads, sans passer par votre serveur de tagging — avec une valeur de 1.0 et un ID de transaction vide tant que personne ne les renseigne.

// Google's event snippet: not for your page.
// Paste it into the Conversion ID box in SignalHost instead.
gtag('event', 'conversion', {
  'send_to': 'AW-123456789/AbC-D_efGh12_34',
  'value': 1.0,
  'currency': 'EUR',
  'transaction_id': ''
});

Avec SignalHost, c’est votre conteneur serveur qui envoie la conversion. Ouvrez votre conteneur, dépliez « Destinations de conversion » et saisissez l’ID et le libellé de conversion sous Google Ads. Dès lors, chaque achat que votre site signale déjà — l’événement GA4 purchase — part vers Google Ads depuis le serveur, avec sa valeur, sa devise et son ID de transaction. Rien ne change dans votre Tag Manager.

N’ajoutez pas l’extrait en plus. Avec les deux, chaque achat est enregistré deux fois : Google ne fusionne deux conversions que si elles portent le même ID de transaction, et celui de l’extrait est généralement vide.

Inutile d’extraire vous-même l’ID et le libellé de l’extrait. Collez l’extrait entier, ou seulement sa valeur send_to, dans le champ « ID de conversion » : les deux champs se remplissent. L’ID fonctionne sous les deux formes, AW-123456789 ou 123456789.

Comment le clic survit jusqu’à l’achat

Une conversion n’est utile à Google Ads que si elle peut être rattachée au clic qui l’a provoquée. Le lien, c’est l’ID de clic : Google l’ajoute à l’adresse de votre page de destination sous la forme gclid=…, et il disparaît de l’adresse au clic suivant du visiteur.

Chaque conteneur SignalHost comprend pour cela un Conversion Linker côté serveur. Il lit l’ID de clic dans le hit de la page de destination et l’enregistre dans un cookie propriétaire nommé FPGCLAW, sur votre domaine. Quand l’achat arrive — trois pages ou trois jours plus tard —, la balise Google Ads de votre conteneur serveur lit ce cookie et envoie la conversion avec le clic.

Deux conditions doivent être remplies. Le visiteur doit accepter la publicité dans votre bandeau cookies : sans ce consentement, le linker n’enregistre rien et la balise Ads n’envoie rien. Et le navigateur doit accepter le cookie, ce qui dépend de l’adresse sur laquelle tourne votre serveur de tagging.

Pourquoi Google Ads a besoin de votre propre domaine

Le cookie du clic est posé par votre serveur de tagging, et les navigateurs ne l’acceptent que si ce serveur fait partie de votre propre site : un sous-domaine comme metrics.votresite.fr. L’adresse avec laquelle démarre chaque conteneur est un sous-domaine de signalhost.io, c’est-à-dire, pour le navigateur, le site de quelqu’un d’autre : là, le cookie est refusé.

Rien ne signale la différence. Les conversions arrivent toujours dans Google Ads, mais sans leur clic, si bien que Google Ads ne peut les attribuer à aucune campagne — ce qui ressemble exactement à des annonces qui ne marchent pas. Associez votre propre domaine avant de juger une campagne sur ses chiffres : il suffit d’un enregistrement CNAME, et le certificat est émis automatiquement. Tant qu’aucun domaine n’est actif, les réglages Google Ads de votre conteneur le signalent. Comment faire pointer votre propre domaine vers votre serveur de tagging.

Quand l’achat a lieu plusieurs jours après

Les essais gratuits et les abonnements cassent le parcours habituel : l’argent bouge plusieurs jours après la visite, quand personne n’est sur votre site, donc l’achat doit partir de votre serveur — en général depuis le webhook de votre prestataire de paiement, comme le décrit notre guide des checkouts personnalisés.

Pour Google Ads, cet achat a besoin de deux choses de plus, à prendre au moment du checkout, pendant que le visiteur est encore là. Conservez les cookies publicitaires que porte la requête du checkout — FPGCLAW, FPAU et les cookies _gcl_ de Google, qui n’existent qu’une fois la publicité acceptée — et renvoyez-les comme cookies avec l’achat, en marquant le consentement publicitaire comme accordé. Sans eux, Google Ads ne peut ni accepter la conversion ni l’attribuer.

// At checkout: keep the advertising cookies with the order.
// They only exist once the visitor allowed advertising.
const AD_COOKIES = ['FPGCLAW', 'FPAU', '_gcl_aw', '_gcl_au'];
order.adCookies = pick(req.cookies, AD_COOKIES);

// In the payment webhook: send them back with the purchase.
// gcs=G111 in the params: advertising and analytics consent granted.
await fetch(`https://metrics.yoursite.com/g/collect?${params}`, {
  method: 'POST',
  headers: { cookie: serialize(order.adCookies) },
});

C’est ainsi que signalhost.io déclare ses propres abonnements : le webhook Stripe envoie l’achat quand la première facture est payée, et il transporte le clic sur l’annonce depuis le checkout.

Ce dont SignalHost s’occupe

Vous saisissez deux valeurs. Tout le reste est inclus dans chaque conteneur :

  • Le Conversion Linker et la balise de conversion Google Ads. Un ID et un libellé suffisent pour les activer dès la requête suivante.
  • La balise Ads se déclenche sur les achats et sur rien d’autre. Une balise qui écouterait tous les événements enregistrerait chaque page vue comme une vente.
  • Le consentement publicitaire est appliqué sur le serveur : un visiteur qui a refusé la publicité ne produit aucune conversion dans Google Ads.
  • Chaque cookie posé par votre serveur de tagging arrive dans le navigateur : l’ID de clic, l’ID propriétaire du visiteur et l’ID utilisateur publicitaire.
  • L’ID de conversion est envoyé sous la forme attendue par la balise, quelle que soit la façon dont vous l’avez saisi.
  • La page de votre conteneur vous prévient quand il manque votre propre domaine à Google Ads.

signalhost.io fonctionne exactement avec cette configuration et notre propre compte Google Ads. Le contrôle auquel nous nous fions est une visite de test avec un ID de clic : à la fin, le cookie du clic doit se trouver dans le navigateur.

Vérifier votre propre configuration

  • Ouvrez votre site avec ?gclid=test à la fin de l’adresse et acceptez la publicité dans votre bandeau cookies. Parmi les cookies de votre navigateur pour votre domaine, vous devriez maintenant trouver FPGCLAW.
  • Démarrez une session d’aperçu dans « Outils développeur » de votre conteneur, cliquez sur Prévisualiser pour votre conteneur serveur dans Tag Manager et effectuez un achat de test. La balise de conversion Google Ads doit se déclencher, avec la valeur, la devise et l’ID de transaction.
  • Vérifiez que l’extrait d’événement de Google n’est pas sur votre page d’achat et qu’aucune balise de conversion Google Ads de votre conteneur web ne se déclenche sur le même achat.
  • Laissez un jour à Google Ads : une nouvelle action de conversion peut mettre ce temps à apparaître comme active.

Si des conversions arrivent sans jamais être attribuées à une campagne, le clic se perd en route : vérifiez d’abord le consentement et votre propre domaine.

Cessez de perdre vos données

Dix mille requêtes par mois, gratuitement, aussi longtemps que vous voulez. Quatre minutes pour savoir si ça aide.