Aller au contenu
Docs

Guide pratique

Envoyez des événements d’espace de travail et des événements personnalisés depuis votre site web avec le script de suivi Emailit et une clé de suivi publique. Installez-le, suivez des événements, identifiez les visiteurs et limitez la clé à vos sites.

Disponible surPay as you goProBusinessCustomMis à jour le 20 oct. 2026

Le script de suivi envoie des événements depuis votre site web : consultations de produits, inscriptions, articles ajoutés au panier. Il ne nécessite aucun appel d’initialisation : la clé de suivi fait partie de son URL. Cette page explique comment créer une clé, ajouter le script, suivre des événements et les rattacher à vos visiteurs.

Avant de commencer

  • Le script de suivi est inclus dans les forfaits Pro, Business et Custom. Sur Pay as you go, vous ne pouvez pas créer de clés de suivi, et les requêtes du script renvoient 403, y compris avec des clés créées avant un passage à Pay as you go.
  • Pour créer des clés de suivi dans le tableau de bord, vous devez avoir le rôle Admin dans l’espace de travail. Avec l’API, utilisez une clé Full Access.
  • Vous devez pouvoir modifier le HTML de votre site, ou ajouter une balise HTML personnalisée dans votre gestionnaire de balises.

Créer une clé de suivi

Les clés de suivi sont publiques : elles figurent dans vos pages web, donc n’importe qui peut les lire. Elles peuvent seulement envoyer des événements d’espace de travail et des événements personnalisés, jamais lire de données, et vous pouvez les limiter à vos propres sites.

  1. Ouvrez l’onglet Tracking. Accédez à Email APIEvents, sélectionnez l’onglet Tracking, puis Create tracking key.

  2. Nommez la clé. Saisissez un Name qui indique où elle est utilisée, par exemple Online shop.

  3. Limitez-la à vos sites. Sous Allowed origins, saisissez vos sites, un par ligne, par exemple https://shop.example.com ou *.example.com. Laissez le champ vide pour accepter n’importe quel site. Consultez Sites autorisés.

  4. Créez la clé. Sélectionnez Create. L’onglet Tracking affiche alors l’extrait de code avec votre clé déjà renseignée.

Ajouter le script

Collez les deux balises dans chaque page, idéalement avant </head>, en remplaçant TRACKING_KEY par votre clé :

HTML
<script>window.emailit=window.emailit||function(){(window._emailitq=window._emailitq||[]).push(arguments)};</script>
<script async src="https://js.emailit.com/track/TRACKING_KEY/events.js"></script>

La première balise met en file d’attente les appels effectués avant le chargement du script : vous pouvez donc appeler emailit(...) immédiatement. Le script se charge de manière asynchrone, ne lève jamais d’erreur dans votre page et fonctionne aussi depuis un gestionnaire de balises.

  • Si le script de formulaires Emailit est aussi sur la page, gardez les deux. Ils partagent window.emailit.
  • Si votre site utilise une Content Security Policy, autorisez https://js.emailit.com dans script-src et connect-src.

Suivre des événements

JavaScript
// Custom event: any name after "c:", any properties
emailit("track", "c:product.viewed", { sku: "TS-42", price: 19.9 });

// Workspace event: checked against its definition
emailit("track", "w:customer.type", { segment: "b2b" });

Le type doit commencer par c: ou w: ; le script ignore les autres appels. Des propriétés qui ne sont pas un objet sont envoyées sous la forme {}. Vous pouvez passer un troisième argument avec occurred_at, une date et heure ISO 8601, pour les événements survenus plus tôt.

Le script n’enregistre pas les pages vues de lui-même. Suivez les pages et les actions qui vous intéressent, par exemple avec un événement c:page.viewed à chaque changement de route d’une application monopage.

Appels pour les boutiques

Pour les boutiques en ligne, le script dispose aussi des appels product, cart, purchase et page. Ils enregistrent les consultations de produit, les paniers et les commandes pour Commerce et les envoient au journal des événements sous la forme des événements système product.viewed, cart.updated et order.placed. Commerce est en alpha et réservé à l’équipe Emailit ; ailleurs, ces appels sont refusés. Consultez Connecter votre boutique.

Identifier les visiteurs

Dès que vous savez qui est le visiteur, par exemple après sa connexion ou son inscription, indiquez-le au script :

JavaScript
emailit("identify", { email: "jane@example.com" });
// or, if you store Emailit contact IDs:
emailit("identify", { contact_id: "con_2wPq7Lm3XcN8bV1zKd4RtY6sHf9" });

Chaque événement suivant porte cette adresse e-mail ou cet ID de contact, sur cette page comme lors des visites suivantes, pour qu’Emailit puisse le rattacher au contact. Lorsque le visiteur se déconnecte, oubliez-le :

JavaScript
emailit("reset");

reset crée aussi un nouvel ID de visiteur anonyme : la personne suivante sur un ordinateur partagé n’est donc pas confondue avec la précédente.

