J’ai implémenté un système de suivi analytique pour le Guest Gate v2.0, avec une prise en charge complète de GTM (Google Tag Manager) et une journalisation d’événements personnalisés flexible.
Paramètres ajoutés
enable_analytics(désactivé par défaut) : Active ou désactive l’ensemble de la fonctionnalité de suivi, comme demandé.
analytics_debug_logging : Lorsqu’il est activé, journalise tous les événements suivis directement dans la console du navigateur. C’est particulièrement utile lors de la configuration, notamment pour paramétrer les déclencheurs GTM.
Fonctionnalité principale
Un module d’aide dédié (guest-gate-analytics.js) gère l’émission des événements. Chaque événement suivi est envoyé simultanément vers deux destinations :
window.dataLayer.push(...) : Automatiquement récupéré par Google Tag Manager (GTM) et Google Analytics 4 (GA4) s’ils sont actifs sur le site.
discourse-guest-gate:analytics(Événement navigateur personnalisé) : Permet l’intégration avec des outils tiers (par exemple, Matomo, Plausible ou des webhooks personnalisés) sans nécessiter de modifications de code supplémentaires.
Événements suivis
guest_gate_shown(Déclenché lorsque la fenêtre modale apparaît)
guest_gate_reason : Le type de déclencheur (page_view, time, scroll ou lightbox).
guest_gate_path : Le chemin d’URL où la fenêtre modale a été affichée.
guest_gate_click(Déclenché lorsque le visiteur interagit avec la fenêtre modale)
guest_gate_click_action : L’action spécifique effectuée (login, signup, sso_login, sso_signup, external_<provider> tel que le bouton de connexion Google, ou dismiss si fermée sans action).
Inclut les mêmes métadonnées reason et path pour faciliter la corrélation des interactions avec les déclencheurs d’affichage.
Confidentialité et protection des données
Aucune information personnelle identifiable (PII) n’est collectée ou transmise, uniquement les métadonnées opérationnelles minimales listées ci-dessus.
Après pas mal de travail, je suis heureux de publier Guest Gate v2.0.
Guest Gate a commencé comme un composant de thème relativement simple, basé sur le plugin original Guest Gate Sign Up Popup, permettant d’encourager ou d’obliger les visiteurs anonymes à s’inscrire ou à se connecter après avoir consulté un certain nombre de sujets.
Au fil du temps, le composant a considérablement grandi et l’implémentation originale est devenue de plus en plus difficile à étendre.
Ainsi, la v2.0 n’est pas seulement un refactoring ou une mise à jour visuelle. Elle introduit un système de déclencheurs entièrement nouveau, une meilleure personnalisation, des analyses facultatives et un certain nombre d’améliorations en profondeur.
Nouveautés de la v2.0 ?
Plusieurs types de déclencheurs
Guest Gate n’est plus limité aux vues de sujets/pages.
Vous pouvez désormais déclencher la barrière en fonction de :
Vues de page
Temps
Profondeur de défilement
Ouverture d’une lightbox/image
Tout - déclenche la barrière lorsque la première condition de déclencheur configurée est remplie
Chaque déclencheur a son propre seuil configurable.
Vous pouvez également configurer un délai entre le déclencheur et l’apparition de la fenêtre modale.
Cela permet de créer différents types de barrières, par exemple :
Afficher la barrière après 3 vues de page.
ou :
Afficher la barrière après 60 secondes.
ou :
Afficher la barrière lorsque le visiteur a défilé 70 % de la page.
Comportement de répétition
L’ancien comportement aléatoire basé sur les vues de page a été étendu en un véritable système de répétition.
Vous pouvez choisir entre :
Déclencheur répété : afficher la barrière chaque fois que le déclencheur configuré se déclenche.
Vues de page aléatoires : afficher la barrière après un nombre aléatoire de vues de page.
Une fois par session : afficher la barrière au plus une fois pendant la session du navigateur.
Le comportement existant « n’afficher qu’une seule fois » est également conservé pour la rétrocompatibilité.
Meilleure personnalisation de la fenêtre modale
La v2.0 ajoute plus de contrôle sur la fenêtre modale elle-même.
Vous pouvez désormais configurer :
Taille de la fenêtre modale : compacte, standard ou large
Alignement du corps
Alignement du pied de page
Visibilité du titre
Positionnement du titre
Style et icône du bouton de connexion
Style et icône du bouton d’inscription
La barrière personnalisée a également été améliorée avec un meilleur contrôle sur :
Alignement de l’image
Largeur de l’image
Texte alternatif de l’image
Alignement et couleur de l’en-tête
Alignement et couleur du texte
Couleur d’arrière-plan
Couleurs du pied de page et des liens
L’image personnalisée est désormais facultative et utilise également le chargement différé (lazy loading) et les indices de décodage.
Analyses
Guest Gate v2.0 inclut des analyses facultatives respectueuses de la vie privée.
Lorsqu’elles sont activées, Guest Gate suit :
Impressions de la barrière
Raison du déclencheur
Chemin de la page
Clics sur la connexion
Clics sur l’inscription
Actions SSO
Actions de fermeture
Les événements sont exposés via window.dataLayer et sont également émis en tant qu’événement du navigateur :
discourse-guest-gate:analytics
Cela permet d’intégrer Guest Gate à des plateformes d’analyse et de gestion de balises telles que Google Analytics, Google Tag Manager, Matomo, ou des implémentations d’analyse personnalisées.
Aucune donnée personnelle n’est collectée par Guest Gate.
Les analyses sont désactivées par défaut.
Installations existantes
L’un des aspects importants de la v2.0 est que les configurations existantes n’ont pas besoin d’être recréées manuellement.
Une migration des paramètres a été ajoutée pour migrer les anciens paramètres de Guest Gate vers leurs équivalents de la v2.
Cela inclut des paramètres tels que :
max_guest_topic_views
dismissable_false
gate_show_when_thumbnail_clicked
Les configurations existantes devraient donc continuer à fonctionner après la mise à niveau.
Le composant nécessite désormais officiellement Discourse 3.2.0 ou plus récent.
Pourquoi la v2.0 ?
Le Guest Gate original était principalement conçu pour limiter le nombre de sujets que les visiteurs anonymes pouvaient consulter.
L’objectif de la v2.0 est de le rendre beaucoup plus flexible.
Guest Gate peut désormais être utilisé comme une barrière de conversion et d’engagement des visiteurs en général, tout en prenant toujours en charge le cas d’utilisation original.
Par exemple, vous pouvez l’utiliser pour encourager l’inscription après qu’un visiteur a :
Lu plusieurs sujets
Passé une certaine quantité de temps sur le site
Défilé un article
Ouvert une image
Atteint toute combinaison de conditions configurées
C’était une réécriture assez substantielle, donc je suis sûr qu’il peut encore y avoir des choses à améliorer.
Merci à tous ceux qui ont utilisé, testé et fourni des retours sur Guest Gate au fil des ans.
J’ai également mis à jour le premier message (OP).