La balise et ses attributs
Tout commence par une balise, collée dans le <head> de chaque page :
<script defer src="https://stats.exemple.fr/a.js" data-site="s_arvordemo001"></script>/a.js est un script de quelques kilo-octets, sans dépendance, servi par l’API d’eodia
analytics (en cache une heure, avec un ETag). L’onglet Installation de chaque site donne la
balise avec sa clé et l’adresse de collecte (COLLECT_URL) déjà remplies.
Les attributs
Section intitulée « Les attributs »| Attribut | Rôle |
|---|---|
data-site | la clé publique du site, s_ suivi de douze caractères. Obligatoire |
data-identity | un visiteur connecté : un JWT HS256 signé par votre serveur avec le secret du site. Voir le visiteur connecté |
data-spa | les changements d’adresse sans rechargement : history (défaut), hash, ou off. Voir les applications à page unique |
data-auto="false" | pas de page vue automatique : la page appelle EodiaAnalytics.page() elle-même |
data-preview | autorise le mode aperçu : la carte de chaleur dessinée sur la vraie page, à la demande d’eodia insights |
<script defer src="https://stats.exemple.fr/a.js" data-site="s_arvordemo001" data-spa="history" data-identity="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9…" data-preview></script>Ce qu’elle mesure
Section intitulée « Ce qu’elle mesure »- les pages vues, y compris les changements d’adresse sans rechargement ; une page en
pré-rendu (
document.prerendering) n’est comptée qu’une fois affichée ; - le référent et les paramètres de campagne, y compris
dans le fragment (
#utm_source=…) ; - vos événements (
EodiaAnalytics.track), voir l’API de la page ; - les mesures automatiques que le site a activées : liens sortants, téléchargements, recherche interne, formulaires, vidéos ;
- à la sortie de la page : le temps d’engagement (page affichée au premier plan) et la profondeur de défilement maximale ;
- les clics : un sélecteur stable de l’élément cliqué (son
id,data-eodia-zoneoudata-testid, sinon un chemin de balises sur cinq niveaux au plus) et la position du clic dans l’élément, de 0 à 1, indépendante de la taille de l’écran ; 100 clics par page au plus ; - les zones (
data-eodia-zone) : leur temps de visibilité.
Ce qu’elle ne fait jamais
Section intitulée « Ce qu’elle ne fait jamais »- Elle ne lit jamais une valeur saisie ni un texte sélectionné.
- Elle ne pose rien d’autre que le cookie de mesure
_eoa, et seulement si le serveur le lui demande (site en mode cookie), et la marque d’un refus (optOut()), rangée dans lelocalStorage. - Elle n’envoie rien si le visiteur a refusé (
optOut()), si le navigateur envoie le signal Global Privacy Control, ou s’il est piloté par un robot (navigator.webdriver).
Comment elle envoie
Section intitulée « Comment elle envoie »La première page vue part en fetch (avec keepalive) pour lire la réponse : le cookie à poser
et les mesures automatiques à lancer. Les envois suivants partent en navigator.sendBeacon,
groupés par 50 au plus. Le corps est toujours du JSON en text/plain : aucune requête de
pré-vol CORS. Le point de collecte vérifie que la page appartient aux domaines du site, puis
renvoie son origine dans Access-Control-Allow-Origin.
Où la mettre
Section intitulée « Où la mettre »- Dans le
<head>, avecdefer: elle ne retarde pas l’affichage. - Une fois par page. Un second chargement est ignoré.
- Derrière un gestionnaire de balises : une balise HTML personnalisée qui contient la même ligne
convient.
document.currentScriptdoit pointer vers elle : pas de chargement pareval.
eodia analytics est un logiciel libre d’Eodia.