# Installer Google Analytics 4 sur une boutique PrestaShop

> Poser Google Analytics 4 sur PrestaShop se fait de deux façons : la balise gtag.js posée directement dans le thème, ou un passage par Google Tag Manager, la méthode que je retiens par défaut pour ne pas retoucher le code à chaque évolution. Dans les deux cas, ce qui casse le suivi ecommerce, c’est un évènement purchase mal alimenté sur la page de confirmation de commande.

- Source canonique : [https://allaux.fr/services/tracking/google-analytics-4-prestashop](https://allaux.fr/services/tracking/google-analytics-4-prestashop)
- Langue : FR
- Dernière mise à jour : 2026-08-03

## Réponse directe

> Avant de poser quoi que ce soit, ouvrez Modules > Gestionnaire de modules pour vérifier qu’aucun module n’envoie déjà des données à Google Analytics. Posez ensuite la balise ou le conteneur via le hook displayHeader plutôt qu’en dur dans le template du thème, et alimentez transaction_id, value, currency et items sur la page order-confirmation. Contrôlez l’arrivée de l’achat dans DebugView.

## Les situations que je traite

- Aucune donnée ecommerce ne remonte dans GA4 malgré une balise visible dans le code source
- Un module PrestaShop pose déjà une balise Google Analytics et vous voulez ajouter GA4 sans créer de doublon
- Les rapports GA4 affichent des vues de page mais aucun achat (purchase)
- Vous hésitez entre gtag.js en dur dans le thème et un passage par Google Tag Manager
- Le nombre de transactions dans GA4 ne correspond jamais au nombre de commandes réelles dans PrestaShop

## Comment j’installe GA4 sur PrestaShop

1. **Choix de la méthode d’installation** — Je pose soit la balise gtag.js directement dans header.tpl ou via un hook comme displayHeader, soit un conteneur Google Tag Manager qui appelle GA4 depuis son interface. Je retiens GTM par défaut : les futurs changements se font sans repasser par le thème.
2. **Vérification de l’absence de doublon** — Avant toute pose, je regarde le code source du site et la liste des modules installés dans Modules > Gestionnaire de modules (Module Manager en anglais) pour m’assurer qu’aucune balise Google Analytics n’est déjà envoyée par un module tiers.
3. **Vérification du dataLayer sur les pages clés** — Je contrôle que les évènements view_item, add_to_cart et begin_checkout se déclenchent avec les bons paramètres (items, value, currency) sur la fiche produit, le panier et le tunnel de commande.
4. **Configuration de l’évènement purchase** — Sur la page order-confirmation de PrestaShop, je m’assure que transaction_id (l’identifiant de la commande) et value (le montant réellement payé) sont transmis correctement, sinon GA4 enregistre une visite sans transaction exploitable.
5. **Test avant mise en production** — Je contrôle le déclenchement de chaque évènement en mode aperçu de Google Tag Manager, ou avec l’extension Tag Assistant si la balise est posée en dur, commande de test à l’appui.

## Les deux méthodes, et pourquoi je privilégie GTM

La balise gtag.js peut être collée directement dans le thème PrestaShop, en général dans header.tpl ou via un hook comme displayHeader. Ça fonctionne, mais chaque changement, l’ajout d’un outil publicitaire ou la modification d’un évènement, demande de retoucher le code et de vider le cache Smarty.

Passer par Google Tag Manager revient à poser un seul conteneur une fois, puis à gérer GA4 et les autres balises depuis l’interface GTM, sans nouvelle mise en production à chaque changement.

Les évènements ecommerce recommandés par GA4, view_item, add_to_cart, begin_checkout, purchase entre autres, ont des noms et des paramètres fixés par Google : les respecter à la lettre est nécessaire pour que les rapports ecommerce standard de GA4 fonctionnent.

## Le piège du doublon

> Si un module PrestaShop envoie déjà des données à Google Analytics et que vous ajoutez GA4 par-dessus en dur dans le thème, la même visite ou la même commande peut être comptée deux fois. Je vérifie systématiquement les modules installés et actifs dans Modules > Gestionnaire de modules avant toute installation manuelle.

## Pages liées

- **Google Tag Manager sur PrestaShop** — La méthode recommandée pour centraliser GA4 et les autres balises sans retoucher le thème à chaque fois. ([/services/tracking/google-tag-manager-prestashop](/services/tracking/google-tag-manager-prestashop))
- **Les évènements ecommerce qui comptent** — Le détail des évènements GA4 à suivre en priorité sur un tunnel d’achat. ([/services/tracking/evenements-ecommerce-qui-comptent](/services/tracking/evenements-ecommerce-qui-comptent))
- **Conversions qui ne remontent pas** — La méthode de diagnostic quand les achats n’apparaissent pas dans GA4 malgré une balise posée. ([/services/tracking/conversions-ne-remontent-pas](/services/tracking/conversions-ne-remontent-pas))
- **PrestaShop, mon terrain principal** — Les autres sujets PrestaShop que je traite au quotidien. ([/prestashop](/prestashop))

## FAQ

### Faut-il absolument passer par Google Tag Manager, ou gtag.js en dur suffit ?

gtag.js en dur fonctionne très bien pour une installation simple. Je le déconseille dès que le site prévoit d’ajouter Google Ads, Meta ou un autre outil : GTM évite de retoucher le thème à chaque ajout.

### Google Analytics 4 remplace-t-il Universal Analytics ?

Oui. Universal Analytics ne collecte plus aucune donnée depuis juillet 2023. Si un ancien module PrestaShop pointe encore vers Universal Analytics, il ne remonte plus rien.

### Dois-je recueillir le consentement du visiteur avant de charger GA4 ?

GA4, dans sa configuration standard, ne remplit pas les critères d’exemption de consentement fixés par la CNIL pour les outils de mesure d’audience. Son chargement nécessite donc en principe le consentement préalable du visiteur, comme pour tout traceur non exempté.

### Comment vérifier que mes évènements ecommerce sont bien configurés ?

Le mode aperçu de Google Tag Manager ou le DebugView de GA4 affichent en temps réel les évènements qui se déclenchent et leurs paramètres, page par page, pendant une commande de test.

### Un module PrestaShop de tracking gratuit suffit-il à lui seul ?

Certains modules posent une balise GA4 basique sans évènements ecommerce complets. Je vérifie toujours ce qu’un module envoie réellement avant de m’appuyer dessus ou de le compléter.
