Meta Pixel & Conversions API

:information_source: Zusammenfassung Fügt Meta-Pixel-Tracking mit der Conversions API (CAPI) zu Ihrem Discourse-Forum hinzu.
:hammer_and_wrench: Repository-Link Discourse Meta Pixel & Conversions API Plugin
:open_book: Installationsanleitung So installieren Sie Plugins in Discourse

Der übliche Weg, das Meta Pixel in Discourse hinzuzufügen, besteht darin, den Basiscode in ein Theme-Komponente einzufügen. Das löst fbq('track', 'PageView') einmal beim Dokumentenladen aus. Da Discourse das Dokument nie neu lädt, erhalten Sie genau eine PageView pro Besuch, egal wie viele Themen jemand liest. Dieses Plugin wird bei jeder Navigation ausgelöst, fügt Inhalts- und Conversion-Events hinzu und sendet eine serverseitige Kopie über die Conversions API, damit die Events auch Ad-Blocker überstehen.

Warum nicht einfach ein Theme-Komponente verwenden?

Ein Theme-Komponente läuft nur im Browser, was drei Konsequenzen hat.

Ad-Blocker und Safaris ITP entfernen einen erheblichen Anteil der Browser-Events, und man kann nicht feststellen, welche fehlen. Es kann die Conversions API überhaupt nicht nutzen, da dafür ein Zugriffstoken erforderlich ist und es in einer Theme-Komponente keinen Ort gibt, an dem ein Geheimnis gespeichert werden kann, das Besucher nicht lesen können. Und es wird überall ausgelöst, wo es injiziert wird, einschließlich privater Nachrichten, /admin und Passwort-Reset-Seiten.

Wenn Sie nur eine PageView für ein Retargeting-Publikum benötigen, ist ein Theme-Komponente tatsächlich ausreichend und dauert nur zwei Minuten. Dieses Plugin ist für die Qualität von Conversions gedacht.

Brauche ich das für mein Forum?

Wahrscheinlich nicht. Pixel und CAPI sind so konzipiert, dass sie Ihnen helfen, Conversions zu verfolgen und Werbekampagnen-Publiken zu erstellen. Während es Ihnen einige analytische Daten liefern kann, bietet das Discourse-Admin-Panel bereits robuste Analytik-Daten. Dies ist für Benutzer gedacht, die primär Conversions verfolgen und Meta-Werbeanzeigen verwalten möchten, die helfen, Benutzer zu Ihrem Forum und Ihrer Website zu ziehen.

Funktionen

  • Browser-Pixel und serverseitige Conversions API in einem Plugin, die eine gemeinsame Event-ID teilen, sodass Meta dedupliziert, statt doppelt zu zählen
  • PageView, ViewContent, Search, TopicEngaged, CompleteRegistration, TopicCreated, ReplyCreated
  • Wird bei jeder SPA-Navigation ausgelöst, nicht bei jedem Seitenladen
  • Serverseitige Conversions treffen auch dann ein, wenn das Browser-Pixel blockiert ist
  • Private Nachrichten, eingeschränkte Kategorien und Admin-Routen erzeugen kein Event
  • UGC-Titel und Suchtexte werden niemals gesendet
  • Mitarbeiter-Traffic kann per Gruppe ausgeschlossen werden, auch bei serverseitigen Events erzwungen
  • Batch-Übermittlung mit Retry-Klassifizierung, Rate-Limit-Backoff und einer dauerhaften Idempotenz-Tabelle
  • Diagnose-Seite, die kürzliche Übermittlungen und deren Status anzeigt

Konfiguration

1. Installation

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

Dann ./launcher rebuild app. Der Rebuild führt eine Migration aus, die die Übermittlungstabelle erstellt.

2. Pixel. Admin → Einstellungen → Meta Pixel & Conversions API. Geben Sie Ihre Pixel-ID in meta pixel dataset id ein und aktivieren Sie dann discourse meta pixel enabled. Das ist eine funktionierende, nur auf Pixel basierende Einrichtung.

(Meta nennt dies im Events Manager die Pixel-ID und in der Conversions API-Dokumentation die Dataset-ID. Es ist dieselbe Nummer.)

3. Conversions API (optional). Erstellen Sie ein Token in Events Manager → Ihr Dataset → Einstellungen → Conversions API. Geben Sie es in meta pixel capi access token ein und aktivieren Sie dann meta pixel capi enabled. Die Einstellung verweigert die Aktivierung ohne Token und Dataset-ID.

4. Verifizieren. Geben Sie einen Code aus Events Manager → Test Events in meta pixel test event code ein und stöbern Sie im Forum. Jedes Event sollte einmal, nicht zweimal ankommen. Das bedeutet, dass die Deduplizierung funktioniert. Leeren Sie das Feld anschließend, da Events, die mit einem Testcode gesendet werden, nicht als Conversions gezählt werden.

