Les événements font partie des sources de données les plus riches dans Positive User. Chaque événement correspond à une action précise réalisée par un contact sur votre site - clic sur un bouton, visionnage d’une vidéo, ou toute autre interaction. Ces données sont ensuite exploitées dans votre espace de travail pour déclencher des automatisations et affiner la segmentation. Pour en savoir plus, consultez l’article “Qu’est-ce qu’un événement ?”.
Google Tag Manager (GTM) permet de mettre en place ce suivi sans modifier le code de votre site.
Dans cet article, nous prenons l’exemple d’un clic sur un bouton “Reviews” sur une page produit, avec l’envoi des attributs "product_id" et "product_name". Le principe reste le même pour tout autre type d’action : envoi de formulaire, défilement de page, interaction vidéo, etc. Les étapes 1 à 3 peuvent donc être adaptées à votre cas d’usage.
Le script d’implémentation doit être actif dans votre conteneur GTM. Consultez “Comment implémenter Positive User avec Google Tag Manager ?”.
L’événement doit avoir été créé dans votre espace Positive User, avec l’ensemble des attributs requis. Consultez “Qu'est-ce qu'un événement ?”.
Cette configuration s’effectue directement dans votre conteneur GTM.
Accédez à "Variables" → "Configurer".
Cochez l’ensemble des variables de la section “Clics” (Click Text, Click URL, Click Classes, Click ID).
Pour les autres types d’interactions, cochez les variables correspondantes (Vidéos, Défilement, etc.).
Ouvrez votre site en mode “Prévisualiser” dans GTM.
Cliquez sur l’élément que vous souhaitez suivre.
Dans Tag Assistant, sélectionnez l’événement de clic dans la chronologie.
Dans l’onglet “Variables”, repérez la variable qui identifie de manière unique cet élément et copiez sa valeur.
Dans notre exemple, nous utilisons “Click Text” avec la valeur “Reviews”.
Dans votre conteneur GTM, allez dans “Déclencheurs” → “Nouveau”.
Choisissez le type de déclencheur “Clic - Tous les éléments”.
Sélectionnez “Certains clics”.
Définissez la condition à partir de la variable identifiée à l’étape 2 (par exemple, Click Text est égal(e) à Reviews).
Enregistrez le déclencheur sous un nom explicite, par exemple : “Clics - Reviews button”.

En complément de l’événement, vous pouvez envoyer des informations additionnelles : les attributs.
Dans cet exemple, nous envoyons “product_id” et “product_name”, récupérés depuis la couche de données (ou “dataLayer”). La plupart des plateformes e-commerce (Shopify, Magento, WooCommerce, PrestaShop) les renseignent automatiquement sur les pages produit. Pour vérifier, utilisez le mode “Prévisualiser” de GTM et consultez l’onglet “Couche de données” dans Tag Assistant.
Pour chaque attribut :
Allez dans “Variables” → “Nouvelle” → “Variable de couche de données”.
Dans “Nom de la variable de couche de données”, saisissez la clé exacte de la couche de données (par exemple : product.id, product.name).
Donnez un nom clair à la variable (par exemple : “DLV - product_id”, “DLV - product_name”).
Allez dans “Balises” → “Nouvelle” → “Configuration de la balise” → “HTML personnalisée”.
Ajoutez le code suivant :
<script>
(function fireEvent(retries) {
if (typeof userengage === 'function') {
userengage('event.reviews_click', {
product_id: '{{DLV - product_id}}',
product_name: '{{DLV - product_name}}'
});
} else if (retries > 0) {
setTimeout(function () { fireEvent(retries - 1); }, 200);
}
})(10);
</script>Associez cette balise au déclencheur créé à l’étape 3.
Enregistrez.
Ce script vérifie que userengage() est disponible avant d’envoyer l’événement. Si ce n’est pas encore le cas, il réessaie toutes les 200 ms, jusqu’à 10 tentatives (environ 2 secondes). Au-delà, il s’arrête silencieusement, sans erreur ni impact sur la page. Vous pouvez ajuster ce comportement selon les performances de votre site.

