Si vous venez de la version 1
Si votre boutique utilise Order Source Tracking 1.x, l’ancien nom de ce module, vous faites la mise à jour sur place et gardez vos données. Le module a un nouveau nom, un nouveau menu et une nouvelle façon d’enregistrer les visites, et son tableau de bord compte autrement. Ce chapitre vous dit à quoi vous attendre.
Comment mettre à jour
- Vérifiez que votre boutique utilise PrestaShop 8.0 ou une version ultérieure. La version 2 ne s’installe pas sur PrestaShop 1.7 ; une telle boutique reste en version 1.
- Ouvrez Modules › Gestionnaire de modules, cliquez sur Installer un module et sélectionnez le nouveau zip. PrestaShop exécute la mise à jour.
- Ouvrez Commandes › Sources des commandes › Réglages et lisez la Liste de vérification.
Inutile de désinstaller d’abord la version 1. Si la mise à jour s’arrête en cours de route, par exemple parce qu’une grande table prend trop de temps, envoyez à nouveau le zip : la mise à jour reprend là où elle s’est arrêtée.
Ce qui est conservé
| Données de la version 1 | Après la mise à jour |
|---|---|
| Les sources de vos commandes | Conservées, pour chaque commande qui existe encore. La source et le support sont désormais en minuscules : « Facebook » et « facebook » sont donc devenus une seule source. |
| Les visites | Conservées quand elles ont moins de 13 mois. Les visites plus anciennes ne sont pas reprises. Une grande table est copiée mois par mois, les plus récents en premier ; ce que la mise à jour ne termine pas, le nettoyage quotidien l’achève. Les visites copiées n’ont ni page d’arrivée, ni terme, ni contenu, ni type de clic publicitaire : la version 1 ne les enregistrait pas. |
| Vos réglages | Conservés : la fenêtre d’attribution, vos règles de référent, vos sites exclus, vos adresses de test, et les deux interrupteurs des colonnes du premier et du dernier contact de l’onglet Commandes du module. |
| Les visiteurs en cours de parcours | Un visiteur arrivé avant la mise à jour qui commande après reçoit toujours le bon premier et le bon dernier contact : le module lit une fois les cookies de la version 1, puis les supprime. |
| Les tables de la version 1 | Non modifiées par la mise à jour. Elles restent 30 jours par sécurité, puis sont supprimées par le nettoyage. Jusque-là, la Liste de vérification affiche une ligne orange qui le signale, et Données et entretien indique la date. C’est une information, pas un problème. |
Ce qui a changé
| Sujet | Version 1 | Désormais |
|---|---|---|
| Nom et menu | Order Source Tracking : trois entrées sous Commandes, et les réglages dans le Gestionnaire de modules | Order Source Pro : une seule entrée, Sources des commandes, avec les onglets Tableau de bord, Commandes, Visites et Réglages |
| Commandes confirmées en arrière-plan par le prestataire de paiement | N’avaient pas de source | Reçoivent leur source : elle accompagne le panier |
| Commandes créées dans le back-office | Prenaient la source des propres visites de l’employé | N’ont pas de source, ce qui correspond à la réalité |
| Règles de référent et sites exclus | Étaient enregistrés mais jamais utilisés | Sont appliqués |
| Retour depuis une page de paiement | Pouvait devenir la source de la commande | Ne compte jamais ; vos propres domaines et les prestataires de paiement courants sont exclus |
| Clics sur des publicités sans paramètres UTM | Non reconnus | Reconnus (Plateformes publicitaires : reconnues sans paramètres UTM) |
| Ce qu’une visite enregistre | Adresse IP, navigateur, appareil et pages vues | Rien de tout cela (Ce qui est enregistré, et ce qui ne l’est pas) |
| Réglages | Une page dans le Gestionnaire de modules | Un onglet avec des sections, et de nouveaux réglages pour la détection, le consentement, la conservation et l’affichage. Ils démarrent avec les mêmes valeurs qu’après une nouvelle installation (Réglages) |
Les écrans qui ont disparu
- Les deux écrans d’import CSV, l’écran d’export des visiteurs et l’export par plage de dates au-dessus de la liste des commandes. Les onglets Commandes et Visites exportent avec le bouton de leur liste.
- La page de détail d’un visiteur. Tout ce que contient une visite figure dans la liste.
- Les réglages « Track First UTM » et « Track Last UTM ». Ils n’ont jamais eu d’effet.
Les nouveaux chiffres du tableau de bord
Après la mise à jour, le tableau de bord affiche une note : « Les chiffres de cette page ont changé dans la version 2.1. Seules les commandes valides comptent, et le chiffre d’affaires est le montant payé hors taxes et hors frais de port, dans votre devise par défaut, comme sur le tableau de bord de PrestaShop. Une commande compte le jour où elle a été passée. » Elle reste affichée jusqu’à ce que vous cliquiez sur Masquer. La Ce que signifie chaque chiffre explique le jour auquel une commande est comptée, la seule différence conservée volontairement. Derrière cette note :
| Chiffre | La version 1 comptait | Désormais |
|---|---|---|
| Commandes | Toutes les commandes, y compris les commandes annulées et impayées | Les commandes valides seulement, et toutes : les commandes sans source forment la ligne Non suivi |
| Chiffre d’affaires | Les totaux des commandes, sans conversion entre devises | Hors taxes et hors frais de port, converti dans votre devise par défaut |
| Commandes sans source | « Unknown » | Non suivi, avec le chiffre Commandes suivies qui indique combien ont une source |
Les totaux d’un mois passé peuvent donc différer de ce qu’affichait la version 1. Rien n’a été perdu : les commandes annulées et impayées ne comptent plus, et le chiffre d’affaires exclut les taxes et les frais de port. Pour un rapport toutes taxes comprises, réglez Chiffre d’affaires du tableau de bord sur Toutes taxes comprises (Commandes : où la source est affichée). Dans une installation multiboutique, les anciennes visites qui n’ont mené à aucune commande sont toutes dans la boutique par défaut (Les visites de la version 1).
Questions et problèmes
Commencez par la Liste de vérification dans Réglages › Vue d’ensemble : la plupart des problèmes y apparaissent, avec un lien vers la section qui permet de les corriger. Une erreur du module n’interrompt aucune page de votre boutique : elle est consignée dans Paramètres avancés › Logs, sur une ligne qui commence par pch_ordersource.
Problèmes
Aucune visite n’apparaît
- Faites une visite de test : ouvrez votre boutique dans une fenêtre de navigation privée et ajoutez
?utm_source=testà l’adresse. Si l’enregistrement commence Après acceptation des cookies par le visiteur, acceptez d’abord le bandeau cookies sur cette page. Ouvrez l’onglet Visites au bout d’une minute. - Si la visite manque et que l’enregistrement attend le consentement, votre bandeau ne transmet peut-être pas la réponse du visiteur au module : dans ce cas, rien du tout n’est enregistré (Consentement : quand l’enregistrement peut commencer).
- Regardez Réglages › Détection. Avec Serveur uniquement et un cache de page, les pages en cache ne sont pas enregistrées. Choisissez Script uniquement, comme l’explique Ma boutique utilise un cache de page ou un CDN.
- Avec Script uniquement, un navigateur qui bloque les scripts, ou une règle d’un pare-feu placé devant votre boutique, peut empêcher le signalement du script. Essayez un autre navigateur sans extensions.
- Toujours rien ? Activez Journaliser les décisions dans Réglages › Données et entretien, refaites la visite de test et lisez Paramètres avancés › Logs : le module y écrit ce qu’il a enregistré ou ignoré, et pourquoi, sur des lignes qui commencent par
pch_ordersource. Désactivez ensuite le réglage.
Certaines arrivées sont ignorées volontairement : les robots des moteurs de recherche et les outils de surveillance, une page que le navigateur ne fait que précharger, et le retour depuis une page de paiement.
Commandes sans source (Non suivi)
Une commande n’a pas de source quand le module n’a pas pu la relier à une visite. Les raisons habituelles :
- La commande a été créée dans le back-office, ou par le webservice.
- La commande a été passée avant l’installation du module.
- Le navigateur du visiteur a refusé ou supprimé le cookie, ou le visiteur n’a pas accepté dans votre bandeau cookies.
- La visite elle-même n’a pas été enregistrée, pour l’une des raisons ci-dessus.
Une part de commandes non suivies est normale. Le chiffre Commandes suivies du tableau de bord vous indique son importance. S’il est bas, vérifiez d’abord le réglage du consentement : avec Après acceptation des cookies par le visiteur, tout visiteur qui n’accepte pas n’est pas suivi.
Les chiffres diffèrent de Google Analytics
Ce sera le cas, et aucun des deux outils n’a tort. Ils ne comptent pas la même chose :
| Différence | Order Source Pro | Un service d’analyse d’audience |
|---|---|---|
| Commandes | Les commandes réelles de votre boutique, quand elles sont valides, y compris celles confirmées en arrière-plan par le prestataire de paiement. | Les commandes que son script a vues sur la page de confirmation. |
| Chiffre d’affaires | Hors frais de port, hors taxes sauf choix contraire de votre part, dans votre devise par défaut. | Ce qu’envoie le code de suivi de votre boutique, souvent taxes et frais de port compris. |
| La visite qui reçoit la commande | Le premier contact, ou le dernier contact non direct, dans votre fenêtre d’attribution. | Son propre modèle et sa propre fenêtre. |
| Une visite | Une arrivée ; 30 minutes sans page vue y mettent fin. | Une session, selon ses propres règles. |
| Qui est compté | Dépend de vos réglages Détection et Consentement. | Dépend de ses propres réglages de consentement et des bloqueurs de scripts. |
Comparez plutôt avec le tableau de bord de PrestaShop : il compte les commandes et les ventes selon les mêmes règles. La Ce que signifie chaque chiffre nomme la seule chose qui diffère volontairement, le jour auquel une commande est comptée.
Ma boutique utilise un cache de page ou un CDN
Choisissez Script uniquement dans Réglages › Détection, comme le conseille l’aide du champ. C’est le réglage à utiliser quand le cache ou le CDN retire les cookies des pages qu’il stocke. Jamais Serveur uniquement : une page en cache est envoyée sans que la boutique soit sollicitée. La Liste de vérification vous avertit quand elle trouve un module de cache de page en même temps que Serveur uniquement. Si votre cache est configuré en dehors de PrestaShop, par exemple chez votre hébergeur, la liste de vérification ne peut pas le voir : choisissez le réglage vous-même.
Ma boutique a un bandeau cookies
Décidez si vos visiteurs doivent donner leur accord avant d’être suivis ; c’est une question juridique (Consentement : quand l’enregistrement peut commencer). Si oui, choisissez Après acceptation des cookies par le visiteur et assurez-vous que votre bandeau transmet la réponse : un bandeau avec Google Consent Mode le fait de lui-même, tout autre bandeau a besoin d’un appel. Testez ensuite : dans une fenêtre de navigation privée, une visite ne doit apparaître dans l’onglet Visites qu’après votre acceptation.
Un prestataire de paiement apparaît parmi mes sources
Ajoutez son domaine dans Réglages › Sites exclus (Sites exclus : les pages d’où un client ne fait que revenir). Les visites déjà enregistrées gardent leur source ; les nouvelles ne la reçoivent plus.
Le site d’un partenaire est listé sous son domaine, ou mes propres visites sont comptées
Un site sans règle est enregistré sous son domaine, comme site référent : donnez-lui la source de votre choix dans Réglages › Règles de référent (Règles de référent : la source de votre choix pour un site). Pour exclure vos propres visites du tableau de bord, ajoutez votre adresse sous Adresses IP de test dans Réglages › Attribution des commandes.
La liste de vérification indique que le nettoyage n’a pas eu lieu
Le nettoyage s’exécute lorsque quelqu’un ouvre le back-office. Cliquez sur Lancer maintenant dans Réglages › Données et entretien. Pour une boutique dont le back-office n’est pas ouvert tous les jours, faites appeler l’Adresse de maintenance une fois par jour par une tâche planifiée (L’adresse de maintenance).
Les visites d’un bureau ou d’un réseau manquent
Pour contrer les afflux de visites, le module enregistre au plus 30 nouvelles visites par minute depuis une même adresse. De vrais visiteurs n’atteignent jamais ce seuil, sauf si votre boutique se trouve derrière un proxy ou un CDN qui lui montre une seule adresse pour tout le monde. Votre hébergeur peut configurer le serveur pour que la boutique voie l’adresse réelle de chaque visiteur.
Un employé ne peut pas ouvrir les onglets du module
Les quatre onglets sont des pages du menu du back-office. Donnez au profil de l’employé le droit de les voir dans Paramètres avancés › Équipe › Permissions. La colonne Source et la carte Source de la commande ne nécessitent aucun droit particulier.
Limites connues
| Limite | Ce que cela signifie (une conséquence du fonctionnement du module, pas une erreur) |
|---|---|
| Un navigateur est un visiteur | Une personne qui clique sur une publicité sur son téléphone et achète sur son ordinateur portable compte comme deux visiteurs. La commande reçoit la source avec laquelle l’ordinateur portable est arrivé. |
| Commandes créées dans le back-office | Elles n’ont pas de source : aucune visite du client n’y mène. Il en va de même pour les commandes qui arrivent par le webservice. |
| Visiteurs qui refusent le cookie | Ils ne sont pas suivis, et leurs commandes n’ont pas de source. Avec Après acceptation des cookies par le visiteur, c’est le cas de tout visiteur qui n’accepte pas. Un navigateur qui ne conserve aucun cookie paraît nouveau à chaque page ; la limite anti-afflux l’empêche de remplir vos listes. |
| Consentement tardif | Avec Après acceptation des cookies par le visiteur, un visiteur qui n’accepte qu’après avoir quitté la première page est enregistré comme direct. |
| Un proxy qui masque les adresses des visiteurs | La limite anti-afflux compte alors tout le monde ensemble (voir ci-dessus). |
| Plusieurs boutiques | Une boutique dans un dossier d’une autre boutique partage ses visiteurs avec elle. Les visites de la version 1 qui n’ont mené à aucune commande sont dans la boutique par défaut (Plusieurs boutiques). |
| Premier et dernier contact seulement | Le module ne répartit pas une commande entre plusieurs sources, et il n’importe pas les coûts publicitaires. Une commande reçoit sa source une seule fois : modifier plus tard un réglage ou une règle ne réécrit pas les commandes et les visites déjà enregistrées. |
| PrestaShop 1.7 | Non pris en charge par la version 2. |
Questions fréquentes
Que voient mes clients ?
Rien : ni fenêtre surgissante, ni bandeau. Selon le réglage Détection, un petit script est chargé après la page. Il envoie un court signalement par visite, à votre propre boutique.
Pourquoi la part de « direct » est-elle si grande ?
Direct regroupe toutes les visites qui ne disent rien de leur provenance : les adresses saisies et les favoris, mais aussi les liens dans des applications, des logiciels de messagerie et des messages qui ne portent aucun paramètre. Ajoutez des paramètres UTM aux liens que vous publiez (Construire des liens de campagne) et cette part diminue.
Assistance
PrestaChamps développe ce module et en assure l’assistance. Connectez-vous sur addons.prestashop.com, ouvrez votre commande d’Order Source Pro et écrivez au développeur avec le formulaire de contact. Indiquez vos versions de PrestaShop, de PHP et du module, ce que vous attendiez et ce qui se passe à la place, avec une capture d’écran de la Liste de vérification. S’il manque des visites ou des sources, activez Journaliser les décisions, reproduisez le cas et envoyez-nous les lignes du module dans Paramètres avancés › Logs. N’envoyez jamais votre propre mot de passe : si nous devons voir votre back-office, nous vous demandons un compte employé temporaire.
Pour les développeurs
Ce chapitre s’adresse à la personne qui configure votre bandeau cookies, votre serveur ou vos rapports : les appels JavaScript pour un bandeau cookies, l’adresse pour une tâche planifiée, et les tables derrière les listes.
Les appels JavaScript pour un bandeau cookies
Ils ne servent que si Début de l’enregistrement est réglé sur Après acceptation des cookies par le visiteur (Consentement : quand l’enregistrement peut commencer). Le script du module n’enregistre alors rien et ne dépose aucun cookie tant qu’il n’a pas appris que le visiteur a donné son accord.
Google Consent Mode
Rien à ajouter. Le script lit les entrées de consentement que votre bandeau envoie dans window.dataLayer :
- Une entrée qui règle
analytics_storagesurgranteddémarre l’enregistrement, qu’il s’agisse d’une entréedefaultouupdate. - Une entrée
updatequi le règle surdeniedretire le consentement. - Une entrée
defaultavecdeniedest l’état de départ du bandeau : elle ne change rien.
Tout autre bandeau
window.pchOrderSource.grantConsent(); // le visiteur a accepté les cookies de statistiques
window.pchOrderSource.revokeConsent(); // le visiteur a retiré son accord, ou refusé après avoir accepté
Un bandeau qui connaît tôt la réponse enregistrée peut à la place définir un indicateur, avant l’exécution du script du module : window.pchOrderSourceConsent = 'granted', ou 'denied'.
| Ce qui se passe | Effet |
|---|---|
| Le consentement est donné sur la page où le visiteur est arrivé | La visite est enregistrée avec sa vraie source. Les pages suivantes de la même visite n’ont pas besoin d’un nouveau signal. |
| Le consentement est donné sur une page ultérieure | La visite est enregistrée comme directe : la campagne de l’arrivée n’est plus connue. |
| Le consentement est retiré | Le script supprime le marqueur de visite, et la boutique supprime les deux cookies. Les visites déjà enregistrées ne sont pas supprimées (Exporter et effacer les données d’un client). |
Pour vérifier votre configuration, ouvrez la boutique dans une fenêtre de navigation privée : avant que vous acceptiez, aucun cookie nommé pch_os_v ou pch_os_s ne doit exister ; après votre acceptation, les deux existent, et la visite figure dans l’onglet Visites.
L’adresse de maintenance
Le nettoyage démarre lorsque quelqu’un ouvre le back-office. Si le vôtre reste fermé plusieurs jours, faites appeler l’adresse de maintenance une fois par jour par une tâche planifiée (une tâche cron).
- Ouvrez Réglages › Données et entretien et cliquez sur Copier à côté de l’Adresse de maintenance.
- Dans le panneau de contrôle de votre hébergement, créez une tâche planifiée qui appelle cette adresse une fois par jour, à une heure creuse. La plupart des panneaux ont un champ pour une adresse ; sur un serveur avec une ligne de commande, une ligne comme celle-ci suffit :
# chaque jour à 03:15 ; collez entre les guillemets l’adresse copiée
15 3 * * * curl -fsS "PASTE-THE-MAINTENANCE-ADDRESS-HERE" > /dev/null
Un appel réussi répond OK, suivi de ce qu’il a supprimé, par exemple OK visits=0 cart_links=0 legacy_tables=0. L’adresse contient un jeton secret : traitez-la comme un mot de passe. Un appel sans le bon jeton est refusé et ne fait rien. C’est la même adresse pour toutes les boutiques d’une installation multiboutique.
Les tables
Le module conserve ses données dans quatre tables, après le préfixe des tables de votre boutique (ps_ dans la plupart des boutiques). Lisez-les pour vos propres rapports ; n’y écrivez pas.
| Table | Une ligne correspond à |
|---|---|
pch_ordersource_visit | Une visite : visitor_key, id_shop, date_add, source, medium, campaign, term, content, click_id_type, landing_path, referrer_host, id_order, is_test, origin. |
pch_ordersource_order | La source d’une commande : id_order, id_shop, puis first_source, first_medium, first_campaign, first_term, first_content, first_click_id_type, first_landing_path, first_date, et les huit mêmes colonnes avec last_. |
pch_ordersource_cart | Le lien entre un panier et son visiteur : id_cart, visitor_key, date_add. |
pch_ordersource_guard | Le compteur de la limite anti-afflux. Le nettoyage quotidien supprime ses lignes. |
Des valeurs utiles à connaître
- Une visite directe est enregistrée avec la source
(direct)et le support(none). Un lien avecutm_sourceet sansutm_mediuma le support(not set). click_id_typeest vide ou vaut l’une des valeursgoogle,microsoft,tiktok,meta.originindique comment la visite a été enregistrée :0par la boutique,1par le script,2copiée de la version 1,3lue dans un cookie de la version 1. Les lignes avec3n’existent que pour l’attribution ; excluez-les quand vous comptez les visites, comme le fait le tableau de bord.- Le tableau de bord compte les commandes avec
valid = 1pardate_addet additionne(total_paid_tax_excl - total_shipping_tax_excl) / conversion_rate(toutes taxes comprises : les deux colonnes_tax_incl). Une commande sans ligne danspch_ordersource_ordern’est pas suivie.
Comment le module se connecte à votre boutique
- Le signalement du script. Une courte requête par visite vers
/module/pch_ordersource/beaconde votre propre boutique, qui n’accepte que les requêtes venant des pages de votre boutique. Un pare-feu placé devant votre boutique doit la laisser passer. - La commande. Le module relie un panier à son visiteur quand le panier est enregistré sur le front-office, et inscrit la source quand PrestaShop valide la commande. Il ne lit aucun cookie à ce moment-là : une commande confirmée par le serveur d’un prestataire de paiement reçoit donc aussi sa source. Les paniers créés dans le back-office ou par le webservice ne sont pas reliés.