Google Analytics GA4 : installation et aide
Démarrage rapide
- Importez le ZIP
mprgoogleanalyticsvia Modules > "Module Manager" > "Upload a module". - Cliquez sur "Configure" et saisissez votre "Measurement ID" GA4, commençant par
G-suivi d'au moins six lettres majuscules ou chiffres. - Laissez "Enable Tracking" activé et vérifiez "Exclude Employees", "User ID Tracking", "Enhanced Conversions" et "Google Signals".
- Pour une configuration uniquement navigateur, désactivez "Server-Side Purchase Fallback". Pour les achats serveur, ajoutez un API Secret Measurement Protocol valide et consultez les exigences de consentement serveur ci-dessous.
- Enregistrez, ouvrez Diagnostic et lancez les vérifications. Réparez l'ordre des hooks ou la visibilité du groupe du module si indiqué.
- Ouvrez la boutique dans un navigateur client avec votre dispositif de consentement actif et vérifiez une vue produit, une action panier et la commande. Activez "Debug Mode" pendant la vérification dans GA4 DebugView.
- Passez une commande test et vérifiez
purchase. Avec Measurement Protocol, consultez le journal serveur et la tâche cron partagée, puis désactivez "Debug Mode".
Nécessite PrestaShop 1.6.0.0 ou une version ultérieure et PHP 7.1 ou une version ultérieure.
Manuel de configuration
Installer et configurer
Suivez les étapes du Démarrage rapide.
Paramètres
Ouvrez "Configure" dans "Module Manager". Utilisez Paramètres pour les ID et contrôles de suivi, Diagnostic pour les vérifications. Des pages distinctes Licence, Assistance, Mettre à jour et "Integrity" sont présentes.
| Paramètre | Valeur par défaut | Votre configuration |
|---|---|---|
| "Enable Tracking" | Oui | Activer le suivi boutique admissible et le parcours d'achat serveur configuré. Un "Measurement ID" vide empêche toujours le chargement navigateur. |
| "Measurement ID" | Vide | Saisir G- suivi d'au moins six lettres majuscules ou chiffres. Utilisez le flux Web GA4 voulu. |
| API Secret Measurement Protocol | Vide | Saisir au moins 20 lettres, chiffres, traits de soulignement ou traits d'union pour les achats serveur. Non requis pour le navigateur. |
| "User ID Tracking" | Non | Envoyer un hachage SHA-256 salé de l'ID du client connecté comme user_id GA4. |
| "Exclude Employees" | Oui | Exclure les requêtes boutique des employés connectés. |
| "Server-Side Purchase Fallback" | Non | Récupérer les événements purchase admissibles après 30 minutes sans confirmation du navigateur. Nécessite un ID et un secret API valides. Désactiver pour un usage uniquement navigateur. |
| "Measurement Protocol batch limit" | 20 | Définir le lot du worker. Une valeur inférieure à 1 revient à 20. |
| "Debug Mode" | Non | Ajouter debug_mode=true pour les vérifications d'événements navigateur dans GA4 DebugView. Désactiver après les tests. |
| "Log Retention (days)" | 90 | Conserver les lignes du journal pendant cette durée. Zéro désactive le nettoyage selon l'âge. |
| "Enhanced Conversions" | Non | Envoyer les données hachées disponibles du client connecté via gtag('set','user_data',...). |
| "Google Signals" | Non | Définir allow_google_signals dans la configuration GA4. Configurez également l'option correspondante dans votre propriété GA4. |
"Enhanced Conversions" hache e-mail, téléphone, prénom, nom, ville, région et code postal après suppression des espaces aux extrémités et passage en minuscules. Le code ISO du pays est envoyé sans hachage. Les champs d'adresse viennent de la première adresse du client si disponible. Cette option est distincte du suivi de l'ID client haché.
Engagement produit
| Paramètre | Valeur par défaut | Votre configuration |
|---|---|---|
| "Track high-intent product engagement" | Non | Envoyer high_intent_product_engagement pour les interactions produit ou durées de consultation admissibles. |
| "Gallery views threshold" | 3 | Définir les interactions distinctes de galerie, de 1 à 20. |
| "Dwell-time threshold" | 45 | Définir les secondes sur la page produit, de 5 à 600. |
Le traceur partagé reconnaît aussi les changements de variante et interactions avec les détails produit. Par défaut, il limite l'intention élevée à une fois par produit/session. Gardez cela distinct de votre configuration principale de conversion d'achat.
Configurer le consentement et les exclusions de trafic
Lorsque Cookies Revolution est actif, le module le détecte et peut se placer en dernier sur displayHeader pour que la CMP initialise Consent Mode en premier. Utilisez Réparer l'ordre des hooks dans Diagnostic si nécessaire.
Sans cette CMP détectée, le module émet des valeurs Consent Mode refusant par défaut le stockage analytique, publicitaire, de données utilisateur publicitaires et de personnalisation, tout en autorisant le stockage de sécurité. C'est un extrait par défaut. Il ne crée pas de bannière et ne recueille pas de consentement. Configurez les mises à jour via votre outil de consentement.
Le contrôle d'admissibilité navigateur ignore les contrôleurs non frontaux, bots/outils d'audit reconnus, employés exclus et navigateurs avec mpr_notrack=1. Pour exclure un navigateur de test :
document.cookie = 'mpr_notrack=1; path=/; max-age=31536000; SameSite=Lax';
Les achats serveur nécessitent le consentement analytique enregistré de l’acheteur, ses ID client et de session GA d’origine, ainsi que l’autorisation pour ce module d’envoyer des données à la propriété GA4 configurée. Les refus de suivi du navigateur et les exclusions d’employés s’appliquent aussi. "Server-Side Purchase Fallback" est désactivé par défaut. Pour l’activer, saisissez des identifiants valides et indiquez dans "Purchase recovery hostname" le nom d’hôte HTTPS de votre boutique en production, sans protocole ni chemin.
Événements et données de la boutique
Le module charge GA4 de façon asynchrone via displayHeader. Il envoie les événements e-commerce par ces voies :
| Événement | Source |
|---|---|
view_item |
displayProductActions sur une page produit. |
view_cart |
displayShoppingCart. |
add_to_cart, remove_from_cart |
JavaScript du panier AJAX et écarts de panier capturés avant les mises à jour de quantité pour le rendu du panier en page complète. |
begin_checkout |
displayBeforeCarrier. |
purchase |
displayOrderConfirmation. |
login, sign_up |
Événements en attente issus de l'authentification et création de compte, émis au prochain rendu d'en-tête admissible. |
search |
Hooks d'action de recherche et solution de repli de requête dans l'en-tête. |
Ce formulaire n'a pas d'options distinctes pour ces événements e-commerce standard. Leur présence dépend des hooks correspondants et du parcours du thème.
Les données d'achat incluent référence de commande comme transaction_id, valeur, devise, taxe, livraison, coupons et lignes d'articles. Les champs disponibles comprennent ID, nom, prix, quantité, marque, catégorie, variante et remise. Vérifiez ces valeurs avec une commande test utilisant votre configuration de taxes, remises et livraison.
Configurer les événements personnalisés
"Track custom events" est désactivé par défaut. Le champ "Custom event rules" est initialement vide. Ajoutez des règles, activez l'option et enregistrez :
[
{"event":"gallery_browse","trigger":"click","selector":".product-images img,.images-container img","params":{"component":"product_gallery"},"once":false},
{"event":"checkout_page_seen","trigger":"url","contains":["/order"],"params":{"area":"checkout"},"once":true},
{"event":"module_page_seen","trigger":"controller","controllers":["module"],"modules":["mprwishlist"]},
{"event":"size_guide_opened","trigger":"event","dom_event":"shop:size-guide-opened","params":{"component":"size_guide"},"once":false}
]
document.dispatchEvent(new CustomEvent('shop:size-guide-opened'));
Utilisez des noms d'événements et paramètres commençant par une lettre, contenant lettres, chiffres ou traits de soulignement, avec au maximum 40 caractères. Les noms et préfixes réservés sont refusés. Les clés de paramètres ressemblant à des données personnelles sont filtrées. Les sélecteurs de clic peuvent atteindre 500 caractères. once vaut false par défaut pour les clics et true pour les règles URL, contrôleur et DOM. Adaptez les filtres contrôleur/module à votre route réelle.
Configurer et vérifier les achats serveur
La validation de commande enregistre les achats admissibles pour récupération. Après 30 minutes sans confirmation du navigateur, la tâche cron partagée met en file et envoie les événements Measurement Protocol purchase admissibles avec les données acheteur recueillies lors de la commande :
task: send_ga4_measurement_protocol
callable: mprgoogleanalytics::cronProcessMeasurementProtocolQueue
schedule: every:300
context: any
timeout: 30
Assurez-vous que l'exécuteur cron MPR partagé exécute cette tâche. Consultez le journal d'événements dans Diagnostic et la file de conversions partagée. Les lignes de journal utilisent votre préfixe de base suivi de mpr_analytics_events ; ps_ n'est que le préfixe d'exemple habituel. Le nettoyage de rétention intervient après validation de commande admissible. La récupération des achats expire 72 heures après la commande. La conservation des enregistrements de récupération suit "Log Retention (days)".
Les achats navigateur et serveur utilisent la référence de commande comme transaction_id. Un registre d’envoi partagé attribue chaque achat à un seul canal. La récupération serveur traite uniquement les commandes sans confirmation du navigateur après 30 minutes.
Les ID client et de session serveur proviennent des cookies GA d’origine enregistrés avant la commande. Des ID absents ou inutilisables suspendent la récupération ; le module ne génère pas d’identités de remplacement. La file ne transforme pas les événements uniquement navigateur en événements serveur.
Vérifier et résoudre les problèmes
Ouvrez Diagnostic et utilisez Lancer les tests. Vérifiez configuration requise, validité des règles, ordre des hooks, visibilité du groupe du module, détection CMP, scripts en double, exclusions et état Measurement Protocol. Utilisez Réparer l'ordre des hooks ou Réparer le groupe de modules si pertinent.
Utilisez un navigateur client normal pour vérifier requêtes réseau et GA4 DebugView. Les agents utilisateurs de bots/audit peuvent être volontairement exclus. Testez vue produit, changements de panier, commande, connexion, inscription, recherche et commande complète. Vérifiez référence de transaction et totaux des articles.
Si aucune balise ne charge, vérifiez "Enable Tracking", le "Measurement ID", les exclusions employés/refus du suivi, l'exécution des hooks et la propriété en double. Si le thème omet displayProductActions ou displayBeforeCarrier, l'événement associé peut manquer.
Si l'achat serveur manque, vérifiez option de secours, ID, secret, attribution de la fonction de suivi au module, worker de file et journal HTTP/erreurs récent. Un secret vide laisse le suivi navigateur disponible. Les totaux GA4 peuvent différer de PrestaShop à cause des scripts bloqués, consentement, attribution, délais de rapport et remboursements. Le suivi d'achat de ce module n'est pas un système de rapprochement comptable.
Désactiver ou désinstaller
Réglez "Enable Tracking" sur Non et enregistrez pour suspendre l'intégration. Désinstallez via "Module Manager" pour retirer menu, enregistrement cron et configuration. La table de file partagée reste si un autre module utilise le paquet de conversion ; sinon son assistant de désinstallation la supprime. Gérez la propriété GA4 et son historique dans Google Analytics. Le journal utilise un stockage partagé ; ne supprimez pas manuellement une table partagée.
Captures de référence
Utilisez les noms de paramètres ci-dessus lorsqu'une capture diffère de votre version installée.




