Dépannage
Les situations les plus fréquentes, du symptôme à la cause. Règle d'or de la plateforme : la collecte ne renvoie jamais d'erreur visible à vos visiteurs : les refus sont silencieux côté page, mais toujours diagnosticables ici.
Aucune donnée n'apparaît
Dans l'ordre :
- La clé. Le
data-site(ou la clé du SDK/plugin) correspond-il exactement à la clé de l'écran d'installation ? Une clé inconnue →403silencieux. - Le script se charge-t-il ? Onglet Réseau du navigateur :
qm.jsen 200, puis unPOST …/collecten202quand vous naviguez. Pas de requête du tout ? Vérifiezdefer, l'inclusion du script etwindow.__qmDisable. - CSP. Une Content-Security-Policy stricte bloque le chargement ou le POST : voir les directives
script-src/connect-srcdans Installation. - Auto-exclusion. Vous avez activé l'auto-exclusion propriétaire, coché votre rôle dans le plugin WordPress, ou posé le marqueur d'exclusion en visitant le site avec
?qm_ignore=1: vos propres visites ne comptent pas ; testez en navigation privée ou depuis un autre appareil, et voyez la section suivante. - L'écran d'installation vérifie la réception en direct : gardez-le ouvert pendant le test.
Je ne me vois pas dans mes statistiques
Vos propres visites peuvent être écartées par trois mécanismes distincts, dont aucun ne s'annonce :
- Le marqueur d'exclusion. Vous avez chargé une page du site avec
?qm_ignore=1: ce navigateur n'est plus compté sur ce site, pendant cinq ans. Rechargez n'importe quelle page avec?qm_ignore=0, depuis le même navigateur, pour revenir dans la mesure. Le marqueur n'étant jamais transmis, la plateforme ignore qu'il existe : elle ne peut pas vous le signaler, et vous seul pouvez le retirer. - L'auto-exclusion propriétaire activée dans l'espace membre, ou votre rôle coché dans le plugin WordPress.
window.__qmDisable = trueposé par une extension, un environnement de préproduction ou la console.
Si aucun des trois ne s'applique, la cause est ailleurs : reprenez la liste ci-dessus, où une clé absente ou fausse reste la plus fréquente.
Mes chiffres diffèrent de Google Analytics
C'est attendu, car les définitions diffèrent, dans les deux sens :
- Vous pouvez voir plus : le suivi serveur limite l'effet des adblockers et les règles de déclenchement peuvent différer de celles de GA ; comparez uniquement des périmètres soumis aux mêmes choix de consentement.
- Vous verrez moins : les bots connus sont écartés ; les visiteurs d'un même foyer/bureau derrière une même IP et un même navigateur fusionnent.
- Les uniques multi-jours sont surestimés : sans identifiant persistant (c'est le principe), un visiteur qui revient un autre jour compte à nouveau. Exact à la journée, standard de la catégorie.
- Les sessions expirent après 30 minutes d'inactivité, et la durée de la dernière page d'une session est inconnue.
Détail complet : la page publique « Comment nous comptons ».
Le hit est refusé (diagnostic réseau)
Le endpoint répond toujours, mais le statut dit pourquoi un hit ne compte pas :
| Statut | Cause | Piste |
|---|---|---|
400 |
Payload invalide ou > 4 Ko | Vérifiez le JSON, réduisez les props |
403 |
Clé inconnue, origine refusée (politique strict), ou signature invalide |
Vérifiez la clé, les domaines déclarés, l'horloge serveur |
429 |
Rate limit : 60 hits/minute par IP et par site | Attendez : un vrai trafic n'atteint pas cette limite par visiteur |
202 |
Accepté (y compris au-delà du quota : voir ci-dessous) | Rien à faire |
Le pixel p.gif répond toujours 200 ; son statut réel est dans l'en-tête X-QM-Status.
Signature invalide en mode signé
La signature HMAC est rejetée si l'horodatage s'écarte de plus de ±5 minutes (anti-rejeu). Cause n° 1 : l'horloge du serveur qui envoie (conteneur, VM figée). Synchronisez via NTP. Vérifiez aussi que la clé secrète utilisée est bien celle du bon site, et régénérez-la si elle a fuité.
Essai expiré ou quota dépassé
- Essai expiré : les hits sont acceptés (
202) mais comptésdropped: visibles comme tels dans l'espace membre, pas dans vos statistiques. Passez sur un plan pour reprendre le comptage. - Quota mensuel : zone de grâce jusqu'à ×1,2 du plan, e-mails d'alerte à 80 % et 100 %. Au-delà de la grâce, rien n'est perdu en silence le mois courant : la limitation n'est activée qu'après deux mois consécutifs de dépassement, elle est annoncée, et les hits qui cessent d'être analysés restent comptés et affichés.
Doublons ou pages vues en trop
- Script inclus deux fois (layout + bundler) : sans conséquence, le tracker se verrouille (
window.__qmLoaded). - SPA : une navigation vers la même URL n'émet pas de doublon ; le suivi
pushStatese désactive avecdata-spa="false". - WordPress mode « les deux » : les pages vues identiques reçues à moins de 2 s d'écart sont dédupliquées côté service.
- Rechargements réels (F5) : ce sont des pages vues légitimes (GA les compte aussi).
Un événement n'apparaît pas dans les conversions
Un objectif de type événement matche le nom exact (achat ≠ Achat). Un objectif de type page matche le chemin avec jokers (/merci, /docs/*). Vérifiez aussi les limites : nom ≤ 120 caractères, ≤ 30 propriétés ; au-delà, tronqué.
L'événement lui-même apparaît dans le panneau Événements dès le premier envoi ; la conversion n'apparaît que si l'objectif existe (créez-le avant votre test, ou re-testez après création).
Trafic de dev ou de staging dans les stats
Quatre parades, cumulables : une clé séparée pour le staging (ou aucune clé : sans clé, rien ne part), les chemins exclus dans les réglages du site, window.__qmDisable = true posé par l'environnement, et le marqueur d'exclusion posé une fois par navigateur (?qm_ignore=1). Côté WordPress, les rôles administrateurs/éditeurs sont exclus par défaut.
Vous ne trouvez pas votre réponse ?
Le support répond en français, les jours ouvrés.