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é)
- Allez à votre tableau de bord Zenovay
- Ouvrez Domains et cliquez sur votre site
- Dans les paramètres du domaine, ouvrez la section Advanced
- Activez le bouton bascule « Allow Localhost »
- 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).

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 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 :
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ôte | Détecté comme local |
|---|---|
localhost | Oui |
127.0.0.1 | Oui |
::1 | Oui |
*.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) :
- Paramètres du serveur — Le suivi récupère la configuration de votre site Web à partir de l'API Zenovay. Si
allow_localhostest activé dans le tableau de bord, le suivi se poursuit. - 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 :
GET z.js— Script chargé (200 OK)GET /api/websites/settings/ZV_...— Récupération des paramètres (200 OK, la réponse inclutallow_localhost: true)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ètre | Objectif | Où activer |
|---|---|---|
| Allow Localhost | Permet au suivi de s'exécuter sur les environnements locaux | Domains, sélectionnez votre site, section Advanced, bouton bascule « Allow Localhost » |
| Mode Débogage | Enregistre les événements de suivi détaillés dans la console du navigateur | Domains, 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 :
<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 :
- Utiliser le script direct sur localhost : Basculez vers
https://api.zenovay.com/z.jsen développement - Configurer un proxy local : Configurez votre serveur de développement pour faire un proxy
/api/_z/vershttps://api.zenovay.com/ - Utiliser une URL de script basée sur l'environnement : Charger depuis votre proxy en production, direct en développement
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
- 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é
- Rechargement forcé : Les modifications peuvent prendre jusqu'à 30 secondes. Faites Ctrl+Maj+R pour effacer les scripts en cache
- Vérifier la console : Ouvrez DevTools et recherchez les messages
[Zenovay] - Vérifier que le script se charge : Vérifiez dans l'onglet Network que
z.jsretourne 200 - 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_localhostn'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.