Ich habe ein Analytics-Tracking-System für Guest Gate v2.0 implementiert, das volle GTM- (Google Tag Manager-) Unterstützung und flexibles Logging benutzerdefinierter Ereignisse bietet.
Hinzugefügte Einstellungen
enable_analytics(standardmäßig deaktiviert): Schaltet die gesamte Tracking-Funktionalität auf Wunsch ein oder aus.
analytics_debug_logging: Wenn aktiviert, werden alle erfassten Ereignisse direkt in der Browser-Konsole protokolliert. Dies ist besonders hilfreich während der Einrichtung beim Konfigurieren von GTM-Triggern.
Kernfunktionalität
Ein dediziertes Helper-Modul (guest-gate-analytics.js) übernimmt das Versenden von Ereignissen. Jedes erfasste Ereignis wird gleichzeitig an zwei Ziele gesendet:
window.dataLayer.push(...): Wird automatisch von Google Tag Manager (GTM) und Google Analytics 4 (GA4) übernommen, sofern diese auf der Website aktiv sind.
discourse-guest-gate:analytics(Benutzerdefiniertes Browser-Ereignis): Ermöglicht die Integration mit Drittanbieter-Tools (z. B. Matomo, Plausible oder benutzerdefinierte Webhooks), ohne dass weitere Codeänderungen erforderlich sind.
Erfasste Ereignisse
guest_gate_shown(Wird ausgelöst, wenn das Modal erscheint)
guest_gate_reason: Der Auslösetyp (page_view, time, scroll oder lightbox).
guest_gate_path: Der URL-Pfad, an dem das Modal angezeigt wurde.
guest_gate_click(Wird ausgelöst, wenn der Besucher mit dem Modal interagiert)
guest_gate_click_action: Die spezifisch ausgeführte Aktion (login, signup, sso_login, sso_signup, external_<provider> wie der Google-Login-Button oder dismiss, wenn es ohne Aktion geschlossen wurde).
Enthält dieselben reason- und path-Metadaten, um Interaktionen leicht mit Anzeigetriggern in Verbindung zu bringen.
Datenschutz & Datensicherheit
Es werden keine personenbezogenen Daten (PII) erfasst oder übertragen, nur die oben aufgeführten minimalen operativen Metadaten.
Nach einer guten Portion Arbeit freue ich mich, Guest Gate v2.0 veröffentlichen zu können.
Guest Gate begann als relativ einfaches Theme-Component, das auf dem ursprünglichen Guest Gate Sign Up Popup-Plugin basierte. Es ermöglichte es, anonyme Besucher dazu zu ermutigen oder sie dazu zu zwingen, sich nach dem Ansehen einer bestimmten Anzahl von Themen anzumelden oder einzuloggen.
Im Laufe der Zeit wuchs das Component erheblich an, und die ursprüngliche Implementierung wurde zunehmend schwerer erweiterbar.
Daher ist v2.0 nicht nur ein Refactor oder ein visuelles Update. Es führt ein völlig neues Trigger-System, bessere Anpassungsmöglichkeiten, optionale Analysen und eine Reihe von Verbesserungen unter der Haube ein.
Was ist neu in v2.0?
Mehrere Trigger-Typen
Guest Gate ist nicht mehr auf Themen- oder Seitenaufrufe beschränkt.
Du kannst das Gate nun basierend auf folgenden Faktoren auslösen:
Seitenaufrufe
Zeit
Scroll-Tiefe
Öffnen von Lightbox/Bild
Beliebig - löst das Gate aus, wenn die erste konfigurierte Triggerbedingung erfüllt ist
Jeder Trigger hat seine eigene konfigurierbare Schwelle.
Du kannst auch eine Verzögerung zwischen dem Trigger und dem Erscheinen des Modals konfigurieren.
Damit ist es möglich, verschiedene Arten von Gates zu erstellen, zum Beispiel:
Zeige das Gate nach 3 Seitenaufrufen an.
oder:
Zeige das Gate nach 60 Sekunden an.
oder:
Zeige das Gate an, wenn der Besucher 70 % der Seite gescrollt hat.
Wiederholungsverhalten
Das alte Verhalten mit zufälligen Seitenaufrufen wurde zu einem richtigen Wiederholungssystem ausgebaut.
Du kannst zwischen folgenden Optionen wählen:
Trigger wiederholen: Zeige das Gate an, wann immer der konfigurierte Trigger ausgelöst wird.
Zufällige Seitenaufrufe: Zeige das Gate nach einer zufälligen Anzahl von Seitenaufrufen an.
Einmal pro Sitzung: Zeige das Gate höchstens einmal während der Browsersitzung an.
Das bestehende Verhalten „nur einmal anzeigen“ wird auch aus Gründen der Abwärtskompatibilität beibehalten.
Bessere Modal-Anpassung
v2.0 bietet mehr Kontrolle über das Modal selbst.
Du kannst nun Folgendes konfigurieren:
Modal-Größe: kompakt, standard oder breit
Ausrichtung des Inhaltsbereichs
Ausrichtung des Fußbereichs
Sichtbarkeit des Titels
Positionierung des Titels
Stil und Icon des Login-Buttons
Stil und Icon des Anmelde-Buttons
Das benutzerdefinierte Gate wurde ebenfalls verbessert und bietet bessere Kontrolle über:
Bildausrichtung
Bildbreite
Alternative Textbeschreibung des Bildes
Ausrichtung und Farbe der Überschrift
Ausrichtung und Farbe des Textes
Hintergrundfarbe
Farben des Fußbereichs und der Links
Das benutzerdefinierte Bild ist nun optional und verwendet auch Lazy Loading und Decoding-Hints.
Die Ereignisse werden über window.dataLayer bereitgestellt und auch als Browser-Event ausgelöst:
discourse-guest-gate:analytics
Dies ermöglicht es, Guest Gate mit Analyse- und Tag-Management-Plattformen wie Google Analytics, Google Tag Manager, Matomo oder benutzerdefinierten Analyse-Implementierungen zu integrieren.
Guest Gate erhebt keine persönlichen Daten.
Analysen sind standardmäßig deaktiviert.
Bestehende Installationen
Ein wichtiger Aspekt von v2.0 ist, dass bestehende Konfigurationen nicht manuell neu erstellt werden müssen.
Eine Einstellungen-Migration wurde hinzugefügt, um die alten Guest-Gate-Einstellungen auf ihre v2-Äquivalente zu übertragen.
Dies umfasst Einstellungen wie:
max_guest_topic_views
dismissable_false
gate_show_when_thumbnail_clicked
Bestehende Konfigurationen sollten daher nach dem Upgrade weiterhin funktionieren.
Das Component erfordert jetzt offiziell Discourse 3.2.0 oder neuer.
Warum v2.0?
Das ursprüngliche Guest Gate wurde primär dafür konzipiert, zu begrenzen, wie viele Themen anonyme Besucher ansehen konnten.
Das Ziel von v2.0 ist es, es viel flexibler zu machen.
Guest Gate kann nun als allgemeines Gate für die Conversion und Interaktion von Besuchern verwendet werden, während der ursprüngliche Anwendungsfall weiterhin unterstützt wird.
Zum Beispiel kannst du es verwenden, um die Registrierung zu fördern, nachdem ein Besucher Folgendes getan hat:
Mehrere Themen gelesen hat
Eine bestimmte Zeit auf der Site verbracht hat
Einen Artikel gescrollt hat
Ein Bild geöffnet hat
Eine beliebige Kombination der konfigurierten Bedingungen erreicht hat
Dies war ein ziemlich umfangreicher Rewrite, daher bin ich sicher, dass es noch Dinge geben mag, die verbessert werden können.
Danke an alle, die Guest Gate über die Jahre hinweg verwendet, getestet und Feedback gegeben haben.