> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.thais-pms.fr/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Utiliser le tracking Google GTM - Google Tag Manager

# Suivre le tunnel de réservation avec Google Tag Manager (GTM)
**Google Tag Manager (GTM)** permet de mesurer précisément le parcours de vos visiteurs sur le moteur de réservation Thaïs : de la recherche de chambres jusqu'à la confirmation de la réservation. C'est l'outil idéal pour alimenter Google Analytics 4 (GA4) et Google Ads, comprendre où vos visiteurs abandonnent et mesurer le retour de vos campagnes.



## À quoi ça sert ?
En intégrant votre conteneur GTM au moteur de réservation, vous pouvez :

* **Suivre le tunnel de conversion** étape par étape (chambres → options → panier → récapitulatif → coordonnées → confirmation) ;
* **Repérer les étapes d'abandon** : combien de visiteurs lancent une recherche mais ne vont jamais jusqu'à la réservation, et où ils s'arrêtent ;
* **Mesurer les conversions** : chaque réservation confirmée remonte dans GA4 et Google Ads avec son montant et son identifiant ;
* **Faire du remarketing** : cibler les visiteurs qui ont commencé une réservation sans la finaliser ;
* **Analyser le panier** : types de chambres ajoutés, options choisies, montant moyen.



## Où placer la balise ?
La balise (le code du conteneur GTM) se place dans les **paramètres du moteur de réservation** :

1. Allez dans **CONFIG** → **BE** (Booking Engine / Moteur de réservation).
2. Ouvrez la section **Code personnalisé**.
3. Collez-y le code du conteneur GTM fourni par Google : GTM-XXXXXXX.
4. Enregistrez.

ℹ️ **Prérequis** : le conteneur GTM doit déjà exister dans votre compte Google Tag Manager, avec au minimum un tag GA4 et/ou Google Ads configuré côté GTM.



## Les événements tracés
Le moteur de réservation pousse automatiquement des événements dans le **dataLayer** GTM. Vous créez ensuite un déclencheur GTM sur chacun d'eux pour alimenter vos tags.
### 1. Initialisation et chargement de la page
| **Événement** | **Description** |
| gtm.init\_consent | Initialisation de la collecte du consentement (préalable au dépôt des cookies). |
| gtm.init | Initialisation de GTM sur la page. |
| gtm.js | Le conteneur GTM est chargé. |
| gtm.dom | Le DOM de la page est prêt. |
| gtm.load | La page est entièrement chargée (fenêtre chargée). |
### 2. Tunnel de réservation (le parcours de vente)
| **Événement** | **Étape** | **Description** | **Données clés** |
| SET\_LANGUAGE | — | Le visiteur choisit la langue (ex. FR). | lang |
| GO\_TO | rooms / extras / cart / resume / contact / validation | Navigation vers une étape du tunnel. | step |
| SEARCH | rooms | Recherche de disponibilités sur des dates. | start\_date, end\_date |
| SET\_ROOM\_PEOPLE | rooms | Sélection du nombre d'hôtes. | nb\_persons |
| REFRESH\_SEARCH | rooms | Actualisation de la recherche après changement de critères. | start\_date, end\_date, nb\_persons |
| Add Room | extras | Ajout d'une chambre / option au panier. | basket\_items, basket\_total\_price |
| CHANGE\_EXTRA\_QUANTITY | extras | Modification de la quantité d'une option du panier. | basket\_items, value |
| Cart | extras | Consultation du panier. | basket\_items, basket\_total\_price |
| Resume | cart | Vue du récapitulatif dans le panier. | basket\_items |
| CHECK\_CART\_AVAILABILITY | resume | Vérification des disponibilités du panier avant la suite. | basket\_items |
| Contact | resume | Lancement de la prise de contact (saisie des coordonnées). | basket\_items |
| PREPARE\_BOOK | contact | Préparation de la réservation avant validation. | basket\_items |
| BOOK | contact | **Validation de la réservation** — l'événement de conversion clé. | transaction\_id |
| Validation | contact | Confirmation de l'événement de validation. | transaction\_id |
| RESET\_ALL | validation | Réinitialisation du module après confirmation. | — |

🎯 **BOOK est l'événement de conversion** : utilisez-le comme déclencheur pour vos tags de conversion GA4 (événement purchase) et Google Ads. Il contient le transaction\_id, l'identifiant unique de la réservation (ex. 202601284).



## Les données poussées dans le dataLayer
Chaque événement embarque des informations exploitables dans vos variables GTM :

| **Champ** | **Description** | **Exemple** |
| event | Nom de l'événement déclenché. | BOOK |
| gtm.uniqueEventId | Identifiant unique de l'événement. | 24 |
| start\_date / end\_date | Dates du séjour recherché / réservé. | 2026-02-11 / 2026-02-13 |
| currency | Devise. | EUR |
| basket\_total\_price | Montant total du panier. | 190 |
| basket\_items | Contenu du panier (articles). | [{item\_id, item\_name, item\_category, price, quantity}] |
| insurance\_amount | Montant de l'assurance annulation. | 0 |
| coupon | Code promo éventuel. | null |
| last\_action | Dernière action effectuée. | BOOK |
| lang | Langue sélectionnée. | FR |
| step | Étape courante du tunnel. | contact |
| nb\_persons | Nombre d'hôtes. | {adults: 2} |
| transaction\_id | Identifiant de la réservation (sur BOOK / Validation). | 202601284 |
| value | Détail de la valeur (sur certains événements). | {} |



## Exemple d'événement BOOK
{
  "event": "BOOK",
  "gtm": { "uniqueEventId": 24 },
  "start\_date": "2026-02-11",
  "end\_date": "2026-02-13",
  "currency": "EUR",
  "basket\_total\_price": 190,
  "basket\_items": [
    { "item\_id": 3, "item\_name": "Chambre supérieure", "item\_category": "Room", "price": 190, "quantity": 1 }
  ],
  "insurance\_amount": 0,
  "last\_action": "BOOK",
  "lang": "FR",
  "step": "contact",
  "nb\_persons": { "adults": 2 },
  "transaction\_id": "202601284"
}



## Bonnes pratiques chez le partenaire
* Créez un **déclencheur GTM** sur BOOK pour votre tag de conversion Google Ads et votre événement purchase GA4.
* Utilisez GO\_TO (avec le champ step) pour construire l'entonnoir et identifier les abandons entre étapes.
* Respectez le **consentement** : les événements gtm.init\_consent et SET\_LANGUAGE arrivent avant le consentement ; configurez votre mode consentement GTM en conséquence (Consent Mode).
* Exploitez basket\_items pour des rapports e-commerce (produits vus, ajoutés, vendus).