Activez le mode “Prévisualiser” dans GTM et ouvrez votre site.
Déclenchez l’action suivie.
Dans Tag Assistant, vérifiez que la balise s’est bien exécutée.
Dans Positive User, ouvrez la fiche du contact : l’événement doit apparaître dans la timeline avec ses attributs.

Vous pouvez envoyer autant d’attributs que nécessaire via le second paramètre de userengage() : “Category”, “Price”, “Currency”, etc.
Respectez les mêmes règles de format que pour les attributs de contact et assurez-vous de définir le bon type pour chaque champ dans Positive User. Pour plus de détails, consultez l’article “Qu'est-ce qu'un attribut ?” ainsi que la documentation développeur.
Certains événements doivent être envoyés une seule fois par page, et non à chaque interaction. C’est par exemple le cas d’un événement “qualified_visit”, qui indique qu’un visiteur est resté suffisamment longtemps sur une page produit pour être considéré comme engagé. Dans ce contexte, le groupe de déclencheurs de GTM est la solution adaptée.
Un groupe de déclencheurs exécute une balise une seule fois dès que l’ensemble des déclencheurs associés a été activé au moins une fois sur la page. Une fois déclenchée, la balise ne se relance plus durant la session, même si les conditions sont de nouveau réunies. Il ne convient donc pas au suivi d’actions répétitives, mais est idéal pour détecter qu’une page a atteint une condition précise.
Cette approche s’appuie sur l’événement dataLayer “Positive User - Widget Ready”, envoyé automatiquement par le script d’implémentation (voir “Comment implémenter Positive User avec Google Tag Manager ?”).
Comme le déclencheur indiquant que le widget est prêt fait partie du groupe, l'événement attend automatiquement que userengage() soit disponible. Aucun mécanisme de sécurité supplémentaire n'est donc nécessaire.
Exemple : envoyer un événement "qualified_visit" lorsque le widget est chargé et que le contact est resté 10 secondes sur la page.
Créer un déclencheur Minuteur pour le signal d'engagement :
Dans votre conteneur GTM, allez dans “Déclencheurs” → “Nouveau” → “Minuteur”.
Définissez “Intervalle “ sur 10000 (10 secondes) et “Limite” sur 1.
Enregistrez (par exemple : "Timer - 10s On Page").
Créer un déclencheur Événement personnalisé pour le signal onLoad du script d'implémentation :
Dans votre conteneur GTM, allez dans “Déclencheurs” → “Nouveau” → “Événement personnalisé".
Dans “Nom de l'événement”, saisissez exactement : “Positive User - Widget Ready”.
Enregistrez (par exemple : “Custom Event - PU Widget Ready”).
Créer le groupe de déclencheurs :
Dans votre conteneur GTM, allez dans “Déclencheurs” → “Nouveau” → “Groupe de déclencheurs”.
Ajoutez les deux déclencheurs créés précédemment.
Enregistrez (par exemple : “Qualified Visit - Widget Ready + 10s”).
Créer la balise d'événement :
Dans votre conteneur GTM, allez dans “Balises” → “Nouvelle” → “Configuration de la balise” → “HTML personnalisée”.
Collez :
<script>
userengage('event.qualified_visit', {
product_id: '{{DLV - product_id}}',
product_name: '{{DLV - product_name}}'
});
</script>Définissez le déclencheur sur le groupe de déclencheurs créé à l'étape 3.
Enregistrez.
Le groupe de déclencheurs se déclenche une seule fois par page, dès que toutes les conditions sont réunies. Un rechargement de page réinitialise le mécanisme, ce qui permet un nouveau déclenchement sur la page suivante. Pour les événements liés à des interactions répétées, utilisez plutôt le flux principal décrit plus haut.