Aller au contenu principal
7 min de lecture

Test sur Localhost

Par défaut, Zenovay bloque le suivi sur localhost et autres environnements locaux pour empêcher que les données de test ne polluent vos analyses. Vous pouvez activer le suivi local pour le développement et le test.

Activer le suivi sur Localhost

Option 1 : Bascule du tableau de bord (recommandé)

  1. Allez à votre tableau de bord Zenovay
  2. Ouvrez Domains et cliquez sur votre site
  3. Dans les paramètres du domaine, ouvrez la section Advanced
  4. Activez le bouton bascule « Allow Localhost »
  5. Cliquez sur enregistrer

Les modifications prennent effet dans les 30 secondes pour les nouveaux chargements de page. Si vous aviez déjà la page ouverte, faites un rechargement forcé (Ctrl+Maj+R / Cmd+Maj+R).

Panneau des paramètres par domaine montrant la section Advanced avec le bouton bascule Allow Localhost
Le bouton bascule Allow Localhost se trouve dans la section Advanced des paramètres de chaque domaine.

Option 2 : Attribut du script

Si vous préférez contrôler cela par environnement via votre HTML, ajoutez data-allow-localhost="true" à la balise script :

Script avec localhost activéHTML
<script defer
data-tracking-code="YOUR_TRACKING_CODE"
data-allow-localhost="true"
src="https://api.zenovay.com/z.js">
</script>

Remarque : le paramètre du tableau de bord ci-dessus est le contrôle effectif. Le serveur n'accepte les événements localhost que lorsqu'il est activé, et la récupération des paramètres du tracker prévaut sur cet attribut. Conservez l'attribut pour le développement hors ligne (lorsque la récupération des paramètres est impossible) ; il n'a aucun effet sur les domaines de production.

Option 3 : Chargement dynamique du script

Pour les frameworks comme React ou Next.js où vous chargez le script dynamiquement :

Script dynamique avec l'indicateur localhostJavaScript
const script = document.createElement('script');
script.src = 'https://api.zenovay.com/z.js';
script.defer = true;
script.setAttribute('data-tracking-code', 'YOUR_TRACKING_CODE');
script.setAttribute('data-allow-localhost', 'true');
document.head.appendChild(script);

Comment ça marche

Le suivi Zenovay détecte les environnements locaux en vérifiant le nom d'hôte :

