Erweiterte Google Analytics (v4)

:information_source: Zusammenfassung Erweitertes Ereignis-Tracking für Google Analytics 4 in Discourse
:hammer_and_wrench: Repository-Link https://github.com/multidimension-al/discourse-google-analytics
:open_book: Installationsanleitung So installierst du Plugins in Discourse

Der Discourse-Kernel sendet an Google Analytics pro Navigation ein einzelnes page_view-Ereignis. Dieses Plugin fügt Ereignisse für die Lesezeit, den Leseverlauf und die Lesevollendung hinzu und kann optional die Verantwortung für Seitenaufrufe übernehmen, sodass private Nachrichten und Admin-Routen ausgeschlossen werden.

WARUM NICHT DAS INTEGRIERTE SEO/GA-ANALYTICS-TAG VERWENDEN?

Du kannst es, und für viele Foren reicht es auch aus. Das Tag des Kernels funktioniert, und dieses Plugin läuft darüber, anstatt es zu ersetzen.

Der Unterschied liegt darin, was gemessen wird. Ein page_view sagt dir, dass eine URL geladen wurde. Es kann dir nicht sagen, ob jemand gelesen hat, was darauf stand. In deinen Berichten sehen also ein zwanzigminütiges Lesen eines langen Themas und ein sofortiges Verlassen (Bounce) identisch aus. Dieses Plugin misst, wie lange jemand tatsächlich gelesen hat, wie weit er im Thema gekommen ist und ob er das Ende erreicht hat. Das sind die Signale, auf deren Grundlage man fundierte Entscheidungen über Inhalte treffen sollte, und die, die es wert sind, ein Remarketing-Publikum aufzubauen.

Die eigenen Berichte von Discourse (Admin → Berichte) sind ein separates System und bleiben der beste Ort für interne Metriken. Es geht hier nur darum, was an Google Analytics gesendet wird.

Funktionen

  • 13 Community-Ereignisse: Themenansichten, Interaktion und Meilensteine des Leseverlaufs, Lesevollendung, Zusammenfassungen pro Besuch, Suche, Registrierung, Anmeldung, Themenerstellung, Antworten, Likes, Lesezeichen
  • Lesezeit wird anhand des Beitragsstroms und der konzentrierten Zeit gemessen, nicht anhand der Scrolltiefe
  • Zwei Modi: Erweiterung des bestehenden Tags des Kernels oder Übernahme des Tags und der Seitenaufrufe
  • Private Nachrichten, eingeschränkte Kategorien und Admin-Routen erzeugen kein Ereignis
  • Thementitel und Suchbegriffe sind standardmäßig deaktiviert
  • Staff-Verkehr kann als GA4-interner Verkehr markiert werden, gruppiert nach Gruppen
  • Diagnoseseite und Warnungen im Admin-Dashboard bei Fehlkonfiguration

Konfiguration

1. Installation

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/multidimension-al/discourse-google-analytics.git

Danach ./launcher rebuild app ausführen.

2. Modus wählen. Admin → Einstellungen → Google Analytics 4.

Kernel-Erweiterung (Standard) — Der Kernel behält das Tag und die Seitenaufrufe bei, das Plugin fügt Ereignisse hinzu. Setze den ga universal tracking code des Kernels auf deine G-XXXXXXXXXX und ga version auf v4_gtag.

Verwaltet — Das Plugin übernimmt das Tag und die Seitenaufrufe, was den Ausschluss von PN- und Admin-Routen ermöglicht. Leere den ga universal tracking code des Kernels, setze ga4 integration mode auf managed und gib deine ID in ga4 measurement id ein.

3. discourse ga4 enabled aktivieren.

4. Optional — interner Verkehr. ga4 internal traffic groups ist standardmäßig auf Admins und Moderatoren gesetzt. Es greift erst, wenn du den entsprechenden Filter in GA4 unter Admin → Daten-Einstellungen → Datenfilter → Interner Verkehr erstellst, wobei traffic_type gleich internal sein muss.

