Traquer des événements offline en Server-Side
Les événements offline font référence aux interactions des utilisateurs qui se produisent en dehors d’un site web (ou d’une application mobile).
Ces événements peuvent être par exemple :
- des achats en magasin
- des conversions par appel téléphonique
- des soumissions de formulaires de prospects via un CRM
- ou toute autre action hors ligne que vous souhaitez suivre et attribuer à vos efforts marketing.
Traquer ces événements supplémentaires est pertinent pour :
- l’analyse unifiée du parcours client (online+offline)
- l’attribution de conversions hors ligne à vos campagnes média.
Avec l’API Measurement Protocol de Google et votre GTM Server, vous pouvez envoyer ces événements hors ligne vers des plateformes comme Google Analytics 4, Google Ads, Meta ou d’autres services tiers.
Envoyer des événements offline à vos prestataires via votre serveur
Pour traquer vos événements offline, notre recommandation est d’utiliser l’API Measurement Protocol de Google, qui vous facilitera grandement la tâche.
Voici les étapes clés pour envoyer un événement offline à vos prestataires média et analytics :

- Récolter un événement hors ligne (par exemple un achat en magasin) dans votre outil interne.
- Envoyer les données de cet événement vers votre serveur GTM, via l’API Measurement Protocol.
- Sur votre GTM Serveur, le client Measurement Protocol récupère cette requête.
- Les données de votre événement sont interprétées par le client et mises à disposition dans le tableau de données d’événements.
- Vous pouvez ensuite configurer vos tags depuis votre GTM Serveur pour envoyer cet événement offline et ses informations clés à vos prestataires média et analytics.
Voyons maintenant en détail les étapes pour envoyer vos événements offline à votre Serveur.
Étape 1 : Créer un nouveau client Measurement Protocol GA4
- Dans votre conteneur GTM Server, cliquez sur l’onglet “Clients” puis sur “New”.

- Choisissez ensuite le client “Measurement Protocol (GA4)”.

- Donnez le titre “Measurement Protocol” à ce client, et entrez le path
/mp/collect
dans “Activation Path”

- Il faut ensuite impérativement publier votre conteneur GTM en cliquant sur
Submit

Le nouveau client Measurement Protocol est maintenant prêt à recevoir les requêtes offline que vous allez envoyer à votre serveur de tracking!
Étape 2 : Envoyer vos événements offline à votre GTM Server via le Measurement Protocol
Vous pouvez recueillir les données des événements hors ligne à partir de sources telles que :
- Systèmes CRM (ex. : HubSpot, Salesforce, ..)
- Systèmes de point de vente (POS)
- Outils de suivi des appels téléphoniques
- Formulaires de génération de leads
Les données collectées peuvent inclure :
- Identifiants utilisateur (ex. : e-mail, numéro de téléphone, ID utilisateur, données hachées)
- Détails de l’événement (ex. : ID de transaction, revenu, produits, horodatage)
- Données d’attribution marketing, en fonction du prestataire vers lequel vous souhaitez envoyer vos événements, comme :
- Google Ads offline : envoi du Google Click ID (GCLID)
- Facebook Ads offline : envoi du Facebook Click ID (FBCLID)
- Paramètres UTM : pour l’envoi d’événements offline à d’autres prestataires média.
Pour envoyer des requêtes au serveur GTM en mode server-side, un appel API standard doit être effectué en utilisant les informations ci-dessous:
URL : https://metrics.example.com/mp/collect?measurement_id=G-XXXXX
Method : POST
Headers : Content-Type: application/json
Body : Voir l'exemple détaillé plus loin
Attention : Assurez-vous de remplacer dans l’URL metrics.example.com par votre propre sous-domaine de tracking, et le G-XXXXX par le measurement id de votre propriété GA4.
Body : Nous prenons ici l’exemple d’un achat en magasin, avec l’envoi d’une requête d’un événement offline purchase
Pour d’autres types d’événements, vous pouvez retrouver dans la documentation de Google toutes les informations sur leur structure optimale.
{
"events": [
{
"name": "purchase",
"params": {
"currency": "EUR",
"transaction_id": "1234",
"value": 50,
"coupon": null,
"tax": 10,
"items": [
{
"item_id": "1",
"item_name": "test",
"coupon": null,
"currency": "EUR",
"discount": 0,
"index": 0,
"item_brand": "Mybrand",
"item_category": "CategoryTest",
"item_list_id": "idtest_products",
"item_list_name": "ItemNameTest",
"item_variant": "Green",
"price": 40,
"quantity": 1
}
],
"user_id": "test_user_id",
"user_data": {
"email_address": "[email protected]",
"sha256_email_address": "kdfhadjfbkaljfgbalsjfgbalsgjbs",
"phone_number": "0600000000",
"address": [
{
"first_name": "TestName",
"last_name": "TestLastName",
"street": "TestStreet",
"country": "FR",
"postal_code": "67"
}
]
}
}
}
]
}
Dans les prochaines étapes, nous allons nous assurer du bon fonctionnement de cette requête en vérifiant:
- Que la requête est fonctionnelle : nous allons utiliser pour cela un outil pour simuler l’envoi d’un événement offline.
- La bonne réception de cet événement côté serveur via une prévisualisation côté GTM Server.
Étape 3 : Tester l’envoi des requêtes d’événements offline vers votre serveur
Pour tester la requête configurée à l’étape précédente, nous allons simuler l’envoi d’un événement offline via l’outil gratuit Postman. Créez un compte sur l’interface puis suivez les étapes ci-dessous pour tester vos requêtes.
- Ouvrez Postman et cliquez sur le “+” pour ouvrir un nouvel onglet.

