Google Analytics 4 — événements e-commerce et Consent Mode
GA4 eCommerce Events for Odoo — Odoo n'envoie à GA4 qu'une page vue. Ce module y ajoute le parcours d'achat complet, avec le prix pris dans le modèle et le consentement respecté.
Screenshots
GA4 reçoit vos pages vues et rien d'autre : les rapports e-commerce restent vides
Les six événements recommandés par Google, envoyés tels que GA4 les attend, avec le Consent Mode v2 respecté et l'achat compté une seule fois.
| Odoo 20 Community — On Premise | ✔ |
| Odoo.sh | ✔ |
| Odoo Online (SaaS) | ✔ |
Le constat
Odoo pose la balise, donc le tableau de bord se remplit — de pages vues. Le tunnel d'achat, le chiffre d'affaires par article, les produits qui convertissent : tout cela reste à zéro, et rien ne dit pourquoi.
Le second piège est plus coûteux, parce qu'il gonfle les chiffres au lieu de les laisser vides : l'achat compté deux fois. Un client qui recharge la page de confirmation, ou qui y revient par son historique, ajoute une commande. C'est le défaut le plus répandu des suivis e-commerce.
Les six événements, tels que GA4 les attend
view_item, view_item_list, add_to_cart, remove_from_cart, begin_checkout, purchase — chacun avec la devise, la valeur et le détail des articles.
Le prix de la commande, pas celui affiché
Les valeurs viennent de la couche de données du socle, donc du modèle Odoo. Une remise, une taxe incluse ou une devise secondaire donnent le bon montant.
Le consentement respecté, pas contourné
Tant que le visiteur n'a pas accepté, rien ne part. À l'acceptation, le Consent Mode passe en granted et les événements en attente sont envoyés. Refuser reste refuser.
Pas de doublon d'achat
Une commande n'est comptée qu'une fois, même si la page de confirmation est rechargée ou rouverte plus tard.
Ce que fait l'application
Un identifiant, ou aucun
Laissé vide, l'identifiant de mesure reprend la clé Google Analytics déjà réglée dans Odoo. Il n'y a rien à dupliquer.
Le mode mise au point
Une case, et les événements apparaissent dans le DebugView de GA4 — on vérifie que ça marche le jour de la pose, pas six semaines plus tard.
Branché sur le socle
Il ne lit pas le DOM et ne refait pas de plomberie : il consomme la couche de données de dyo_tracking_base.
Aucun appel sortant depuis Odoo
Tout part du navigateur du visiteur — c'est ce qui permet à ce module de tourner aussi sur Odoo Online.
Le parcours, en vrai

