L’API de la page
Une fois chargé, le script expose window.EodiaAnalytics. Six méthodes, toutes sans valeur de
retour :
EodiaAnalytics.track('newsletter_signup', { placement: 'footer' })EodiaAnalytics.identify(jwt) // ou null pour l’oublierEodiaAnalytics.page() // une page vue, à la mainEodiaAnalytics.optOut() // le visiteur refuse la mesureEodiaAnalytics.optIn() // il revient sur son refusEodiaAnalytics.consent(true) // mode « avec consentement » : la plateforme de consentement l’appelletrack(nom, propriétés)
Section intitulée « track(nom, propriétés) »Envoie un événement, rattaché à la page vue en cours.
EodiaAnalytics.track('review_posted', { rating: 5, item_id: 'KA2' })| Règle | Limite |
|---|---|
| Nom | minuscules, chiffres et _ . : -, 64 caractères au plus : ^[a-z0-9_.:-]{1,64}$ |
| Propriétés | 30 au plus ; clés de 40 caractères au plus (A-Z a-z 0-9 _ . -) |
| Valeurs | texte (500 caractères au plus), nombre, booléen ou null |
items | réservé aux événements du commerce en ligne |
Un événement hors de ces limites est refusé (« Charge invalide ») et apparaît dans l’onglet
Vérification. Un événement reçu mais non déclaré est gardé : il apparaît dans l’onglet
Métadonnées, où un clic le déclare, avec un libellé, une description et le type de chaque
propriété. Une fois déclaré, il a sa propre vue, analytics.evt_<nom>, une colonne typée par
propriété.
identify(jeton)
Section intitulée « identify(jeton) »Rattache la suite de la visite à un visiteur connecté, par un JWT signé par votre serveur avec
le secret du site, comme data-identity. identify(null) l’oublie (à la déconnexion). Voir
le visiteur connecté.
Compte une page vue, à la main : avec data-auto="false", ou quand la page change d’état sans
changer d’adresse (une étape d’un formulaire en plusieurs pages, une fenêtre qui fait office de
page).
optOut() et optIn()
Section intitulée « optOut() et optIn() »optOut() enregistre le refus du visiteur dans son navigateur (localStorage), efface le
cookie de mesure et vide ce qui attendait d’être envoyé ; plus rien ne part ensuite, sur ce
navigateur, pour ce site. optIn() lève le refus. C’est le lien d’opposition à proposer dans la
politique de confidentialité :
<a href="#" onclick="EodiaAnalytics.optOut(); this.textContent = 'Mesure d’audience désactivée'; return false"> Ne plus mesurer ma visite</a>Le signal Global Privacy Control du navigateur vaut refus de la même façon, sans clic.
consent(accordé)
Section intitulée « consent(accordé) »Pour les sites en mode avec consentement : la plateforme de consentement du site appelle
consent(true) quand le visiteur accepte la mesure d’audience. Le script passe alors au cookie
de mesure ; consent(false) l’efface et revient au hachage du jour. Dans les autres modes,
l’appel est sans effet. Voir les modes de mesure.
La file d’appels avant le chargement
Section intitulée « La file d’appels avant le chargement »La balise porte defer : le script arrive après le reste de la page. Un appel fait avant
lui serait perdu. Placez cet amorçage avant la balise : il enregistre les appels dans une
file, que le script rejoue dans l’ordre à son arrivée.
<script> window.EodiaAnalytics = window.EodiaAnalytics || { q: [] }; ['track', 'identify', 'page', 'optOut', 'optIn', 'consent'].forEach(function (m) { EodiaAnalytics[m] = EodiaAnalytics[m] || function () { EodiaAnalytics.q.push([m, [].slice.call(arguments)]); }; });</script><script defer src="https://stats.exemple.fr/a.js" data-site="s_arvordemo001"></script>À son arrivée, le script rejoue d’abord l’identité, le consentement et le refus, puis compte la
page vue, puis rejoue les événements et les pages vues manuelles : un track appelé tôt est
ainsi rattaché à la bonne page, au bon visiteur.
Avec TypeScript
Section intitulée « Avec TypeScript »declare global { interface Window { EodiaAnalytics?: { track(name: string, props?: Record<string, string | number | boolean | null | object[]>): void identify(token: string | null): void page(): void optOut(): void optIn(): void consent(given: boolean): void } }}
window.EodiaAnalytics?.track('store_locator', { city: 'Quimper' })L’opérateur ?. garde la page intacte quand le script est bloqué.
eodia analytics est un logiciel libre d’Eodia.