Meta Pixel と Conversions API

:information_source: 概要 Discourse フォーラムに Meta Pixel トラッキングと Conversions API (CAPI) を追加します。
:hammer_and_wrench: リポジトリリンク Discourse Meta Pixel & Conversions API プラグイン
:open_book: インストールガイド Discourse にプラグインをインストールする方法

Discourse に Meta Pixel を追加する一般的な方法は、ベースコードをテーマコンポーネントに貼り付けることです。これにより、ドキュメントの読み込み時に fbq('track', 'PageView') が一度発火しますが、Discourse はドキュメントを再読み込みしないため、ユーザーがどれだけ多くのトピックを読んでも、1回の訪問につき PageView は1回しか記録されません。このプラグインはナビゲーションごとに発火し、コンテンツおよびコンバージョンイベントを追加し、Conversions API 経由でサーバーサイドのコピーを送信することで、広告ブロッカーを回避してイベントを保持します。

なぜテーマコンポーネントだけでは不十分なのか?

テーマコンポーネントはブラウザ内でのみ実行されるため、3つの結果が生じます。

広告ブロッカーや Safari の ITP により、ブラウザイベントの一部が削除され、どのイベントが欠落しているかを把握できません。また、アクセストークンが必要であり、訪問者が読めないシークレットを保存する場所がないため、Conversions API を使用することができません。さらに、注入されたすべての場所で発火するため、プライベートメッセージ、/admin、パスワードリセットページにも影響します。

リターゲティングオーディエンス用の PageView だけで十分であれば、テーマコンポーネントで十分であり、2分で設定できます。本プラグインはコンバージョンの質向上を目的としています。

このプラグインは自分のフォーラムに必要なものですか?

おそらく不要です。Pixel と CAPI は、コンバージョンのトラッキングと広告オーディエンスの作成を支援するために設計されています。分析データの一部は得られますが、Discourse の管理パネルにはすでに堅牢な分析データが含まれています。本プラグインは、主にコンバージョンのトラッキングと、フォーラムやサイトへのユーザー誘導を助ける Meta 広告の管理を行いたいユーザー向けです。

機能

  • ブラウザ Pixel とサーバーサイド Conversions API を1つのプラグインに統合し、1つのイベント ID を共有することで、Meta が重複カウントの代わりに重複排除を行います
  • PageView, ViewContent, Search, TopicEngaged, CompleteRegistration, TopicCreated, ReplyCreated
  • ページ読み込みごとではなく、SPA ナビゲーションごとに発火
  • ブラウザ Pixel がブロックされても、サーバーサイドのコンバージョンは到着します
  • プライベートメッセージ、制限付きカテゴリ、管理ルートではイベントが発生しません
  • UGC のタイトルや検索テキストは送信されません
  • スタッフのトラフィックはグループ単位で除外可能であり、サーバーイベントにも適用されます
  • バッチ送信、リトライ分類、レート制限バックオフ、永続的なべき等性テーブル
  • 最近の送信とそのステータスを表示する診断ページ

設定

1. インストール

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

次に ./launcher rebuild app を実行します。再構築時に、送信テーブルを作成するマイグレーションが実行されます。

2. Pixel. 管理画面 → 設定 → Meta Pixel & Conversions API。Pixel ID を meta pixel dataset id に入力し、discourse meta pixel enabled をオンにします。これで Pixel のみの動作するセットアップが完成します。

(Meta はこれを Events Manager では Pixel ID と呼び、Conversions API のドキュメントでは dataset ID と呼びます。同じ番号です。)

3. Conversions API (任意)。 Events Manager → データセット → 設定 → Conversions API でトークンを生成します。meta pixel capi access token に入力し、meta pixel capi enabled をオンにします。トークンと dataset ID がない場合、設定は有効化を拒否します。

4. 検証。 Events Manager → Test Events のコードを meta pixel test event code に入力し、フォーラムを閲覧します。各イベントは2回ではなく 1回 到着するはずです。これが重複排除が機能していることを示しています。テストコードで送信されたイベントはコンバージョンとしてカウントされないため、後でフィールドをクリアしてください。

