Passer au contenu principal

Guide de configuration GTM / GA4

Chez Smeetz, nous proposons des capacités de suivi (tracking) via Google Tag Manager (GTM).

Mis à jour il y a plus de 2 semaines

1. Avantages de l'utilisation de Google Tag Manager

Suivi Simplifié

  • Changements de code minimes après l'installation initiale de GTM

  • Configuration et modification rapides des balises de suivi (via GTM)

  • Dépendance réduite vis-à-vis des développeurs

  • Interface visuelle pour la gestion des balises

Contrôle Centralisé

  • Plateforme unique pour toutes les balises de suivi

  • Contrôle de version et historique des modifications

  • Mises à jour faciles sur l'ensemble du site web

  • Implémentation cohérente sur toutes les pages

  • Fonctionnalités de collaboration en équipe

Avantages Supplémentaires

  • Vitesse : Implémentation plus rapide des balises marketing

  • Test : Mode de prévisualisation et de débogage intégré

  • Sécurité : Risque réduit d'erreurs de code

  • Flexibilité : Intégration facile avec de multiples plateformes

  • Conformité : Meilleur contrôle sur la collecte de données

2. Prérequis

Avant de commencer, assurez-vous d'avoir :

  • Un conteneur Web Google Tag Manager (ou la permission d'en créer/éditer un)

  • Une propriété GA4 et votre Measurement ID (format : G-XXXXXXXXXX)

  • Accès au code de votre site web/CMS pour installer GTM sur toutes les pages

  • (Recommandé) Une bannière de consentement / configuration du Consent Mode si vous opérez dans des régions réglementées

3. Aperçu du Processus de Suivi

Architecture du Flux de Données

  1. Action Client : L'utilisateur interagit avec le widget Smeetz

  2. Génération d'Événement : Objet E-commerce créé dans le flux de réservation

  3. Transmission de Données : Objet envoyé à votre site web

  4. Data Layer : Objets mis en file d'attente dans le dataLayer de GTM

  5. Traitement des Balises : GTM traite et transmet aux destinations

4. Événements Suivis

Les événements ci-dessous correspondent au format dataLayer Smeetz que Smeetz envoie au Google Tag Manager (GTM) de votre site web. Ce format n'est pas le même que le format d'événement/payload natif attendu par des plateformes comme Google Analytics 4 (GA4) ou Meta.

En pratique, vous utilisez GTM pour lire ces événements Smeetz (lorsqu'ils arrivent dans le dataLayer), puis mapper/transformer les données dans la structure attendue par la plateforme de destination et enfin les envoyer à GA4, Meta ou tout autre outil que vous utilisez.

Important : Certains événements peuvent contenir des informations personnellement identifiables (PII) (par exemple smtz_user_identity peut inclure une adresse email). Ne transmettez pas de PII en texte clair à GA4 (les politiques de GA interdisent l'envoi de PII). Utilisez GTM pour soit (a) éviter d'envoyer ces champs à GA4, soit (b) hacher/transformer les données uniquement là où votre plateforme de destination et la base légale le permettent.

widget-button-click

  • Quand il se déclenche : Lorsque l'utilisateur clique sur le bouton du widget (bouton Réserver) pour ouvrir l'iframe de réservation.

  • Ce que vous recevez : Un payload minimal contenant seulement l'événement.

JSON

{
"event": "widget-button-click"
}

smtz_user_identity

  • Quand il se déclenche : Lorsqu'un utilisateur est identifié dans le flux. Cela peut se produire (1) juste après qu'un utilisateur se connecte ou s'inscrit, (2) immédiatement à l'ouverture du widget si l'utilisateur est déjà connecté (session mémorisée), et (3) à nouveau plus tard dans le flux (il peut être émis plus d'une fois, par exemple près de la confirmation finale où smtz_purchase est envoyé).

  • Ce que vous recevez : Un payload d'identité utilisateur dans smeetzData. Au minimum, cela inclut email, et peut aussi inclure firstname/lastname lorsqu'ils sont disponibles. Traitez ce payload comme des PII et ne transmettez que ce dont vous avez besoin.

JSON

{
"event": "smtz_user_identity",
"smeetzLabel": "<user_email>",
"smeetzCategory": "user_identity",
"smeetzAction": "Identify user",
"smeetzData": {
"email": "<user_email>",
"firstname": "<first_name>",
"lastname": "<last_name>"
}
}

smtz_view_item_list

  • Quand il se déclenche : Lorsque l'utilisateur atteint la liste des billets (première fois qu'il voit les articles/billets disponibles pour un produit).

  • Ce que vous recevez : Le produit/article vu dans smeetzData (sous forme de tableau d'articles) pour supporter le suivi view_item_list de GA4.

JSON

{
"event": "smtz_view_item_list",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "view Item List",
"smeetzData": [
{
"id": "<product_id>",
"name": "<product_name>",
"currency": "<currency>",
"brand": "<brand>",
"quantity": 1
}
]
}

smtz_dynamicPricing_enabled

  • Quand il se déclenche : Lorsque la tarification dynamique est activée pour l'utilisateur/produit actuel (cela peut être envoyé avant les événements e-commerce normaux pour signaler la session).

  • Ce que vous recevez : Un événement de type "drapeau" (flag) utilisant la même structure e-commerce afin que vous puissiez segmenter ou enrichir le suivi en aval dans GTM.

JSON

{
"event": "smtz_dynamicPricing_enabled",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "view Item List",
"smeetzData": [
{
"id": "<product_id>",
"name": "<product_name>",
"currency": "<currency>",
"brand": "<brand>",
"quantity": 1
}
]
}

smtz_remove_from_cart

  • Quand il se déclenche : Lorsque l'utilisateur retire un billet/article du panier.

  • Ce que vous recevez : L'article retiré dans smeetzData (sous forme de tableau d'articles).

JSON

{
"event": "smtz_remove_from_cart",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "Remove From Cart",
"smeetzData": [
{
"id": "<ticket_name>",
"name": "<product_name>",
"currency": "<currency>",
"brand": "<brand>",
"price": 0,
"quantity": 1
}
]
}

smtz_view_cart

  • Quand il se déclenche : Lorsque l'utilisateur ouvre/voit l'écran du panier.

  • Ce que vous recevez : Le contenu actuel du panier dans smeetzData (sous forme de tableau d'articles).

JSON

{
"event": "smtz_view_cart",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "View Cart",
"smeetzData": [
{
"id": "<item_id>",
"name": "<ticket_name>",
"currency": "<currency>",
"brand": "<brand>",
"category": "<ticket_name>",
"price": 0,
"quantity": 1
}
]
}

smtz_add_to_cart

  • Quand il se déclenche : Lorsque le client ajoute un billet/article au panier.

  • Ce que vous recevez : L'article ajouté dans smeetzData (sous forme de tableau d'articles) et un transactionId (référence de réservation).

JSON

{
"event": "smtz_add_to_cart",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "Add to cart",
"transactionId": "<booking_ref>",
"smeetzData": [
{
"id": "<ticket_id>",
"name": "<ticket_name>",
"currency": "<currency>",
"brand": "<brand>",
"price": 0,
"quantity": 1,
"discount": 0
}
]
}

smtz_begin_checkout

  • Quand il se déclenche : Lorsque le client commence le processus de commande (passe du panier au checkout).

  • Ce que vous recevez : Les articles actuels du panier dans smeetzData (sous forme de tableau d'articles) et un transactionId (référence de réservation).

JSON

{
"event": "smtz_begin_checkout",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "Begin Checkout",
"transactionId": "<booking_ref>",
"smeetzData": [
{
"id": "<item_id>",
"name": "<ticket_name>",
"currency": "<currency>",
"brand": "<brand>",
"category": "<ticket_name>",
"price": 0,
"quantity": 1,
"discount": 0
}
]
}

smtz_checkout_progress

  • Quand il se déclenche : Lorsque le client avance dans les étapes de commande (progression dans le flux de checkout).

  • Ce que vous recevez : Les articles actuels de la commande dans smeetzData (sous forme de tableau d'articles) et un transactionId (référence de réservation).

JSON

{
"event": "smtz_checkout_progress",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "Checkout progress",
"transactionId": "<booking_ref>",
"smeetzData": [
{
"id": "<item_id>",
"name": "<ticket_name>",
"currency": "<currency>",
"brand": "<brand>",
"category": "<ticket_name>",
"price": 0,
"quantity": 1,
"discount": 0
}
]
}

smtz_payment_info

  • Quand il se déclenche : Lorsque le client atteint/soumet les informations de paiement durant le checkout.

  • Ce que vous recevez : Les articles actuels de la commande dans smeetzData (sous forme de tableau d'articles), un transactionId (référence de réservation), et une value représentant le total de la réservation à cette étape.

JSON

{
"event": "smtz_payment_info",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "Add payment Info",
"transactionId": "<booking_ref>",
"smeetzData": [
{
"id": "<item_id>",
"name": "<ticket_name>",
"currency": "<currency>",
"brand": "<brand>",
"category": "<ticket_name>",
"price": 0,
"quantity": 1,
"discount": 0
}
],
"value": 0
}

smtz_purchase

  • Quand il se déclenche : Lorsque la réservation est complétée avec succès (achat/confirmation).

  • Ce que vous recevez : Les articles achetés dans smeetzData (sous forme de tableau d'articles), un transactionId (référence de réservation), et une value représentant le total. Cet événement peut également inclure des champs client qui sont déjà hachés (SHA-256) tels que customerEmail, customerFirstName, customerLastName, et customerPhoneNumber.

JSON

{
"event": "smtz_purchase",
"smeetzLabel": "<product_name>",
"smeetzCategory": "ecommerce",
"smeetzAction": "Purchase",
"smeetzData": [
{
"id": "<item_id>",
"name": "<ticket_name>",
"currency": "<currency>",
"brand": "<brand>",
"price": 0,
"quantity": 1,
"category": "<ticket_name>",
"discount": 0
}
],
"transactionId": "<booking_ref>",
"value": 0,
"customerEmail": "<sha256_email_hex>",
"customerFirstName": "<sha256_first_name_hex>",
"customerLastName": "<sha256_last_name_hex>",
"customerPhoneNumber": "<sha256_phone_hex>"
}

5. Étapes d'Implémentation

Étape 1 : Installer le snippet GTM sur votre site web (requis)

Cette étape est requise pour que GTM puisse recevoir et traiter les événements dataLayer.

  1. Dans Google Tag Manager, allez dans AdminInstaller Google Tag Manager (ou cliquez sur votre ID de conteneur en haut).

  2. Copiez les deux snippets affichés par GTM :

    • Script snippet : collez-le dans la section <head>.

    • NoScript snippet : collez-le immédiatement après la balise d'ouverture <body>.

  3. Installez les snippets sur toutes les pages où le widget peut être utilisé (y compris les sous-domaines si applicable).

  4. Vérifiez l'installation : Ouvrez votre site web et utilisez le mode Tag Assistant / Preview dans GTM. Confirmez que le conteneur se charge et que vous voyez les événements dataLayer arriver.

Note : Ne réécrivez pas le snippet manuellement. Copiez-le toujours depuis l'interface GTM pour éviter les fautes de frappe.

Étape 2 : Insérer l'ID GTM dans le Back Office Smeetz

  1. Connectez-vous au back office Smeetz

  2. Naviguez vers la section Intégrations

  3. Localisez le champ GTM/Google Tag Manager

  4. Entrez votre ID de Conteneur GTM (format : GTM-XXXXXXX)

  5. Sauvegardez les modifications

Étape 3 : Importer le Conteneur JSON dans GTM

  1. Accédez à Google Tag Manager

  2. Cliquez sur AdminImporter le conteneur

  3. Téléchargez le fichier JSON fourni

  4. Sélectionnez Fusionner ou Écraser selon vos besoins

  5. Confirmez l'importation: Smeetz-GTM-Container.json

Étape 4 : Configurer le Measurement ID GA4

Après avoir importé le conteneur GTM, vous devez définir votre Measurement ID GA4 :

  1. Allez dans Variables dans Google Tag Manager

  2. Cherchez la variable nommée Measurement ID

  3. Ouvrez-la et remplacez la valeur par votre Measurement ID GA4 (format : G-XXXXXXXXXX)

  4. Sauvegardez les modifications

Étape 5 : Tester dans GTM Preview avant de publier (recommandé)

  1. Dans GTM, cliquez sur Prévisualiser et connectez-le à votre site web.

  2. Ouvrez le widget et effectuez un flux de réservation test.

  3. Confirmez que vous voyez les événements Smeetz dans la timeline de prévisualisation GTM (par exemple smtz_view_item_list, smtz_add_to_cart, smtz_purchase).

  4. Confirmez que vos balises GA4 se déclenchent et que les événements apparaissent dans GA4 Temps réel.

Étape 6 : Publier le conteneur GTM

  1. Dans GTM, cliquez sur EnvoyerPublier.

  2. (Recommandé) Ajoutez un nom de version court comme Configuration e-commerce Smeetz GA4.

Avez-vous trouvé la réponse à votre question ?