Webhooksまたは一括読み取りを使用して、リードを読み取ることができます。
ad_id
、campaign_id
などの広告固有のフィールドを読み取るには、次のものが必要です。
pages_manage_metadata
アクセス許可 - Webhooksを使用している場合 すべてのリードデータおよび広告レベルデータを読み取るには、次のものが必要です。
注: このページ管理者がリードをカスタマイズしたことがなく、リードアクセスマネージャでアクセス許可も付与されていない場合、すべてのページ管理者がリードアクセス許可を持ちます。ビジネス管理者がリードアクセス許可をカスタマイズしている場合、ページの基本管理者がリードアクセス許可を持つかどうかは、そのビジネス管理者が行った設定に応じて決まります。
レート制限は、Facebookページで過去90日に作成されたリードの数に24を掛け200を掛けたものです。24時間以内にこれを超える呼び出しを行った場合、リクエストはエラーになります。
GET
リクエストを/ads/lead_gen/export_csv/
エンドポイントに送信します。この時の日付フォーマットはPOSIX
またはUNIX
のタイムスタンプになります。
curl -i -X GET "https://www.facebook.com/ads/lead_gen/export_csv/ ?id=<FORM_ID> &type=form &from_date=1482698431 &to_date=1482784831"
from_date
が設定されていない場合や、フォーム作成時刻よりも前に設定されている場合は、フォーム作成時刻が使用されます。to_date
が設定されていない場合や、現在の時刻よりも後に設定されている場合は、現在の時刻が使用されます。
TSV内のエントリに広告IDまたは広告グループIDが含まれない場合、次の理由が考えられます。
is_organic
の表示は1
になります。それ以外の場合、値は0
になります。リード獲得広告のリアルタイムアップデートの取得。
Webhooksスタートガイドを参照してエンドポイントを設定し、Webhooksを構成します。
単一の長期ページトークンを生成して、期限を気にすることなくデータを継続的にフェッチします。
ページ用Webhooksのガイドを参照して、アプリをページにインストールする方法を確認します。
leadgenが作成されると、アプリは次のWebhook応答を受け取ります。
array( "object" => "page", "entry" => array( "0" => array( "id" => 153125381133, "time" => 1438292065, "changes" => array( "0" => array( "field" => "leadgen", "value" => array( "leadgen_id" => 123123123123, "page_id" => 123123123, "form_id" => 12312312312, "adgroup_id" => 12312312312, "ad_id" => 12312312312, "created_time" => 1440120384 ) ), "1" => array( "field" => "leadgen", "value" => array( "leadgen_id" => 123123123124, "page_id" => 123123123, "form_id" => 12312312312, "adgroup_id" => 12312312312, "ad_id" => 12312312312, "created_time" => 1440120384 ) ) ) ) ) )
leadgen_id
を使用して、リードと関連付けられているデータを取得できます。
curl -X GET \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/{lead-id}/
成功すると、アプリは次の応答を受け取ります。
{ "created_time": "2015-02-28T08:49:14+0000", "id": "<LEAD_ID>", "ad_id": "<AD_ID>", "form_id": "<FORM_ID>", "field_data": [{ "name": "car_make", "values": [ "Honda" ] }, { "name": "full_name", "values": [ "Joe Example" ] }, { "name": "email", "values": [ "joe@example.com" ] }, { "name": "selected_dealer", "values": [ "99213450" ] }], ... }
この実装の例については、Githubレポジトリで参照できます。
2018年7月2日以降に作成されたアプリでは、リードの読み取りにleads_retrieval
アクセス許可を使用することが必須です。
leads
は、広告グループとフォームノードの両方にあります。一括読み取りでは、それぞれのオブジェクトに関連付けられたすべてのデータが返されます。フォームは多くの広告で再利用できるため、フォームには、それを使用した広告よりもずっと多くのリードが含まれていることがあります。
広告ごとに一括で読み取るには次のようにします。
curl -X GET \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/{adgroup-id}/leads
フォームごとに読み取るには次のようにします。
curl -G \ -d 'access_token=<ACCESS_TOKEN>' \ -d 'fields=created_time,id,ad_id,form_id,field_data' \ https://graph.facebook.com/<API_VERSION>/<FORM_ID>/leads
応答:
{ "data": [ { "created_time": "2018-02-28T08:49:14+0000", "id": "<LEAD_ID>", "ad_id": "<AD_ID>", "form_id": "<FORM_ID>", "field_data": [ { "name": "car_make", "values": [ "Honda" ] }, { "name": "full_name", "values": [ "Joe Example" ] }, { "name": "email", "values": [ "joe@example.com" ] }, ], ... } ], "paging": { "cursors": { "before": "OTc2Nz3M8MTgyMzU1NDMy", "after": "OTcxNjcyOTg8ANTI4NzE4" } } }
店舗検索のための質問はその他の質問と変わりません。店舗検索のための質問には、フォームの作成時にそれらの質問にマッピングされるフィールドIDもあります。これらのIDも、他の質問と同様に送信されます。受け渡される値は、選択した位置情報の店舗番号から取得されます。
たとえば、フィールドIDにselected_dealer
が指定された店舗検索のための質問があるとします。次のように呼び出すことで、リードを一括でフェッチできます。
curl -G \ -d 'access_token=<ACCESS_TOKEN>' \ -d 'fields=created_time,id,ad_id,form_id,field_data' \ https://graph.facebook.com/<API_VERSION>/<FORM_ID>/leads
応答:
{ "data": [ { "created_time": "2018-02-28T08:49:14+0000", "id": "<LEAD_ID>", "ad_id": "<AD_ID>", "form_id": "<FORM_ID>", "field_data": [ { "name": "car_make", "values": [ "Honda" ] }, { "name": "full_name", "values": [ "Joe Example" ] }, { "name": "email", "values": [ "joe@example.com" ] }, { "name": "selected_dealer", "values": [ "99213450" ] } ], ... } ], "paging": { "cursors": { "before": "OTc2Nz3M8MTgyMzU1NDMy", "after": "OTcxNjcyOTg8ANTI4NzE4" } } }
field_data
には、ユーザーが任意でチェックを入れたカスタム免責事項チェックボックスへの応答は含まれません。この応答を取得するには、custom_disclaimer_responses
フィールドを使用します。
curl -X GET \ "https://graph.facebook.com/<API_VERSION>/<LEADGEN_ID>? fields=custom_disclaimer_responses"
応答:
{ "custom_disclaimer_responses": [ { "checkbox_key": "optional_1", "is_checked": "1" }, { "checkbox_key": "optional_2", "is_checked": "" } ], "id": "1231231231" }
次の例では、タイムスタンプに基づいてリードをフィルター処理します。タイムスタンプには、Unixタイムスタンプを使用します。
curl -X GET \
-d 'filtering=[
{
"field": "time_created",
"operator": "GREATER_THAN",
"value": 1731608590
}
]' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/{adgroup-id}/leads
operator
は次のいずれかの値になります。
演算子 | 定義 |
---|---|
| 指定されたタイムスタンプより小さい値をフィルターします。 |
| 指定されたタイムスタンプより大きい値をフィルターします。 |
| 指定されたタイムスタンプ以上の値をフィルターします。 |
フォームにカスタマイズされたフィールドIDが含まれる場合、返されるフィールドと値は、指定されたフィールドと値です。