💡 Assurez‑vous de consulter le changelog (Journal des modifications) pour vérifier que les événements suivis sont bien à jour.
Comment le suivi est implémenté
📒 REMARQUE:
Le système de paiement Ventrata utilise l’implémentation dataLayer conformément à la documentation de Google.
Cet article fournit un guide complet pour configurer le suivi des événements avec Google Tag Manager (GTM) et Google Analytics 4 (GA4). Vous apprendrez à configurer et suivre divers Core Events et Custom Events afin de capturer les interactions significatives tout au long du parcours client dans le processus de paiement.
Le système de paiement Ventrata permet aux clients de suivre les actions des utilisateurs à l’aide d’une combinaison d’événements de base (Core Events) et d’événements personnalisés (Custom Events). Ces événements permettent de collecter des données comportementales, utiles pour optimiser le processus de paiement.
Événements de base (Core Events)
Événements toujours déclenchés, quel que soit le produit ou la configuration du checkout.
Événement | Description |
| déclenché lorsque le client affiche un article initial ou ultérieur |
| déclenché lorsque le client ajoute un produit au panier |
| envoyé lorsque le client consulte son panier, examinant les articles avant de passer à la caisse |
| déclenché lorsque le client commence le processus de paiement |
| envoyé lorsque le client saisit toutes les informations requises et passe au paiement |
| déclenché lorsque le client saisit ses informations de paiement |
| déclenché lorsque la transaction est terminée et que le paiement est confirmé |
| déclenché lorsqu’une session de checkout expire sans achat réussi ou lorsque le client ferme le checkout avant de finaliser le paiement |
Événements personnalisés
Événements optionnels déclenchés en fonction de configurations spécifiques, des caractéristiques du produit et des interactions du client.
Événement | Description |
| envoyé comme premier événement lorsque le client sélectionne une option |
| déclenché lorsque le client sélectionne Buy as a Gift Card (Acheter comme carte cadeau) option |
| déclenché lorsqu'un article cadeau est ajouté au panier |
| déclenché lorsque le client sélectionne une unité ou catégorie spécifique, telle que |
| déclenché lorsque le client clique sur le bouton moins pour désélectionner une unité ou catégorie spécifique, telle que |
| envoyé lorsque le client sélectionne une date pour sa réservation |
| déclenché lorsque le client choisit un créneau horaire spécifique pour sa réservation |
| déclenché lorsque le client choisit d'être notifié de la disponibilité d'un produit en rupture de stock |
| déclenché lorsque le client choisit d’enregistrer sa réservation en tant que devis |
| envoyé lorsque le client confirme sa place sur une liste d'attente |
| déclenché une fois que la sélection d’upgrade est affichée |
| déclenché lorsque le client améliore son billet |
| déclenché une fois que la sélection de vente croisée (cross-sell) est affichée |
| déclenché lorsque le client sélectionne un produit supplémentaire à acheter |
| déclenché lorsque le client sélectionne un point de prise en charge pour sa réservation |
| envoyé lorsque le client sélectionne et répond à une question configurée |
| déclenché lorsque le client modifie sa réservation |
| envoyé lorsque le client supprime une réservation de son panier |
Configuration de Google Tag Manager (GTM)
Prérequis :
Un site Web sur lequel vous pouvez ajouter les codes GTM et GA4.
Un compte Google Tag Manager et un container configuré pour votre site.
Une propriété Google Analytics 4 créée dans la console d’administration GA4.
Installer GTM
Si vous n'avez pas installé GTM sur votre site, suivez les instructions fournies par Google.
Configurer la balise de configuration GA4
Créez une nouvelle balise dans GTM de type « Google Analytics : configuration GA4 ». Configurez la balise avec votre ID de mesure GA4.
Configurer les balises d'événements GA4
Créez des balises pour chaque événement que vous souhaitez suivre (View Item, Custom Event, Add To Cart, View Cart, Begin Checkout, Add Payment Info, Purchase). Pour chaque balise, définissez le « Event Name (Nom de l'événement) » et tous les « Event Parameters (Paramètres d'événement) » supplémentaires requis.
Configurer les déclencheurs
Créez des déclencheurs qui activeront les balises respectives en fonction des interactions des utilisateurs ou des événements sur votre site web.
Chaque événement recommandé par Google dispose d'un exemple de configuration de balise comme montré dans ce Exemple d'événement d'achat.
📗 ASTUCE
Suivez les étapes dans cet article pour configurer Google Tag Manager (GTM) et Google Analytics 4 (GA4).
Glossaire
📗 ASTUCE
Nous vous recommandons également de consulter cette documentation de Google.
Paramètres globaux
Paramètre | Description | Exemple |
| nom de l'événement suivi |
|
| horodatage du déclenchement de l'événement |
|
| langue sélectionnée par le client |
|
| informations associées à l'événement, en particulier pour les événements personnalisés |
|
Paramètres partagés
Ces paramètres ne sont pas inclus dans chaque événement. Dans certains cas, ils sont imbriqués sous ecommerce.items (voir le Purchase - objet complet exemple), tandis que dans certains événements ils apparaissent directement dans le corps principal (voir le Select unit - objet complet exemple).
Paramètre | Description | Exemple |
| informations associées à l'événement, en particulier pour les événements personnalisés |
|
| identifiant unique du produit correspondant au backend |
|
| nom du produit dans la langue par défaut |
|
| identifiant unique attribué à l'option du produit |
|
| nom de l'option dans la langue par défaut |
|
| mode de checkout, qui peut être soit |
|
| valeur booléenne indiquant si la vente croisée a été activée |
|
Paramètres de l'objet e-commerce
Paramètre | Description | Exemple |
| nom de la promotion / coupon |
|
| devise des articles associés à l'événement |
|
| informations détaillées sur les produits / options | Voir Tableau des paramètres des articles ci-dessous |
| informations détaillées sur les extras | Voir Tableau des paramètres supplémentaires ci-dessous |
| valeur monétaire de l'événement - revenu (hors taxes) |
|
| taxe appliquée à la réservation |
|
| identifiant unique attribué à la commande ; il correspond au backend |
|
| identifiant unique attribué à la commande ; il correspond au backend |
|
| valeur par défaut |
|
| quantité du produit sélectionné |
|
| remise appliquée à la commande |
|
Paramètres de l'article
Paramètre | Description | Exemple |
| ID de l'unité |
|
| identifiant unique attribué à la réservation ; il correspond au backend | |
| identifiant unique du produit correspondant au backend |
|
| nom du produit dans la langue par défaut |
|
| identifiant unique attribué à l'option du produit |
|
| nom de l'option dans la langue par défaut |
|
| nom de l'unité dans la langue par défaut |
|
| date de voyage |
|
| heure de voyage |
|
| type de groupe touristique dans la langue par défaut |
|
| prix du produit |
|
| taxe appliquée à la réservation |
|
| remise sur le produit |
|
| quantité du produit |
|
| informations détaillées sur les extras | Voir Tableau des paramètres supplémentaires ci-dessous |
| valeur booléenne indiquant si la vente croisée a été activée |
|
| valeur booléenne indiquant si l’achat est un cadeau |
|
| valeur monétaire du cadeau |
|
| valeur booléenne indiquant si le produit peut être réservé à plusieurs dates |
|
| si le produit est un forfait, un tableau de produits sera listé ici | Voir Tableau des paramètres des forfaits ci-dessous |
Paramètres supplémentaires
Paramètre | Description | Exemple |
| ID supplémentaire |
|
| nom supplémentaire dans la langue par défaut |
|
| prix supplémentaire |
|
| quantité supplémentaire |
|
| taxe appliquée à l’extra |
|
Paramètres client
Paramètre | Description | Exemple |
| concaténation du prénom et du nom du client |
|
| nom saisi dans le formulaire de contact |
|
| nom de famille saisi dans le formulaire de contact |
|
| titre sélectionné par le client | |
| email saisi dans le formulaire de contact | |
| numéro de téléphone saisi dans le formulaire de contact |
|
| âge du client |
|
| date de naissance du client | |
| locales sélectionnées par le client ou locales par défaut | |
| pays sélectionné dans la liste du formulaire de contact |
|
| adresse postale fournie par le client | |
| ville saisie par le client |
|
| État ou région du client | |
| code postal saisi dans le formulaire de contact |
|
| notes supplémentaires saisies par le client | |
| numéro d’identification fiscale du client |
|
| valeur booléenne indiquant si le client a consenti à recevoir des communications marketing | |
Paramètres des forfaits
Paramètre | Description | Exemple |
| nom du produit inclus dans un forfait dans la langue par défaut |
|
| nom de l'option d'un produit inclus dans un forfait dans la langue par défaut |
|
| nom de l'unité d'un produit inclus dans un forfait dans la langue par défaut |
|
| date de voyage dans un forfait |
|
| heure de voyage dans un forfait |
|
| type de groupe touristique dans un forfait dans la langue par défaut |
|
Paramètres des questions
Paramètre | Description | Exemple |
| question posée au client dans la langue par défaut |
|
| réponse fournie par le client à la question |
|
Paramètres des ramassages
Paramètre | Description | Exemple |
| informations associées à l'événement, en particulier pour les événements personnalisés dans la langue par défaut |
|
| nom du point de prise en charge dans la langue par défaut |
|
| nom de l'option pour le point de prise en charge dans la langue par défaut |
|
Test du checkout
📗 ASTUCE
Vous pouvez tester le checkout avec un produit fictif et utiliser des cartes de test Adyen pour les paiements par carte.
Mise en œuvre du suivi des événements
View_option_select (Afficher la sélection d'options)
Suit l’affichage des options du produit par le client.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client sélectionne un produit avec des options et que la page des options est affichée.
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "view_option_select",
"ecommerce": {
"currency": "EUR",
"checkout_mode": "popup",
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"items": [
{
"item_id": "7319e191-e1e5-41b3-9cc8-0f94faea98d2",
"item_variant": "Mount Everest - Ascent to Camp 2"
},
{
"item_id": "fc8010ec-e785-4f19-af6d-34dec76a29e3",
"item_variant": "Mount Everest - Ascent to Camp 3"
},
]
},
"custom_timestamp": 1770377638403,
"preferred_locale": "en",
"gtm.uniqueEventId": 55
})
View_item (Afficher article)
Déclenché lorsqu'un client consulte un produit dans le widget de checkout de Ventrata.
Cet événement est déclenché dès que la fenêtre de paiement s'ouvre (en mode pop-up ou intégré).
En mode intégré (embedded), cet événement se déclenche chaque fois que le client visite la page avec le checkout intégré, ce qui peut entraîner plusieurs
view_itemévénements au cours d'une seule sessionEn mode pop-up, cet événement est déclenché lorsque le client clique activement sur le Book Now (Réserver maintenant) bouton ou effectue une action équivalente pour ouvrir le checkout
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant pour suivre l'étape Billets :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "view_item",
"ecommerce": {
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id": "",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"item_category": "6 seater car",
"price": 400,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"crossSell": false
}
],
"extras": []
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 26
})
View_gift_item (Voir l'article cadeau)
Suit lorsque le client achète un cadeau via le widget.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client clique sur le Buy as a gift card (Acheter comme carte cadeau) lien :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "view_gift_item",
"ecommerce": {
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id" : "",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"item_category": "6 seater car",
"price": 400,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"crossSell": false
}
],
"extras": []
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 31
})
Gift_added_to_cart (Cadeau ajouté au panier)
Déclenché lorsqu'un client ajoute un article cadeau ou une carte cadeau à son panier.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client clique sur le Continue (Continuer) bouton (après sélection de l'unité ou du montant) dans le Cadeau étape :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "gift_added_to_cart",
"ecommerce": {
"checkout_mode": "popup",
"currency": "EUR",
"items": [
{
"item_id": "d75fb204-9bbe-465f-95a2-21945553c95e",
"booking_id" : "",
"option_id" : "",
"product_id" : "",
"item_name": "Gift card",
"item_variant": "",
"item_category": "",
"item_category2": "",
"item_category3": "",
"item_category4": "",
"crossSell": false,
"multidate": false,
"tax": 0,
"discount": 0,
"price": 400,
"gift_value": 400,
"gift": true,
"quantity": 1,
"extras": [],
"packages": []
}
],
"value": 400,
"tax": 0,
"discount" : 0
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 34
})
Select_unit (Sélection unité)
Cet événement est déclenché lorsque le client sélectionne une unité (par exemple, un type de billet spécifique ou un forfait) lors du processus de checkout.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client clique sur le bouton plus (+) dans le Billets étape :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "select_unit",
"label": "6 seater car",
"checkout_mode": "popup",
"crossSell": false,
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "1e143307-1ef3-4d3a-8005-b9adb3e54d5b",
"item_variant": "Mount Everest - Ascent to Camp 3",
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 27
})
Remove_unit (Retirer_unité)
Cet événement est déclenché lorsque le client diminue une unité (désélectionne une unité d’un type de billet ou d’un forfait donné) pendant le processus de checkout.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client clique sur le bouton moins (-) dans le Billets étape :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "remove_unit",
"label": "6 seater car",
"checkout_mode": "popup",
"crossSell": false,
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "1e143307-1ef3-4d3a-8005-b9adb3e54d5b",
"item_variant": "Mount Everest - Ascent to Camp 3",
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 27
})
Select_date (Sélectionner date)
Suit lorsque le client sélectionne une date pour sa réservation.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client sélectionne une date :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "select_date",
"label": "2024-09-17",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"checkout_mode": "popup",
"crossSell": false,
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 28
})
Select_time (Sélectionner heure)
Suit lorsque le client sélectionne un créneau horaire pour sa réservation.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client sélectionne un créneau horaire :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "select_time",
"label": "15:30:00",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"checkout_mode": "popup",
"crossSell": false,
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 29
})
Notify_me (Notifier moi)
Cet événement peut être utilisé pour mesurer la demande pour certaines dates ou certains produits, et aide à éviter les ventes perdues. Il suit lorsque le client choisit d'être notifié de la disponibilité d'un produit pour une date ou un horaire actuellement indisponible.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client clique sur le bouton Notify me (Notifier moi) :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "notify_me",
"ecommerce": {
"checkout_mode": "popup",
"currency": "CZK",
"order_id": "",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id": "acf4c89f-f6b0-47ea-b690-522f8abef116",
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"item_name": "Kathmandu",
"option_id": "fc8010ec-e785-4f19-af6d-34dec76a29e3",
"item_variant": "Kathmandu",
"item_category": "Adult",
"item_category2": "2024-09-30",
"item_category3": "10:00:00",
"item_category4": "",
"crossSell": false,
"price": 0,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": []
}
],
"value": 0,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": []
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 31
})
Wait_list_confirmed (Liste d'attente confirmée)
Déclenché lorsqu'un client confirme sa place sur une liste d'attente pour un produit en rupture de stock.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client clique sur le bouton Continue (Continuer) :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "wait_list_confirmed",
"ecommerce": {
"checkout_mode": "popup",
"currency": "CZK",
"order_id": "",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id": "acf4c89f-f6b0-47ea-b690-522f8abef116",
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"item_name": "Kathmandu",
"option_id": "fc8010ec-e785-4f19-af6d-34dec76a29e3",
"item_variant": "Kathmandu",
"item_category": "Adult",
"item_category2": "2024-09-30",
"item_category3": "10:00:00",
"item_category4": "",
"crossSell": false,
"price": 0,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": []
}
],
"value": 0,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": []
},
"customer": {
"firstName": "Karel",
"lastName": "Fisher",
"emailAddress": "[email protected]"
},
"gtm.uniqueEventId": 36
})
Add_to_cart (Ajouter au panier)
Suit lorsque le client clique sur le bouton Continue (Continuer) (après sélection de l'unité, de la date et de l'heure) identifiant l'action correspondant à l'ajout d'un article au panier dans le Billets étape.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client clique sur le bouton Continue (Continuer) :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "add_to_cart",
"ecommerce": {
"checkout_mode": "popup",
"currency": "EUR",
"order_id": "64c62751-2223-4461-99ee-351443c7d540",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id": "acf4c89f-f6b0-47ea-b690-522f8abef116",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"item_category": "6 seater car",
"item_category2": "2024-09-17",
"item_category3": "15:30:00",
"item_category4": "",
"crossSell": false,
"price": 400,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": []
}
],
"value": 400,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": []
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 48
})
View_upgrade (Afficher le surclassement)
Déclenché lorsque des options d’upgrade sont disponibles et que la page Upgrade Your Experience (Améliorez votre expérience) est affichée.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque la page Upgrade Your Experience (Améliorez votre expérience) est affichée.
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "view_upgrade",
"ecommerce": {
"order_id": "d39ad68a-83b4-4c6a-8584-9e12bf68da35",
"coupons": [],
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"option_id": "8f1b5c1c-8314-49d5-bc37-37bf02871fa2",
"booking_id": "f065f126-5bfa-47f1-ac43-380ad747992f",
"crossSell": false,
"quantity": 1,
"extras": [],
"item_name": "Mount Everest",
"item_variant": "Mount Everest",
"discount": 0,
"tax": 5,
"item_category": "",
"item_category2": "",
"item_category3": "",
"item_category4": "",
"price": 50
},
{
"item_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"option_id": "fc8010ec-e785-4f19-af6d-34dec76a29e3",
"booking_id": "f065f126-5bfa-47f1-ac43-380ad747992f",
"crossSell": false,
"quantity": 1,
"extras": [],
"item_name": "Mount Everest",
"item_variant": "Mount Everest",
"discount": 0,
"tax": 1.36,
"item_category": "",
"item_category2": "",
"item_category3": "",
"item_category4": "",
"price": 13.64
}
],
"quantity": 2,
"extras": [],
"value": 50,
"tax": 5,
"discount": 0
},
"custom_timestamp": 1770377306508,
"preferred_locale": "en",
"gtm.uniqueEventId": 54
})
Upgrade_ticket (Surclassement du billet)
Cet événement permet de suivre le moment où le client choisit de mettre à niveau son produit.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client clique sur le bouton Upgrade (Surclassement) dans le Upgrade Your Experience (Améliorez votre expérience) étape :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "upgrade_ticket",
"label": "Kathmandu",
"checkout_mode": "popup",
"product_id": "dcaf4844-324c-46ae-9209-a975a9d19acd",
"option_id": "DEFAULT",
"order_id": "64c62751-2223-4461-99ee-351443c7d540",
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 49
})📒 REMARQUE
En cas de mise à niveau, toutes les variables suivantes item_name doivent contenir les informations du billet surclassé au lieu de celles de l'original.
View_cross_sell (Afficer le vente croisée)
Déclenché lorsque des options de vente croisée sont disponibles et que la page Combination Offers (Offres combinées) est affichée.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque la page Combination Offers (Offres combinées) est affichée.
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "view_cross_sell",
"ecommerce": {
"order_id": "d39ad68a-83b4-4c6a-8584-9e12bf68da35",
"coupons": [],
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "dcaf4844-324c-46ae-9209-a975a9d19acd",
"product_id": "dcaf4844-324c-46ae-9209-a975a9d19acd",
"option_id": "DEFAULT",
"booking_id": "",
"crossSell": true,
"quantity": 1,
"extras": [],
"item_name": "Kathmandu",
"item_variant": "Kathmandu",
"discount": 2,
"tax": 1.64,
"item_category": "",
"item_category2": "",
"item_category3": "",
"item_category4": "",
"price": 16.36
},
{
"item_id": "d60965be-a76a-410f-8e88-2f839aeecfbd",
"product_id": "d60965be-a76a-410f-8e88-2f839aeecfbd",
"option_id": "1e143307-1ef3-4d3a-8005-b9adb3e54d5b",
"booking_id": "",
"crossSell": true,
"quantity": 1,
"extras": [],
"item_name": "Mount Everest - Breathing course",
"item_variant": "Mount Everest - Breathing course",
"discount": 5,
"tax": 0,
"item_category": "",
"item_category2": "",
"item_category3": "",
"item_category4": "",
"price": 0
}
],
"quantity": 2,
"extras": [],
"value": 50,
"tax": 5,
"discount": 0
},
"custom_timestamp": 1770376264940,
"preferred_locale": "en",
"gtm.uniqueEventId": 53
})
Cross-sell (Vente croisée)
Déclenché lorsque le client sélectionne des produits ou services supplémentaires (vente croisée) lors du processus de réservation.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client clique sur le bouton Book Now (Réserver maintenant) :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "cross-sell",
"label": "Mount Everest - Breathing course",
"checkout_mode": "popup",
"product_id": "d60965be-a76a-410f-8e88-2f839aeecfbd",
"option_id": "1e143307-1ef3-4d3a-8005-b9adb3e54d5b",
"order_id": "17def567-005d-43be-ad81-6a904325b17c",
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 72
})
Select_question (Sélectionner question)
Cet événement est déclenché lorsque le client répond à une ou plusieurs questions lors de l'étape Questions.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client répond à une ou plusieurs questions et clique sur le Continue (Continuer) bouton :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "select_question",
"crossSell": false,
"questions": [
{
"question": "Confirmation that you are in good health is required.",
"answer": "I understand",
"unit_name": null
}
],
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"option_id": "7319e191-e1e5-41b3-9cc8-0f94faea98d2",
"order_id": "17def567-005d-43be-ad81-6a904325b17c",
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 58
})
Select_pickup (Sélectionner point de collecte)
Cet événement est déclenché lorsque le client sélectionne un lieu de ramassage à la Select Pickup (Sélectionner le point de prise en charge) étape.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client sélectionne un lieu de ramassage pour sa réservation et clique sur le bouton Continue (Continuer) :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "select_pickup",
"label": "Hotel Bishram",
"pickups": [
{
"label": "Hotel Bishram",
"item_name": "Mount Everest",
"item_variant": "Mount Everest - Ascent to Camp 3"
}
],
"checkout_mode": "popup",
"crossSell": false,
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"option_id": "7319e191-e1e5-41b3-9cc8-0f94faea98d2",
"order_id": null,
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 70
})
View_cart (Voir le panier)
Identifiez l'événement sur votre site web qui correspond à la visualisation du panier ou du caddie.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant pour suivre la section Cart Summary (Résumé du panier) dans le Checkout:
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "view_cart",
"ecommerce": {
"order_id": "17def567-005d-43be-ad81-6a904325b17c",
"coupons": [],
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id": "2a37bb6d-a62a-4d73-b147-3155bfad1d0f",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"item_category": "6 seater car",
"item_category2": "2024-09-13",
"item_category3": "15:30:00",
"item_category4": "",
"crossSell": false,
"multidate": false,
"price": 400,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"packages": []
}
],
"quantity": 1,
"extras": [],
"value": 400,
"tax": 0,
"discount": 0
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 85
})📒 REMARQUE
Notez que dans la version bureau, à la fois l'événement view_cart et l'événement begin_checkout doivent être déclenchés depuis la Checkout page. Dans la version mobile, ces deux sections sont sur des écrans séparés, donc les événements view_cart et begin_checkout sont également déclenchés depuis des écrans différents.
Begin_checkout (Début du paiement)
Identifiez l'événement sur votre site web qui correspond au démarrage du processus de checkout.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant pour suivre l'étape Checkout :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "begin_checkout",
"ecommerce": {
"order_id": "17def567-005d-43be-ad81-6a904325b17c",
"coupons": [],
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id": "2a37bb6d-a62a-4d73-b147-3155bfad1d0f",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"item_category": "6 seater car",
"item_category2": "2024-09-18",
"item_category3": "14:30:00",
"item_category4": "",
"crossSell": false,
"multidate": false,
"price": 400,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"packages": []
}
],
"quantity": 1,
"extras": [],
"value": 400,
"tax": 0,
"discount": 0
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 86
})📒 REMARQUE
Notez que dans la version bureau, à la fois l'événement view_cart et l'événement begin_checkout doivent être déclenchés depuis la Checkout page. Dans la version mobile, ces deux sections sont sur des écrans séparés, donc les événements view_cart et begin_checkout sont également déclenchés depuis des écrans différents.
Edit_booking (Modifier la réservation)
Déclenché lorsque le client modifie sa réservation.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client clique sur le bouton Edit (Modifier) :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "edit_booking",
"label": "Mount Everest",
"checkout_mode": "popup",
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"option_id": "7319e191-e1e5-41b3-9cc8-0f94faea98d2",
"order_id": "17def567-005d-43be-ad81-6a904325b17c",
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 105
})
Remove_booking (Supprimer la réservation)
Déclenché lorsque le client supprime sa réservation.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client clique sur le bouton Remove (Supprimer) :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "remove_booking",
"label": "Mount Everest",
"checkout_mode": "popup",
"product_id": "c097cd5f-e7eb-45dc-adff-e00894d063cb",
"option_id": "7319e191-e1e5-41b3-9cc8-0f94faea98d2",
"order_id": "17def567-005d-43be-ad81-6a904325b17c",
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 111
})
Create _or_update_order (Créer ou mettre à jour la commande)
Déclenché lorsque le client a rempli toutes les coordonnées essentielles, coché tous les champs obligatoires et continue vers le paiement.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque le client clique sur le bouton Pay Now (Payer maintenant) :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "create_or_update_order",
"ecommerce": {
"order_id": "17def567-005d-43be-ad81-6a904325b17c",
"coupons": [],
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "unit_2e1348c9-32c3-478a-9983-395bdd0267c8",
"booking_id": "a1026fcc-b02c-47ab-813b-8ea5a2d04666",
"product_id": "d60965be-a76a-410f-8e88-2f839aeecfbd",
"item_name": "Mount Everest - Breathing course",
"option_id": "1e143307-1ef3-4d3a-8005-b9adb3e54d5b",
"item_variant": "Camp 2",
"item_category": "Adult",
"item_category2": "2024-09-19",
"item_category3": "00:00:00",
"item_category4": "",
"crossSell": false,
"multidate": false,
"price": 5,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"packages": []
}
],
"quantity": 1,
"extras": [],
"value": 5,
"tax": 0,
"discount": 0
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 117
})
Quote_confirmed (Devis confirmé)
Déclenché lorsque le client renseigne tous les champs de contact obligatoires sur la Checkout page et choisit d’enregistrer la réservation comme devis au lieu de procéder au paiement.
Contenu de l'événement
Contenu de l'événement
Exécutez le code suivant lorsque l’utilisateur appuie sur le Save for later (Enregistrer pour plus tard) bouton afin d’enregistrer la réservation pour plus tard sur la/le Checkout page :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "quote_confirmed",
"ecommerce": {
"order_id": "7cab3c1b-ce19-440a-b98b-88e30f20c850",
"coupons": [],
"currency": "EUR",
"checkout_mode": "embedded",
"items": [
{
"item_id": "unit_38d8b24e-89a9-488c-9f51-6981dc56a581",
"booking_id": "9cfbd3a2-1b76-40fc-87e1-a8a41e2af2c8",
"product_id": "69f07800-0b30-4824-b462-09a7f195295b",
"item_name": "Chitwan National Park",
"option_id": "DEFAULT",
"item_variant": "Chitwan National Park",
"item_category": "6 seater car",
"item_category2": "2025-10-08",
"item_category3": "10:30:00",
"item_category4": "",
"crossSell": false,
"multidate": false,
"price": 400,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"packages": []
}
],
"quantity": 1,
"extras": [],
"value": 400,
"tax": 0,
"discount": 0
},
"customer": {
"title": null,
"fullName": "John Doe",
"firstName": "John",
"lastName": "Doe",
"emailAddress": "[email protected]",
"phoneNumber": "+421123456789",
"age": null,
"birthdate": "1982-10-23",
"locales": [
"en"
],
"streetAddress": "Běhounská",
"city": "Brno-střed",
"state": null,
"postalCode": "60200",
"country": "CZ",
"notes": null,
"allowMarketing": true,
"taxId": null,
"company": null
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 118
})
Add_payment_info (Ajouter les informations de paiement)
Déterminez l'événement sur votre site web qui correspond à l'ajout des informations de paiement par les clients lors du passage au checkout.
Contenu de l'événement
Contenu de l'événement
S'il ne s'agit pas d'une page externe, exécutez le code suivant lorsque l'utilisateur sélectionne le mode de paiement sur la page Payment (Paiement) :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"payment_type": "Cards",
"event": "add_payment_info",
"ecommerce": {
"order_id": "fa37528e-c0d2-4516-a4b6-71e10c994602",
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "unit_2e1348c9-32c3-478a-9983-395bdd0267c8",
"booking_id": "e5132bbf-b6d1-48c3-8e35-c9adedef210a",
"product_id": "d60965be-a76a-410f-8e88-2f839aeecfbd",
"item_name": "Mount Everest - Breathing course",
"option_id": "1e143307-1ef3-4d3a-8005-b9adb3e54d5b",
"item_variant": "Camp 2",
"item_category": "Adult",
"item_category2": "2024-09-19",
"item_category3": "00:00:00",
"item_category4": "",
"crossSell": false,
"multidate": false,
"price": 5,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"packages": []
}
],
"quantity": 1,
"extras": [],
"value": 5,
"tax": 0,
"discount": 0
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 118
})
Purchase (Achat)
Identifiez l'événement sur votre site web qui correspond à la finalisation d'un achat.
Contenu de l'événement
Contenu de l'événement
Utilisez le code ci-dessous lorsque la page de remerciement est affichée pour tracer un achat réussi :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "purchase",
"ecommerce": {
"order_id": "fa37528e-c0d2-4516-a4b6-71e10c994602",
"coupons": [],
"currency": "EUR",
"checkout_mode": "popup",
"items": [
{
"item_id": "unit_2e1348c9-32c3-478a-9983-395bdd0267c8",
"booking_id": "e5132bbf-b6d1-48c3-8e35-c9adedef210a",
"product_id": "d60965be-a76a-410f-8e88-2f839aeecfbd",
"item_name": "Mount Everest - Breathing course",
"option_id": "1e143307-1ef3-4d3a-8005-b9adb3e54d5b",
"item_variant": "Camp 2",
"item_category": "Adult",
"item_category2": "2024-09-19",
"item_category3": "00:00:00",
"item_category4": "",
"price": 5,
"tax": 0,
"discount": 0,
"quantity": 1,
"extras": [],
"packages": []
}
],
"quantity": 1,
"extras": [],
"value": 5,
"tax": 0,
"discount": 0,
"transaction_id": "fa37528e-c0d2-4516-a4b6-71e10c994602",
"transaction_type": "ventrata"
},
"customer": {
"full_name": "Karel Fisher",
"email": "[email protected]",
"mobile": "+4201234567899",
"country": "CZ",
"postal_code": null
},
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 119
})📒 REMARQUE
L'« ID de transaction » est l'identifiant unique précis attribué à chaque commande. Sur la page Bookings (Réservations) > Orders (Commandes) , appuyez sur le bouton Show Columns (Afficher les colonnes) et ajoutez « ID » à votre vue. L'« Order ID (ID de commande) » est identique à l'« Transaction ID (ID de transaction) » (Transaction ID = Order ID).
Order_expired (Commande expirée)
Déclenché lorsqu’une session checkout unique expire sans achat réussi ou lorsque le client ferme le checkout avant de finaliser le paiement.
Contenu de l'événement
Contenu de l'événement
Exécutez le code ci-dessous lorsque la session checkout expire et que la/le Commande expirée page est affichée :
dataLayer.push({ ecommerce: null }); // Clear the previous ecommerce object.
dataLayer.push({
"event": "order_expired",
"order_id": "eb16d401-3b9f-44b7-b927-417487369f70",
"checkout_mode": "popup",
"page": "bottom_bar",
"product_id": null,
"option_id": null,
"custom_timestamp": "1759833980195",
"preferred_locale": "en",
"gtm.uniqueEventId": 119
})
Comment savoir si le Web Checkout envoie des données
Vous pouvez utiliser une extension de navigateur capable de vérifier la couche de données, par exemple, Inspecteur du dataLayer.
Publier et tester
Après avoir configuré toutes les balises, déclencheurs et paramètres, enregistrez et publiez votre conteneur GTM pour rendre les modifications effectives sur votre site web.
Testez la mise en œuvre du suivi en effectuant les actions pertinentes sur votre site web et en vérifiant si les événements sont bien suivis dans GA4.
Vérifier les données dans GA4
Une fois que les données sont envoyées à GA4, connectez-vous à votre propriété GA4 et accédez à la section des rapports.
Utilisez Event reports (Rapports d'événements) pour analyser et vérifier que les événements suivis sont correctement enregistrés.
Passez régulièrement en revue et mettez à jour votre conteneur GTM selon les besoins pour garantir un suivi précis et tenir compte de toute modification de votre site web ou des exigences de suivi des événements.
Journal des modifications
Dernière mise à jour | Journal des modifications |
06/02/2026 | 2.0.4 – Mise à jour de la liste des événements personnalisés et ajout des événements View_option_select, View_upgrade et View_cross_sell. |
07/10/2025 | 2.0.3 - paramètres et corps d’événements mis à jour, ajout des événements Remove_unit, Quote_confirmed et Order_expired |
17.09.2024 | 2.0.2 - liste mise à jour des événements et des corps d'événements |
18.12.2023 | 2.0.1 - ajout de la quantité sous e-commerce |
12.12.2023 | 2.0.0 - nouvelle structure des éléments ajoutée + questions, points de prise en charge, extras |
04.08.2023 | 1.0.4 - ajout d'exemples JSON concrets dans la documentation |
20.07.2023 | 1.0.3 - ajout des informations client dans l'événement d'achat |
29.06.2023 | 1.0.2 - le prix d’un article est affiché par unité (et non au total) |
28.6.2023 | 1.0.1 - ajout de 1 au nombre pour la quantité dans l’événement view_item |
22.5.2023 | 1.0.0 - Première version |



























