| 概要 | Discourse フォーラムに Meta Pixel トラッキングと Conversions API (CAPI) を追加します。 | ||
| リポジトリリンク | Discourse Meta Pixel & Conversions API プラグイン | ||
| インストールガイド | 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を取得するための進行中のリクエストがないためです。 - 除外グループは、ブラウザだけでなく、すべてのサーバーディスパッチパスで強制されます。
TopicCreated、ReplyCreated、CompleteRegistrationはブラウザを一切関与させません。 - ブラウザが POST するエンドポイントは CAPI プロキシではありません。4 つのイベント名、イベント ID、および任意のトピック ID とパスを受け入れます。URL や任意の
user_dataではありません。
同じ方式で作成された Google Analytics 4 プラグイン が同梱されています。

