Aller au contenu

Les modes de mesure

Chaque site a son mode de mesure, choisi dans ses Réglages. Une instance gère autant de sites qu’on veut, chacun dans son mode. Le mode n’est jamais écrit dans la balise : il vient du serveur avec la réponse à la première page vue, et un changement prend effet à la page suivante, sans toucher aux pages du site.

ModeLe visiteurCe qu’on mesure en plusVis-à-vis de la CNIL
Sans cookie (défaut)un hachage du jour—dans le cadre de l’exemption
Cookie de mesureun identifiant aléatoire, dans un cookie propriétairevisiteurs nouveaux et revenants, fréquence, délai avant conversion, attribution sur plusieurs visitesdans le cadre de l’exemption, sous conditions
Avec consentementsans cookie jusqu’au consentement, puis cookiela même chose, pour les visiteurs qui ont consenticonsentement requis, recueilli par la plateforme du site

Voir la CNIL pour les conditions de l’exemption.

Le visiteur est un hachage du jour :

visiteur = SHA-256(sel du jour ‖ site ‖ adresse IP ‖ agent utilisateur), tronqué à 128 bits
  • Le sel est tiré au hasard chaque jour (UTC) et gardé en base, pour que toutes les répliques de l’API calculent le même hachage. Le lendemain, le worker le détruit : plus personne ne peut recalculer un hachage, ni relier deux jours.
  • Le site entre dans le hachage : le même navigateur sur deux sites a deux identifiants. Aucun suivi d’un site à l’autre.
  • L’adresse IP sert au calcul, puis elle est oubliée : elle ne sort jamais de la mémoire de la requête.

La conséquence est assumée : un visiteur unique se compte par jour. Les visiteurs revenants, la fréquence de visite et l’attribution au-delà de la journée ne se mesurent pas — sauf pour les visiteurs connectés.

Le cookie _eoa porte un identifiant aléatoire de 128 bits et sa date de création : 3f9c…e1a2.20261004.

  • C’est le serveur qui tire l’identifiant. À la première page vue sans cookie, /collect en crée un, l’utilise pour cette page vue et le renvoie ; le script le pose. Aucune page vue n’est comptée deux fois.
  • L’expiration est fixée à la création (13 mois au plus, réglable de 1 à 13) et n’est jamais prolongée par une visite.
  • C’est un cookie propriétaire, posé par le script sur le domaine de la page (SameSite=Lax, Secure en HTTPS). Il ne contient rien d’autre que l’identifiant et sa date, sans lien avec l’adresse IP ni avec l’identité du visiteur.
  • optOut() l’efface. Si le site repasse sans cookie, la réponse suivante demande au script de l’effacer.

Le domaine du cookie (facultatif, dans les Réglages) pose le cookie sur un domaine parent, .maison-arvor.fr : le même visiteur est alors reconnu sur maison-arvor.fr et blog.maison-arvor.fr, si les deux sites partagent ce réglage. C’est la seule façon de suivre un visiteur d’un site à l’autre : il n’y a pas de liaison entre domaines différents.

Safari (ITP) ramène à 7 jours la durée des cookies posés par un script. Les visiteurs revenants y sont donc sous-comptés au-delà d’une semaine. C’est une limite du navigateur, pas un réglage.

Pour les sites qui recueillent déjà un consentement et veulent y rattacher la mesure :

  1. tant que la plateforme de consentement n’a rien dit, le script mesure sans cookie ;
  2. quand le visiteur accepte, elle appelle EodiaAnalytics.consent(true) : le script passe au cookie de mesure à la page suivante ;
  3. s’il retire son consentement, EodiaAnalytics.consent(false) efface le cookie et revient au hachage du jour.
// Exemple : à brancher sur l’événement de votre plateforme de consentement.
window.addEventListener('consentement-mis-a-jour', (e) => {
EodiaAnalytics.consent(e.detail.mesureAudience === true)
})

L’appel peut se faire avant le chargement du script, grâce à la file d’appels.

Un même site peut voir les deux natures de visiteur : un visiteur qui refuse, un mode changé en cours de route, un consentement retiré. La colonne visitor_kind des vues les distingue : daily (hachage du jour), cookie (cookie de mesure), none (un envoi du serveur sans visiteur). La colonne new_visitor n’a de sens que pour cookie.

  • l’adresse IP n’est jamais enregistrée, et seul le pays en est déduit ;
  • optOut() et le signal Global Privacy Control valent refus dans tous les modes ;
  • la durée de conservation des données est bornée à 25 mois (réglable par site) ;
  • les données ne sont lues que par vous, dans votre instance d’eodia insights.

eodia analytics est un logiciel libre d’Eodia.