Nom d'hôteDétecté comme local
localhostOui
127.0.0.1Oui
::1Oui
*.localhost (par exemple app.localhost)Oui
*.local (par exemple mysite.local)Oui
127.x.x.x (n'importe quelle boucle locale)Oui

Quand un environnement local est détecté, le suivi vérifie deux choses (dans cet ordre) :

  1. Paramètres du serveur — Le suivi récupère la configuration de votre site Web à partir de l'API Zenovay. Si allow_localhost est activé dans le tableau de bord, le suivi se poursuit.
  2. Attribut du script — Si l'appel API échoue ou n'est pas encore terminé, l'attribut data-allow-localhost="true" sur la balise script sert de secours.

Si aucune des deux n'est définie, le suivi est bloqué et vous verrez ce message dans la console du navigateur :

[Zenovay] Environment blocked — Localhost blocked (use data-allow-localhost='true' to enable)

Vérifier que ça marche

Console du navigateur

Ouvrez DevTools (F12) → onglet Console. Avec le suivi sur localhost activé, vous devriez voir :

Zenovay Analytics loaded { trackingCode: "ZV_...", reason: "Active" }

Si localhost est bloqué, vous verrez :

[Zenovay] Environment blocked { reason: "Localhost blocked (use data-allow-localhost='true' to enable)" }

Pour voir la sortie de débogage détaillée, activez également le Mode Débogage dans les paramètres Advanced du domaine (ouvrez Domains, sélectionnez votre site, puis ouvrez la section Advanced), ou ajoutez data-debug="true" à la balise script. C'est un paramètre séparé d'Allow Localhost.

Onglet Réseau

Ouvrez DevTools → onglet Network et filtrez par zenovay ou api.zenovay.com :

  1. GET z.js — Script chargé (200 OK)
  2. GET /api/websites/settings/ZV_... — Récupération des paramètres (200 OK, la réponse inclut allow_localhost: true)
  3. POST /e/ZV_... — Événement de vue de page suivi (200 OK)

Si l'étape 3 retourne 403, votre vérification de domaine bloque la demande. Assurez-vous que allow_localhost est activé dans les paramètres de votre tableau de bord.

Tableau de bord

Après un chargement de page sur localhost, allez à votre tableau de bord Zenovay. Ouvrez Domains, sélectionnez votre site, et ouvrez l'onglet Analytics. Sous la ventilation des Hosts, vous devriez voir localhost (ou 127.0.0.1) listé comme source.

Mode Débogage vs Allow Localhost

Ce sont deux paramètres séparés avec des objectifs différents :

ParamètreObjectifOù activer
Allow LocalhostPermet au suivi de s'exécuter sur les environnements locauxDomains, sélectionnez votre site, section Advanced, bouton bascule « Allow Localhost »
Mode DébogageEnregistre les événements de suivi détaillés dans la console du navigateurDomains, sélectionnez votre site, section Advanced, bouton bascule « Debug Mode »

Vous pouvez activer les deux pendant le développement pour une visibilité maximale, mais ils fonctionnent indépendamment.

  • Allow Localhost contrôle seulement si le suivi s'exécute sur localhost
  • Mode Débogage contrôle seulement si la sortie de débogage apparaît dans la console

Utilisation avec le point de terminaison Load

Si vous utilisez le point de terminaison /load (recommandé pour la production), les paramètres localhost sont automatiquement injectés par le serveur :

Point de terminaison Load (paramètres injectés automatiquement)HTML
<script defer
data-tracking-code="YOUR_TRACKING_CODE"
src="https://api.zenovay.com/load/YOUR_TRACKING_CODE">
</script>

Avec le point de terminaison /load, vous n'avez besoin que d'activer « Allow Localhost » dans le tableau de bord — l'attribut data-allow-localhost n'est pas requis.

Proxy tiers sur Localhost

Si votre configuration de production utilise un proxy tiers (par exemple, /api/_z/script.js), le proxy ne fonctionnera généralement pas sur localhost puisque c'est une route côté serveur qui transfère vers api.zenovay.com.

Solutions :

  1. Utiliser le script direct sur localhost : Basculez vers https://api.zenovay.com/z.js en développement
  2. Configurer un proxy local : Configurez votre serveur de développement pour faire un proxy /api/_z/ vers https://api.zenovay.com/
  3. Utiliser une URL de script basée sur l'environnement : Charger depuis votre proxy en production, direct en développement
URL du script basée sur l'environnementJavaScript
const isDev = window.location.hostname === 'localhost';
const script = document.createElement('script');
script.src = isDev
? 'https://api.zenovay.com/z.js'
: '/api/_z/script.js';
script.defer = true;
script.setAttribute('data-tracking-code', 'YOUR_TRACKING_CODE');
if (isDev) script.setAttribute('data-allow-localhost', 'true');
document.head.appendChild(script);

Dépannage

Le suivi ne fonctionne pas sur localhost

  1. Vérifier le paramètre du tableau de bord : Ouvrez Domains, sélectionnez votre site, ouvrez la section Advanced et vérifiez que « Allow Localhost » est activé
  2. Rechargement forcé : Les modifications peuvent prendre jusqu'à 30 secondes. Faites Ctrl+Maj+R pour effacer les scripts en cache
  3. Vérifier la console : Ouvrez DevTools et recherchez les messages [Zenovay]
  4. Vérifier que le script se charge : Vérifiez dans l'onglet Network que z.js retourne 200
  5. Vérifier les bloqueurs de publicités : Les extensions de navigateur peuvent bloquer les analyses même sur localhost

Les événements retournent 403

L'API a rejeté votre demande de suivi en raison de la vérification du domaine. Cela signifie :

  • allow_localhost n'est pas activé dans les paramètres de votre site Web, OU
  • Le paramètre n'a pas encore été propagé (attendez 30 secondes et réessayez)

Les événements se produisent mais les données n'apparaissent pas dans le tableau de bord

Les données localhost apparaissent dans vos analyses avec les données de production. Vérifiez :

  • Onglet Hosts dans Analytics — recherchez les entrées localhost
  • Filters — assurez-vous que vous ne filtrez pas le trafic localhost
  • Time range — assurez-vous de consulter les données d'aujourd'hui

N'oubliez pas de désactiver « Allow Localhost » avant de passer à la production si vous ne voulez pas de données de test dans vos analyses. Vous pouvez également utiliser l'approche d'attribut data-allow-localhost pour qu'elle soit active uniquement dans votre environnement de développement.

Cette page vous a-t-elle été utile ?