5. 確認。 管理画面 → プラグイン → Meta Pixel → 診断 では、設定、ブラウザの状態、送信数、およびエラーを含む直近 25 件の送信を確認できます。

設定項目

名前 説明
discourse meta pixel enabled プラグインを有効にします。デフォルトではオフ。
meta pixel pixel enabled ブラウザで Meta Pixel を読み込みます。
meta pixel dataset id Meta Pixel ID (CAPI ドキュメントでは dataset ID と呼ばれます)。
meta pixel capi enabled Conversions API 経由でサーバーサイドのコピーを送信します。トークンが必要です。デフォルトではオフ。
meta pixel capi access token Events Manager からの Conversions API トークン。サーバーサイドのシークレットであり、ブラウザには送信されません。
meta pixel graph api version CAPI リクエスト用の Graph API バージョン。デフォルトは v26.0
meta pixel test event code Test Events のコード。検証中のみに設定してください。これらのイベントはコンバージョンとしてカウントされません。
meta pixel track page view 対象ページで PageView を送信します。
meta pixel track view content 公開トピックが開かれた際に ViewContent を送信します。
meta pixel track search フルページ検索が実行された際に Search を送信します。検索テキストは転送されません。デフォルトではオフ。
meta pixel track topic engaged 有意な閲読後に TopicEngaged を送信します。
meta pixel topic engaged seconds TopicEngaged が発火するまでのアクティブ閲読の秒数。デフォルトは 30。
meta pixel track complete registration アカウントが作成された際に CompleteRegistration を送信します。
meta pixel track topic created 新しい公開トピックに対して TopicCreated を送信します。
meta pixel track reply created 公開トピックへの返信に対して ReplyCreated を送信します。
meta pixel enhanced email matching マッチング品質を向上させるため、メンバーのメールアドレスの SHA-256 ハッシュを含みます。デフォルトではオフ。
meta pixel external id matching ユーザー ID の不透明な HMAC を含みます。ユーザー名やメールアドレスではありません。
meta pixel excluded groups これらのグループのメンバーは、Meta イベントを一切生成しません。デフォルト: 管理者、モデレーター。
meta pixel respect do not track ブラウザが Do Not Track を報告する訪問者に対しては、何も送信しません。
meta pixel public content only 匿名の訪問者が閲覧できるトピックに対してのみ、コンテンツイベントを送信します。
meta pixel batch size リクエストあたりのコンバージョン数。Meta は最大 1000 件まで受け入れます。デフォルトは 100。
meta pixel batch max wait seconds 部分的に埋まったバッチが待機する時間。デフォルトは 300。
meta pixel delivery retention days 送信記録を保持する日数。最小 7 日、デフォルト 30 日。
meta pixel debug mode 送信されたイベントをブラウザコンソールにログ出力します。

注記

  • イベントのブラウザコピーとサーバーコピーは1つの ID を共有します。Meta は 48 時間以内にイベント名と ID を基に重複排除を行うため、バッチ待機ウィンドウは時間ではなく分単位です。
  • トピックと返信の作成はサーバー専用です。ブラウザコピーはアイデンティティシグナルを追加せず、クライアントが「トピックが作成された」と主張できる場合、虚偽の主張も可能になるためです。
  • 登録はサーバーから送信されますが、ブラウザイベントとペアリングされます。アカウント作成時には、IP、ユーザーエージェント、または _fbp を取得するための進行中のリクエストがないためです。
  • 除外グループは、ブラウザだけでなく、すべてのサーバーディスパッチパスで強制されます。TopicCreatedReplyCreatedCompleteRegistration はブラウザを一切関与させません。
  • ブラウザが POST するエンドポイントは CAPI プロキシではありません。4 つのイベント名、イベント ID、および任意のトピック ID とパスを受け入れます。URL や任意の user_data ではありません。

同じ方式で作成された Google Analytics 4 プラグイン が同梱されています。

「いいね!」 1

ここを入力するのを忘れないでください!私は入力し忘れました。

「いいね!」 1