このガイドでは、アプリイベントおよびFacebookページイベントを記録して、ユーザーがどのようにMessengerエクスペリエンスでやり取りしたかを分析する方法について説明します。
次のものが必要です。
page_events
アクセス許可pages_messaging
アクセス許可のAdvanced Accessを付与されていて、過去90日間にポリシーの違反がない場合、アプリレビューの申請を行うと自動的にこのアクセス許可のAdvanced Accessが付与されます。ANALYZE
タスクを実行できるユーザーがリクエストしたページアクセストークン現時点では、ヨーロッパまたは日本に拠点を置くビジネスやカスタマーはこのAPIを利用できません。
イベントは、POST
リクエストをアプリのpage_activities
エッジに送信して記録します。
https://graph.facebook.com/
リクエストの例
curl -X POST -H "Content-Type: application/json" -d '{
"custom_events": [
{
"_eventName": "fb_mobile_purchase",
"_valueToSum": 57.23,
"fb_currency": "USD"
}
],
"advertiser_tracking_enabled": 1,
"application_tracking_enabled": 1,
"page_id": <PAGE_ID>,
"page_scoped_user_id": <PSID>,
"logging_source": "messenger_bot",
"logging_target": "page"
}' https://graph.facebook.com/v21.0
/<APP_ID>/page_activities?access_token=<PAGE_ACCESS_TOKEN>
フィールド_eventName
には、標準イベントを使用するようおすすめします。標準イベントだけが広告マネージャに報告され、広告のターゲット設定や最適化に利用できます(それが可能な場合)。
例: 広告マネージャのアトリビューションのために購入イベントを記録するには、イベント名fb_mobile_purchase
を使用します。
標準イベント名とパラメーターの全一覧については、アプリイベントAPIガイド(「アプリイベントスキーマ」セクション)を参照してください。
以下の表に、Messengerイベントを記録する際にエンドポイントに指定する必要があるプロパティと値を示します。
プロパティ | 説明 | 値 |
---|---|---|
| ログに記録するイベントの配列。標準イベントと適用できるパラメーターのリストについては、アプリイベントAPIガイドを参照してください。独自のアプリイベントを使用することもできます。配列に複数のイベントを指定できます。 | カスタムイベントの詳細を指定するには、JSONエンコードの配列を使用します。 |
| イベントのに関連付けられているページIDを指定します。 | ボットに関連付けられているページのFacebookページIDを使用します。 |
| イベントを記録するMessengerボットに関連付けられているpage-scoped user IDを指定します。 | Webhookに指定したpage-scoped user IDを使用します。 |
| 広告トラッキングを有効にするかどうかを指定します。 | 無効にする場合は |
| アプリケーションレベルで広告トラッキングを有効にするかどうかを指定します。 | 無効にする場合は |
| イベントソースを指定します。 | 文字列 |
| イベントが記録されるターゲットエンティティを指定します。 | 文字列 |
アプリがスレッド上のリード送信の報告を開始できるようになりました。lead_submitted
イベントを使えば、セールスリードと思われるスレッド(ユーザーが連絡先情報を共有し、販売に関する連絡を求めてくる場合など)の報告をアプリで自動化できます。
このイベントは、特定のユーザーを潜在的なリードとして区別し、ビジネスがそのユーザーからのスレッドを優先するのに役立ちます。例えば、ビジネスはユーザーを潜在的なリードと判断する自動フローを設定し、ユーザーがそのようなフローを完了したときにこのイベントをトリガーし、潜在的なリードの可能性が高いスレッドとしてフラグを付けてライブエージェントに通知できます。
現時点では、この機能はオープンベータ版として利用可能であり、広告マネージャでの報告機能は統合済みです。そのため、リードデータが広告マネージャUIで報告されるようになる予定です。
curl -X POST -H "Content-Type: application/json" -d '{
"custom_events": [
{
"_eventName": "lead_submitted"
}
],
"advertiser_tracking_enabled": 1,
"application_tracking_enabled": 1,
"page_id": <PAGE_ID>,
"page_scoped_user_id": <PSID>,
"logging_source": "messenger_bot",
"logging_target": "page"
}' https://graph.facebook.com/v21.0
/<APP_ID>/page_activities?access_token=<PAGE_ACCESS_TOKEN>
報告されたリードイベントは広告インサイトAPIを使って可視化できます。このAPIを使うと、CTXキャンペーンにアトリビューションされたリードを可視化するための、高度な分析ダッシュボードを作成できます。
このAPIを使う前に、アプリについて必ず、ads_read
アクセス許可に関するアプリレビュープロセスを完了し、アドバンスアクセスを得ておいてください。
広告キャンペーンレベルでのインサイト呼び出しの例は、次のようになります。
curl -G \ -d "date_preset=last_7d" \ -d "access_token=<ACCESS_TOKEN>" \ "https://graph.facebook.com/<API_VERSION>/<AD_CAMPAIGN_ID>/insights"
インサイトAPIは、必要な詳細レベルに応じて、広告アカウント、キャンペーン、広告セットレベルで呼び出すことができます。
以下は、リード獲得のための呼び出しです。
/<OBJECT_ID>/insights?fields=actions
action_type=onsite_converstion.lead_grouped
上記のアクションタイプの詳細な定義については、広告アクション統計のリファレンスを参照してください。
注: 特に、電話番号が支払いやEコマースを目的として共有される市場では、すべてのスレッドにリードとして電話番号やメールアドレスを自動的にマーク付けすることはおすすめしません。
アプリまたはページの管理者は、広告マネージャでイベントを調べて、設定が正しいことを検証できます。
fb_messenger_bot_stopped
イベントを受け取ります。ビジュアルインターフェイスを使ってMessengerエクスペリエンスを構築できるプラットフォームでは、通常、接続しているすべてのページに機能を提供する中心的な1つのアプリを使用します。顧客が自分自身のイベントを見ることができるようにするには、logging_target
をpageまたはapp_and_pageに設定して、イベントを顧客のページに記録する必要があります。
ビジュアルエディターのコンテキストでは、ドラッグ可能なブロックを提供して、ユーザーがイベントを選択して追加パラメーターを定義するようにできます。これによりページ管理者は、Messengerフローを適切なイベントにマップできます。理想的には、ユーザーが標準イベント名をドロップダウンリストから選択できるようにしてください。標準イベントだけが広告マネージャに報告され、広告ターゲット設定と最適化に利用できるからです(それが可能な場合)。ユーザーのアクションに合う標準イベント名がなく広告レポートが必要なければ、自由形式のフィールドを提供して、ユーザーがカスタムイベント名とパラメーターを入力できるようにしたいと思うかもしれません。
必要なpage_events
アクセス許可は、アプリのFacebookログインフロー中に取得する必要があります。そのアクセス許可を、ログインボタンでリクエストされるアクセス許可スコープ、Facebook JavaScript SDK呼び出し、またはこのガイドに概説されている手動で構築したログインフローに追加しなければなりません。