Questions
Pas encore de questions sur ce module
Posez vos questions sur l'installation, la compatibilité ou la configuration. Les réponses apparaissent ici.
Problèmes connus
9
Le suivi pouvait utiliser un consentement périmé
Les exclusions du personnel ne couvraient pas tous les circuits de suivi
L'enregistrement pouvait effacer un secret API existant
Le diagnostic ne signalait pas les échecs d'envoi d'achats
Impossible d'enregistrer un identifiant depuis les contrôles d'installation
Les traductions disponibles ne s'affichaient pas
Le module ne se chargeait pas sur PHP 7.1
Des traductions incorrectes apparaissaient dans l'interface
Le regroupement des ressources de la boutique pouvait bloquer le suivi
Demandes de fonctionnalités
16
Implémenté
GA4, diagnostic et récupération des événements d'achat
Suivi e-commerce GA4
Règles d'événements GA4 personnalisées
Envoi des achats côté serveur par file d'attente
Moniteur d'événements de démonstration
Conversions améliorées
Réglage Google Signals
Conservation des journaux d'événements
Mises à jour du module dans le back-office
Tableau de bord de l'état de l'installation
Langues d'administration supplémentaires
Suivi de l'engagement sur les produits
Coordination de la responsabilité du suivi GA4
Suivi des interactions de contact
Récupération des achats manquants
Suivi des modifications confirmées du panier
Journal des modifications
v1.3.42026-09-09
- AddedAdd GA4 custom event rules
- AddedQueue GA4 measurement protocol purchases
- AddedAdd GA4 demo event monitor
- AddedHarden Google Analytics GA4 tracking
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedAdd google analytics infrastructure integrity checks
- FixedAdd GA4 custom-event diagnostics
- FixedRemove nested package gitlinks
- FixedAdd migrateFromPsConfiguration for ps_configuration cleanup
Versions précédentes
v1.2.152026-05-07
- Fixedthe GA4 search event so search result pages now emit `search` with `search_term` from the page header.
- Kept login and signup simple-event rendering behind the shared GA4 simple-event helper.
- Rebuilt and republished the release after live demo verification exposed the missing search-page event.
v1.2.142026-05-07
- Addedthe standard install-integrity banner on first Back Office visit after install.
- Addedrequired-configuration warnings for missing or invalid GA4 Measurement ID.
- Addednative module warning integration so merchants see "installed, configuration required" instead of a false all-green state.
- Refreshed shared MPR admin, license, integrity, config and update packages.
- Updatedthe live demo with a sample Measurement ID, debug mode and diagnostics-first test flow.
v1.2.02026-04-12
- Reworked the module around GA4 ecommerce tracking with page_view, view_item, add_to_cart, remove_from_cart, view_cart, begin_checkout, search, sign_up, login and purchase events.
- Addedserver-side Measurement Protocol purchase fallback for completed orders when enabled with a real API Secret.
- Addeddiagnostics for hook order, Consent Mode, duplicate GA/GTM tags, live storefront HTML and recent server-side event attempts.
- Addedcustomer-group repair and displayHeader hook-order repair tools.
v1.1.02026-02-21
- Addedstandard MPR admin controllers for configuration, license, support, update and integrity.
- AddedGoogle Consent Mode ordering support with Cookies Revolution.
- Addedhashed User ID tracking option for logged-in customers.
v1.2.122025-10-19
- Improvedupdate/download readiness for Digital Revolution releases.
- Refreshed shared update package integration for remote module updates.
- Hardened admin tab registration and first-visit infrastructure checks.
v1.2.112025-10-03
- Addedone-click remote updates via the prestashop-update package.
- AddedInfrastructureGuard self-heal with Symfony tab rescue.
- Addedrequired-config modal support for GA4 integrity checks.
- AddedEnhanced Conversions, Google Signals and Measurement Protocol validation fields.
- Addedcomplete FR, DE, ES, IT and PL translations.
v1.0.02025-04-17
- InitialGoogle Analytics 4 module for PrestaShop.
- Addedconfigurable GA4 Measurement ID and gtag.js front-office bootstrap.
- Addedenhanced ecommerce purchase payload with transaction ID, value, tax, shipping and item data.
Demo
Testez le module complet
- Boutique de démo prête Découvrez une boutique de démo prête dans votre navigateur.
- Sans inscription Ni compte, ni e-mail, ni domaine de boutique requis.
En ouvrant cette démo, vous acceptez les conditions de la démo et la politique de confidentialité.