5. Verifizieren. Admin → Plugins → Google Analytics → Diagnose.

Um eine bestehende Einrichtung von der Kernel-Erweiterung auf den verwalteten Modus umzustellen, verwende Bestehende Discourse-GA-Konfiguration übernehmen auf der Diagnoseseite, anstatt die Einstellungen manuell zu bearbeiten.

Einstellungen

Name Beschreibung
discourse ga4 enabled Plugin aktivieren. Standardmäßig deaktiviert.
ga4 integration mode core_extension (Kernel besitzt das Tag) oder managed (Plugin besitzt das Tag).
ga4 measurement id GA4-Mess-ID, für den verwalteten Modus.
ga4 track page views page_view senden. Nur im verwalteten Modus.
ga4 track topic views discourse_topic_view einmal pro Themenbesuch senden.
ga4 track topic engagement discourse_topic_engaged an Lesezeit-Meilensteinen senden.
ga4 engagement milestones Sekunden aktive Lesezeit, an denen ausgelöst werden soll. Standard 10|30|60|180.
ga4 track topic progress discourse_topic_progress an Leseorts-Meilensteinen senden.
ga4 progress milestones Prozentuale Position im Thema, an der ausgelöst werden soll. Standard 25|50|75|100.
ga4 track read completion discourse_topic_read_complete senden, wenn ein Leser das Ende erreicht.
ga4 read complete min seconds Mindestlesezeit, bevor das Ende als Vollendung zählt.
ga4 track read summaries discourse_topic_read_summary senden, wenn ein Leser ein Thema verlässt.
ga4 read summary min seconds Darunter wird ein Besuch als Bounce behandelt und nicht zusammengefasst.
ga4 track search search senden, wenn eine Vollseitensuche Ergebnisse liefert.
ga4 track registration sign_up nach der Kontonerstellung senden.
ga4 track login login nach erfolgreicher Anmeldung senden. Standardmäßig deaktiviert.
ga4 track topic creation discourse_topic_created senden.
ga4 track replies discourse_reply_created senden.
ga4 track likes discourse_post_liked senden. Das Entfernen eines Likes sendet nichts.
ga4 track bookmarks discourse_bookmark_created senden.
ga4 send search terms Auch senden, wonach gesucht wurde. Standardmäßig deaktiviert — Forensuchen enthalten oft persönliche Informationen.
ga4 send page titles Seitentitel einbeziehen. Standardmäßig deaktiviert — auf einer Themenroute ist dies der Thementitel.
ga4 track private message activity Ein aggregiertes PN-Ereignis ohne Identifikatoren senden. Standardmäßig deaktiviert.
ga4 login required is restricted Auf einem Forum mit Pflicht-Login Themen- und Kategorie-Identifikatoren zurückhalten.
ga4 send trust level Trust Level 0–4 als Ereignisparameter einbeziehen.
ga4 internal traffic groups Mitglieder dieser Gruppen werden als traffic_type=internal markiert. Standard: Admins, Moderatoren.
ga4 suppress in embed Im Embed-Modus nichts senden.
ga4 debug mode Ereignisse und Unterdrückungsentscheidungen im Browser-Konsolenprotokoll aufzeichnen.

Hinweise

  • Im Modus Kernel-Erweiterung besitzt der Kernel weiterhin die Seitenaufrufe, daher werden PN-URLs und Thementitel weiterhin gesendet. Nur der verwaltete Modus ändert das.
    | Registere nicht topic_id als benutzerdefinierte GA4-Dimension — sie ist unbegrenzt und wird die Kardinalitätslimits der Eigenschaft überschreiten.
  • Die eigenen Berichte von Discourse (Admin → Berichte → Trending Search) erfassen Klicks, sodass sie zeigen, welche Suchen fehlgeschlagen sind. GA4 kann das nicht. Deshalb ist ga4 send search terms standardmäßig deaktiviert.
1 „Gefällt mir“