L’application en mouvement
Le module en marche, enregistré dans le vrai client Odoo 19 : Événements e-commerce GA4 puis Événements e-commerce GA4. Ce n’est pas un montage — ce sont les trames du navigateur sur le module livré, pris sur sa propre base. Ce module n’ouvre pas d’application : il ajoute son bloc à la page de paramétrage d’Odoo. Le parcours montre donc cette page, puis le bloc isolé par sa recherche.
Vidéo MP4 — 169 ko, 1280 px, 1.7 s, 2 écrans. Une amorce animée est aussi livrée en GIF (185 ko, 560 px) pour les contextes qui n’affichent pas la balise vidéo.
Ce que le module ne fait pas
- Il ne pose pas de bandeau de consentement : il lit celui d'Odoo.
- Il n'envoie rien à Meta ni à Google Ads.
- Il ne remplace pas la clé Google Analytics d'Odoo — il s'appuie dessus.
- Il ne crée pas de catalogue produit chez Google : c'est l'objet du flux Merchant Center.
Fiche technique
| Modèles étendus | res.config.settings, website |
| Langue | Français |
| Dépendances | dyo_tracking_base |
| Licence | OPL-1 (Odoo Proprietary License v1.0) |
| Prix | GRATUIT |
| Version | 20.0.1.0.0 |
| Nom technique | dyo_tracking_ga4 |
DYONYSOS — welcome@dyonysos.fr
What this app does not do
- Il ne pose pas de bandeau de consentement : il lit celui d'Odoo.
- Il n'envoie rien à Meta ni à Google Ads.
- Il ne remplace pas la clé Google Analytics d'Odoo — il s'appuie dessus.
- Il ne crée pas de catalogue produit chez Google : c'est l'objet du flux Merchant Center.
Store apps required
- Couche de données e-commerce — socle de traçage (gratuit)
dyo_tracking_base
Odoo Community modules used
None.
| Series | Version | Status | Published on |
|---|---|---|---|
| 20.0 | 20.0.1.0.0 | Available | 02/10/2026 |
| 19.0 | 19.0.1.0.0 | Available |
Listing generated from the publisher's code (private repository, branch 20.0): the source code is not published.
Automatic store check (separate from the publisher's), applied to all apps. Conforme.
| Check | Result | Effect if absent |
|---|---|---|
| Manifeste lisible sans exécution | conforme | bloquant |
| Licence reconnue (OPL-1) | conforme | bloquant |
| Aucune dépendance vers Odoo Enterprise | conforme | bloquant |
| Aucun import de code Enterprise | conforme | bloquant |
| Aucun en-tête de licence Enterprise | conforme | bloquant |
| Icône static/description/icon.png | conforme | déclasse |
| Description (static/description/index.html ou README) | conforme | déclasse |
| Tests automatisés (tests/test_*.py) | conforme | déclasse |
| Traduction française (i18n/fr.po) | absent | info |
| Section « Ce que le module ne fait pas » | conforme | info |
| Titre de 70 caractères au plus (58 actuellement) | conforme | info |
| Résumé en français | conforme | info |
Guide utilisateur — Google Analytics 4
1. Mettre en route
Site web → Configuration → Suivi et SEO. Renseignez la clé Google Analytics d'Odoo si ce n'est pas fait : c'est elle qui pose la balise. Le champ Identifiant de mesure GA4 juste en dessous n'est à remplir que si vous voulez envoyer les événements e-commerce vers une autre propriété que la page vue — cas rare.
Rien d'autre. Les événements partent dès la page suivante.
2. Vérifier en direct
Cochez Mode mise au point, puis dans GA4 : Administration → DebugView.
Parcourez la boutique et vous verrez arriver view_item, add_to_cart,
begin_checkout, purchase.
Décochez-le ensuite. Laissé actif en production, le trafic réel se mélange au trafic de mise au point dans vos rapports.
3. Ce qui part, et quand
| Événement GA4 | Déclencheur |
|---|---|
view_item |
fiche produit affichée |
view_item_list |
boutique, catégorie ou recherche |
add_to_cart |
ajout au panier |
begin_checkout |
panier affiché |
purchase |
page de confirmation |
Chacun porte la devise, la valeur et le détail des articles.
4. Le consentement
Tant que le visiteur n'a pas accepté, rien ne part. Les événements survenus avant l'acceptation sont gardés en file et envoyés au moment où il accepte — vous ne perdez donc pas le parcours de celui qui accepte au bout de trois pages.
Refuser reste refuser : la file est simplement abandonnée.
5. Le doublon d'achat, et pourquoi il compte
Une commande n'est envoyée qu'une fois, même si le client recharge la page de confirmation, la met en favori ou y revient par son historique. Le navigateur garde les cinquante dernières références envoyées.
C'est le défaut le plus répandu des suivis e-commerce, et il gonfle le chiffre d'affaires mesuré — parfois de vingt pour cent. Si vos chiffres GA4 ont toujours été supérieurs à ceux d'Odoo, c'est probablement là.
6. Si rien n'arrive
- La clé Google Analytics est-elle renseignée dans Odoo ? Sans elle,
gtagn'est pas posé et rien ne peut partir. - Le socle est-il installé ? Cherchez
dyo-datalayer-eventdans le code source d'une fiche produit. - Le visiteur a-t-il accepté ? En navigation privée, refusez puis acceptez pour voir la bascule.
- Un bloqueur de publicité est-il actif dans votre navigateur ? Il bloque
gtagavant tout le reste.
Ce que le module ne fait pas
Il ne pose pas de bandeau de consentement : il lit celui d'Odoo. Il n'envoie rien à Meta ni à Google Ads. Il ne remplace pas la clé Google Analytics d'Odoo.
Reviews from signed-in customers. One rated review per customer; the publisher can reply. Sign in to leave a review.
- Publisher
- DYONYSOS
- contact@omnifloo.com
- Omnifloo customers
- Support included with your plan: help centre.