- Choisissez la méthode POST et renseignez l’URL, comme dans l’exemple
https://metrics.example.com/mp/collect
Remplacez bien “metrics.example.com” par votre propre sous-domaine de tracking!
Dans l’onglet Body, choisissez l’option “raw” et le format JSON.
Copiez la requête test de l’événement online que vous souhaitez tester. Dans notre exemple nous avons copié la requête de l’évenement purchase
créé à l’étape 2.

- Ouvrez votre conteneur GTM Server et cliquez sur “Prévisualiser”.

- Cliquez sur les trois points (en haut à droite) et sélectionnez “Envoyer les requêtes manuellement”

- Copiez le token qui apparaît pour le preview HTTP Header

- Retournez dans l’outil Postman, et remplissez depuis l’onglet Headers
La key
X-Gtm-Server-Preview
, ainsi que la value correspondant au token précédemment récupéré sur GTM.

- Cliquez sur “Send”. Si la requête est correcte et qu’elle est bien envoyée, vous devez voir une réponse avec le statut 200.

Étape 4 : Prévisualiser vos événements offline de test dans GTM Server
Maintenant que nous avons testé l’envoi des requêtes de test, voyons comment visualiser ces événements offline envoyés en test à votre GTM Serveur pour vérifier:
- que le client Measurement Protocol réclame bien ces requêtes d’événements entrantes sur le serveur.
- que les données envoyées pour vos événements offline sont bien mises à disposition dans l’onglet “Event Data”
Dans la prévisualisation GTM Serveur, vous devez dorénavant être en capacité de visualiser les événements offline que vous envoyez à votre serveur. Nous avons envoyé un test pour un événement de purchase offline lors de l’étape précédente via Postman, et nous pouvons dorénavant le visualiser dans la prévisualisation.
- L’événement apparaît bien sur la gauche de l’écran, et le client Measurement Protocol a bien réclamé cette requête entrante.

- Depuis l’onglet Event Data, nous pouvons également vérifier que tous les paramètres envoyés dans notre requête de test sont présents (user-data, items, transaction_id, value, etc..).

Nous pouvons nous baser sur ces données par la suite pour envoyer ces événements offline vers des régies comme Google ou Meta!
Bonus : Prévisualiser vos véritables événements offline en production
Nous avons vu précédemment comment prévisualiser un événement de test envoyé depuis l’outil Postman. Si vous souhaitez en revanche prévisualiser vos événements offline rééllement envoyés en production, il vous reste un ultime setup à réaliser.
- Depuis votre container Addingwell, cliquez sur l’onglet Tagging Server, puis sur l’icône stylo dans la carte Info > Preview Header Token

- Collez ensuite le token preview HTTP Header précédemment récupéré sur GTM dans Preview Token (cf Etape 3.5)
Limitez également le token au chemin spécifique
/mp/collect
dans l’onglet “By path” pour filtrer les données offline. Vous pouvez également ajouter une adresse IP spécifique dans l’onglet “By IP” pour filtrer les données et ne recevoir que vos événements de tests.

Le token est déployé en quelques minutes et est automatiquement supprimé après deux heures. Il faudra donc refaire cette manip sur Addingwell la prochaine fois que vous souhaitez visualiser vos events offline en production.
Vous pouvez dorénavant visualiser vos événements offline en production dans la Preview GTM Serveur.
Félicitations 🎉
Bravo, vous avez configuré avec succès l’envoi et la récéption des événements offline en server-side ! 🚀 Si vous avez des questions ou rencontrez des difficultés, n’hésitez pas à contacter notre équipe support, prête à vous aider à chaque étape.