5. Prüfen. Admin → Plugins → Meta Pixel → Diagnose zeigt die Konfiguration, den Browser-Status, die Übermittlungszahlen und die letzten 25 Übermittlungen mit eventuellen Fehlern an.

Einstellungen

Name Beschreibung
discourse meta pixel enabled Aktiviert das Plugin. Standardmäßig deaktiviert.
meta pixel pixel enabled Lädt das Meta Pixel im Browser.
meta pixel dataset id Ihre Meta Pixel-ID (in der CAPI-Dokumentation als Dataset-ID bezeichnet).
meta pixel capi enabled Sendet eine serverseitige Kopie über die Conversions API. Erfordert ein Token. Standardmäßig deaktiviert.
meta pixel capi access token Conversions API-Token aus dem Events Manager. Serverseitiges Geheimnis, wird niemals an den Browser gesendet.
meta pixel graph api version Graph API-Version für CAPI-Anfragen. Standard v26.0.
meta pixel test event code Test-Events-Code. Nur während der Verifizierung setzen, da diese nicht als Conversions zählen.
meta pixel track page view Sendet PageView für berechtigte Seiten.
meta pixel track view content Sendet ViewContent, wenn ein öffentlich sichtbares Thema geöffnet wird.
meta pixel track search Sendet Search, wenn eine Volltextsuche ausgeführt wird. Der Suchtext wird niemals weitergeleitet. Standardmäßig deaktiviert.
meta pixel track topic engaged Sendet TopicEngaged nach einer aussagekräftigen Lesezeit.
meta pixel topic engaged seconds Sekunden aktive Lesezeit, bevor TopicEngaged ausgelöst wird. Standard 30.
meta pixel track complete registration Sendet CompleteRegistration, wenn ein Konto erstellt wird.
meta pixel track topic created Sendet TopicCreated für ein neues öffentliches Thema.
meta pixel track reply created Sendet ReplyCreated für eine Antwort auf ein öffentliches Thema.
meta pixel enhanced email matching Enthält einen SHA-256-Hash der E-Mail-Adresse des Mitglieds, um die Match-Qualität zu verbessern. Standardmäßig deaktiviert.
meta pixel external id matching Enthält einen undurchsichtigen HMAC der Benutzer-ID. Niemals ein Benutzername oder eine E-Mail-Adresse.
meta pixel excluded groups Mitglieder dieser Gruppen erzeugen keinerlei Meta-Events. Standard: Admins, Moderatoren.
meta pixel respect do not track Sendet nichts für Besucher, deren Browser Do Not Track meldet.
meta pixel public content only Sendet Inhalts-Events nur für Themen, die ein anonymer Besucher lesen könnte.
meta pixel batch size Conversions pro Anfrage. Meta akzeptiert bis zu 1000. Standard 100.
meta pixel batch max wait seconds Wie lange ein teilweise gefüllter Batch wartet. Standard 300.
meta pixel delivery retention days Tage, an denen Übermittlungsprotokolle aufbewahrt werden. Minimum 7, Standard 30.
meta pixel debug mode Protokolliert gesendete Events in der Browser-Konsole.

Hinweise

  • Browser- und serverseitige Kopien eines Events teilen sich eine ID. Meta dedupliziert anhand von Event-Name plus ID innerhalb von 48 Stunden, weshalb das Batch-Wartefenster Minuten und nicht Stunden beträgt.
  • Die Erstellung von Themen und Antworten erfolgt nur serverseitig. Eine Browser-Kopie würde kein Identitätssignal hinzufügen, und ein Client, der behaupten könnte, dass „ein Thema erstellt wurde“, könnte dies fälschlicherweise behaupten.
  • Die Registrierung wird vom Server gesendet, aber mit einem Browser-Event gekoppelt, da es bei der Kontonerstellung keine laufende Anfrage gibt, aus der IP, User-Agent oder _fbp entnommen werden könnten.
  • Ausgeschlossene Gruppen werden auf jedem serverseitigen Versandpfad erzwungen, nicht nur im Browser. TopicCreated, ReplyCreated und CompleteRegistration beinhalten niemals einen Browser.

Der Endpunkt, an den der Browser sendet, ist kein CAPI-Proxy. Er akzeptiert vier Event-Namen, eine Event-ID und optional eine Themen-ID und einen Pfad. Keine URL, keine beliebigen user_data.

Es gibt ein zugehöriges Google Analytics 4-Plugin, das auf die gleiche Weise erstellt wurde.

Vergiss nicht, das auszufüllen! Ich weiß, dass ich es getan habe.

1 „Gefällt mir“