Aller au contenu

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’oublier
EodiaAnalytics.page() // une page vue, à la main
EodiaAnalytics.optOut() // le visiteur refuse la mesure
EodiaAnalytics.optIn() // il revient sur son refus
EodiaAnalytics.consent(true) // mode « avec consentement » : la plateforme de consentement l’appelle

Envoie un événement, rattaché à la page vue en cours.

EodiaAnalytics.track('review_posted', { rating: 5, item_id: 'KA2' })
RègleLimite
Nomminuscules, chiffres et _ . : -, 64 caractères au plus : ^[a-z0-9_.:-]{1,64}$
Propriétés30 au plus ; clés de 40 caractères au plus (A-Z a-z 0-9 _ . -)
Valeurstexte (500 caractères au plus), nombre, booléen ou null
itemsré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é.

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() 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.

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 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.

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.