Événements et analytics
Mesurez l'impact de vos contenus audio sur l'engagement et la conversion.
Philosophie
Ekoo n'utilise aucun cookie et ne suit pas vos visiteurs. Le widget n'injecte aucun tracker tiers et ne collecte aucune donnée personnelle de navigation.
En revanche, le widget émet des événements côté client à chaque interaction clé (affichage, lancement, progression, fin d'écoute). Vous pouvez capturer ces événements et les envoyer à votre propre stack analytics (GA4, Matomo, Mixpanel, Piano…) pour mesurer précisément l'impact de l'audio sur vos taux de conversion.
Comment ça fonctionne
Ajoutez l'attribut data-ekoo-on-event sur votre div widget. Sa valeur est le nom d'une fonction JavaScript globale que vous définissez. Cette fonction est appelée à chaque événement du widget et reçoit un objet stats contenant toutes les informations sur l'interaction.
Les événements disponibles
printed— le widget est affiché sur la pageplayed-0— la lecture audio démarreplayed-25— 25 % du contenu a été écoutéplayed-50— 50 % du contenu a été écoutéplayed-75— 75 % du contenu a été écoutéplayed-100— écoute complète (se déclenche à 98 % de progression)
Structure de l'objet reçu
Votre callback reçoit un objet avec la structure suivante :
1{2 "sessionId": "abc-123-...",3 "source": "my-site.com",4 "href": "https://my-site.com/products/widget",5 "path": "/products/widget",6 "websiteId": "YOUR_WEBSITE_ID",7 "productRef": "PRODUCT_123", // product ID from data attribute8 "productId": "internal-id", // internal Ekoo product ID9 "audioId": "rev_abc", // review/audio ID10 "locale": "fr",11 "device": "desktop",12 "ts": 1710000000000,13 "stats": {14 "type": "played-25", // event name15 "reached": 0.25, // progress ratio (play events only)16 "display": "widget",17 "widget": "standalone",18 "locale": "fr",19 "reviews": ["rev_abc"],20 "review": "rev_abc",21 "source": "my-site.com"22 }23}Mise en place
Étape 1 — Ajouter l'attribut sur votre widget
Ajoutez data-ekoo-on-event="onEkooEvent" sur la div du widget. La valeur correspond au nom exact de votre fonction callback.
Étape 2 — Définir la fonction callback
Déclarez votre fonction avant le chargement du script Ekoo. Elle sera appelée automatiquement à chaque événement du widget.
Étape 3 — Envoyer les données à votre analytics
Dans le corps de votre callback, poussez les données dans le dataLayer (pour GTM/GA4) ou appelez directement l'API de votre outil analytics.
1<ekoo-widget2 data-ekoo="YOUR_WEBSITE_ID"3 data-ekoo-product-id="PRODUCT_123"4 data-ekoo-locale="fr"5 data-ekoo-on-event="onEkooEvent"6></ekoo-widget>78<script>9function onEkooEvent(data) {10 console.log('[Ekoo]', data.stats.type, data);1112 window.dataLayer = window.dataLayer || [];13 window.dataLayer.push({14 event: 'ekoo_' + data.stats.type.replace('-', '_'),15 ekoo_event_type: data.stats.type,16 ekoo_widget_type: data.stats.widget,17 ekoo_product_id: data.productRef,18 ekoo_source: data.source19 });20}21</script>2223<script src="https://app.ekoo.co/widgets/widget-4.0.0-standalone.js"</script>Attention
La fonction callback doit être définie avant le chargement du script Ekoo. Si elle est déclarée après, le widget ne pourra pas l'appeler.
Référence rapide des événements
| Événement | Moment | Usage recommandé |
|---|---|---|
printed | Le widget est rendu et visible sur la page | Mesurer la visibilité / les impressions du widget |
played-0 | L'utilisateur lance la lecture audio | Mesurer le taux de lancement (intention d'écoute) |
played-25 | 25 % du contenu écouté | Mesurer l'engagement initial |
played-50 | 50 % du contenu écouté | Mesurer l'engagement moyen |
played-75 | 75 % du contenu écouté | Mesurer l'engagement avancé |
played-100 | Écoute complète (déclenché à 98 %) | Corréler avec la conversion |
Bonnes pratiques de nommage
Pour garantir la compatibilité avec GA4 et faciliter l'analyse, appliquez ces conventions systématiquement :
- Préfixez tous vos événements avec
ekoo_ - Remplacez les tirets par des underscores — GA4 n'accepte pas les tirets dans les noms d'événements
| Événement Ekoo | Nom dataLayer / GA4 |
|---|---|
printed | ekoo_printed |
played-0 | ekoo_played_0 |
played-25 | ekoo_played_25 |
played-50 | ekoo_played_50 |
played-75 | ekoo_played_75 |
played-100 | ekoo_played_100 |
Attention
Les noms d'événements GA4 ne doivent pas contenir de tirets. Utilisez systématiquement data.stats.type.replace('-', '_') pour convertir les noms avant de les envoyer.
Quel événement utiliser pour mesurer quoi ?
printed→ mesurer la visibilité du widget sur vos pagesplayed-0→ mesurer le taux de lancement audio (intention d'écoute)played-25/played-50→ mesurer l'engagement en cours d'écouteplayed-100→ mesurer l'écoute complète — idéal pour corréler avec la conversion
Guides d'intégration
- Intégration GA4 + Google Tag Manager — guide pas-à-pas complet pour mesurer l'impact audio sur la conversion
- Intégration DataLayer — pousser les événements dans le dataLayer pour GTM, GA4 ou tout autre outil
- Intégration Kameleoon — mesurer le lancement audio avec un objectif personnalisé Kameleoon
Bonne pratique
Nous recommandons de tracker au minimum played-0 (lancement) et played-100 (écoute complète) pour mesurer l'impact de l'audio sur la conversion.