Les événements dont l’adresse e-mail n’appartient à aucun contact sont conservés, et ils apparaissent sur le contact dès qu’il existe. Un contact_id qui ne correspond à aucun contact est retiré de l’événement, sans erreur : une clé publique ne permet donc pas de tester quels ID de contact existent.

Toute personne qui dispose de votre clé de suivi peut appeler identify avec n’importe quelle adresse : Emailit ne laisse donc pas les événements du script piloter les automatisations. Ils sont enregistrés, apparaissent sur le contact et parviennent aux webhooks, mais ne démarrent pas, ne terminent pas et ne font pas avancer les exécutions d’automatisation. Envoyez les événements qui doivent le faire depuis votre serveur avec l’API des événements. Chaque événement du script qui nomme un contact contient identity_verified : ce champ vaut true uniquement quand un lien signé dans l’un de vos e-mails a identifié le visiteur, ce qui fait partie de l’alpha Commerce, et ces événements-là pilotent bien les automatisations.

Ce que le script envoie

Outre votre type et vos propriétés, chaque événement contient :

Champ Contenu
anonymous_id Un ID de visiteur aléatoire (anon_…), conservé dans le stockage local du navigateur.
email, contact_id Ce que vous avez transmis à identify, le cas échéant.
context.page Les valeurs url, path, title et referrer de la page.
context.campaign Les paramètres UTM de la page (utm_source, utm_medium, utm_campaign, utm_term, utm_content), sous la forme source, medium, name, term et content.
context.locale, context.timezone La langue et le fuseau horaire du navigateur.

Emailit ajoute identity_verified aux événements qui nomment un contact (voir Identifier les visiteurs) et enregistre l’agent utilisateur (user agent) du navigateur. Il n’enregistre pas les adresses IP, et le script ne dépose aucun cookie. Le script conserve l’ID de visiteur sous emailit:aid et l’identité sous emailit:identity dans le stockage local ; si le stockage local est bloqué, ils ne durent que le temps de la page.

Les événements sont regroupés pendant un court instant et envoyés ensemble, 20 au maximum à la fois. Lorsque le visiteur quitte la page, les événements restants sont envoyés avec sendBeacon.

Si vous avez besoin d’un consentement pour la mesure d’audience sur votre site, ne chargez le script qu’après l’accord du visiteur.

Sites autorisés

allowed_origins limite les sites qui peuvent envoyer des événements avec une clé. Chaque entrée prend l’une de ces formes :

Entrée Correspond à
https://shop.example.com Exactement cette origine : schéma, hôte et port.
shop.example.com Cet hôte, quels que soient le schéma et le port.
*.example.com example.com et tous ses sous-domaines.

Une liste vide accepte n’importe quel site. Emailit vérifie l’en-tête Origin que les navigateurs envoient avec chaque requête : d’autres sites web ne peuvent donc pas envoyer d’événements avec votre clé. Un script exécuté hors d’un navigateur peut toutefois définir n’importe quel en-tête. Traitez donc les événements du navigateur comme des données non fiables, et envoyez les commandes et les paiements depuis votre backend.

Événements invalides

Contrairement à l’API, l’endpoint du script enregistre les événements valides d’une requête même lorsque d’autres sont invalides. Les événements invalides sont ignorés, par exemple un événement w: avec une propriété du mauvais type, ou un événement d’un nouveau type une fois que l’espace de travail utilise le nombre de types d’événements de son forfait. Utilisez le débogage pour en voir la raison.

Débogage

Activez la journalisation dans la console du navigateur de l’une de ces façons :

  • Appelez emailit("debug", true).
  • Ajoutez data-debug à la balise script.
  • Ouvrez la page avec ?emailit_debug=1 dans l’URL.

La console affiche alors chaque événement et la réponse d’Emailit, y compris les raisons des rejets.

Dépannage

Réponse dans la console Cause Solution
403 Origin not allowed for this tracking key Le site de la page ne figure pas dans Allowed origins. Ajoutez-le, par exemple à la fois https://example.com et https://www.example.com, ou utilisez *.example.com.
403 This tracking key is disabled La clé est désactivée. Activez-la dans l’onglet Tracking.
403 Website tracking is included with Pro and Business. L’espace de travail est sur Pay as you go. Passez au forfait Pro ou Business.
404 Unknown tracking key La clé de l’URL du script a été supprimée ou mal saisie. Copiez de nouveau l’extrait de code depuis l’onglet Tracking.
422 avec tous les événements dans rejected Aucun des événements n’était valide. Vérifiez les raisons dans rejected.
429 La clé a envoyé trop d’événements en peu de temps. Envoyez moins d’événements par visiteur, par exemple aucun événement à chaque défilement ou mouvement de souris.
Rien du tout Un bloqueur de publicités ou de traçage a arrêté le script, ou celui-ci n’est pas sur la page. Testez dans un navigateur sans bloqueur et vérifiez que l’extrait de code est bien présent.
Portées, noms et destination des événements.
Définissez des événements et leurs propriétés.
Créer, mettre à jour et supprimer des clés.
Pour les commandes et les paiements.

Cette page vous a-t-elle été utile ?

Merci pour votre retour.

Merci, nous lisons chaque message.