オフラインコンバージョンAPIは2025年5月に廃止されます。当初は、2024年の第3四半期で廃止されるはずでした。グラフAPI v17.0以降、オフラインコンバージョンAPIはオフラインイベントをサポートしなくなります。グラフAPI v16.0がオフラインイベントをサポートする最後のバージョンです。オフラインコンバージョンAPIは2025年5月にv16.0が期限切れになる時に廃止されます。今から2025年5月にかけて、マーケティングAPI v20.0の残りのオフラインコンバージョンAPIエンドポイントを廃止していきます。詳しくは、更新履歴をご覧ください。
2023年2月、コンバージョンAPIがオフラインイベントに完全にサポートするようになったと発表されました。新たに統合を行う広告主はコンバージョンAPIを使用するようおすすめします。既存のオフラインコンバージョンAPI統合を使用している広告主は、2025年の5月までに統合をコンバージョンAPI統合に変換するようおすすめします。加えて、コンバージョンAPI統合に成功するまで、オフラインコンバージョンAPIをアップデートしないようにもおすすめします。コンバージョンAPIの詳細をご確認ください。
オフラインコンバージョンAPIは、オフラインコンバージョンイベントを送信したり、コンバージョンの前にMeta広告を表示またはクリックした顧客の数を確認したりするために使います。
このAPIを使用するには、以下が必要です。
ない場合は、作成してください。
マーケティングAPIへのアクセスに必要です。Metaアプリを作成するには以下のことを実行します。
アプリレビューとアクセス許可に関するルールは、APIの実装方法によって異なります。
実装のタイプ | アプリレビューとアクセス許可 |
---|---|
直接実装 | これは、広告主としてオフラインコンバージョンを直接使用するケースです。 この事例では
|
パートナーがプラットフォームとして実装する | これは、サードパーティのパートナーとして、あなたのサービスを使用する広告主にオフラインコンバージョンの機能を提供するケースです。 この事例では
|
システムユーザーのアクセス権があれば、アプリはAPI経由でMetaにデータを送信できます。これを作成するには、次の手順に従います。
Metaのデータにアクセスするには、アクセストークンが必要です。システムユーザーのアクセストークンを作成するには、次の手順に従います。
Metaで広告キャンペーンを実施するには、広告アカウントが必要です。作成方法については、マーケティングAPIまたはビジネスヘルプセンターの「Metaビジネスマネージャのビジネス設定について」をご覧ください。
システムユーザーに広告アカウントへのアクセスを許可します。
これは、オフラインコンバージョンデータとともにアップロードされたファイルです。広告セットを作成する際に、イベントを正しくアトリビューションするために、tracking_spec
をオフラインイベントセットIDに設定します。これにより、イベントセットの作成、インポート時の統計情報の表示、ビジネスマネージャでの当該データの削除や変更ができるようになります。
以前の実装では、ビジネスマネージャレベルでオフラインイベントセットのCRUD操作を実行して、イベントセットをほかのオブジェクトおよびエンティティと共有することができました。
オフラインイベントセットを作成し、イベントセットのデータをアップロードまたは表示するには、特定のアクセス権が必要です。このアクセス権は、これらのアクセス許可を広告アカウントに割り当てる場合にも必要です。次のいずれかであることが必要です。
ad_account
の管理者オフラインコンバージョンイベントセット、リファレンスをご覧ください。
curl
-F 'access_token=<SYSTEM_USER_ACCESS_TOKEN>'
-F 'name=offline_event_set',
-F 'description=conversion data used for superbowl campaign',
https://graph.facebook.com/<API_VERSION>/<BUSINESS_MANAGER_ID>/offline_conversion_data_sets
HTTP POST
を実行します。
POST /<BUSINESS_MANAGER_ID>/offline_conversion_data_sets HTTP/1.1
Host: graph.facebook.com
curl -X POST \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<BUSINESS_MANAGER_ID>/offline_conversion_data_sets
応答にはイベントセットid
が含まれます。
{ "id": <OFFLINE_EVENT_SET_ID> }
パラメーター | 説明 |
---|---|
型: 文字列 | イベントセットの名前。 例: |
型: 文字列 | イベントセットの説明。 例: |
広告アカウントにトラッキングおよび読み取りアクセス許可を割り当てるには
POST /<OFFLINE_EVENT_SET_ID>/adaccounts HTTP/1.1
Host: graph.facebook.com
curl -X POST \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<OFFLINE_EVENT_SET_ID>/adaccounts
パラメーター | 説明 |
---|---|
型: 整数 | このビジネスIDに広告アカウントを割り当てます。 |
型: 整数 | オフライントラッキングが有効になっている広告アカウントのID。 |
tracking_spec
を更新すると、上書きされます。最初にGET
を実行し、オフラインイベントセットの関連するString
を既存のtracking_spec
の末尾に付加します。広告管理を参照するか、広告マネージャを使用してください。例えば、次のように適切なトラッキングスペックを指定します。
curl \ -F 'tracking_spec=[{action.type:"offline_conversion", dataset:["123"]}]' \ -F 'access_token=<SYSTEM_USER_ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/<AD_ID>
広告のトラッキングスペックを更新するには、次のようにします。
POST /<AD_ID>/?tracking_specs=[{"action.type":"offline_conversion","dataset": <OFFLINE_EVENT_SET_ID>}] HTTP/1.1
Host: graph.facebook.com
curl -X POST \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<AD_ID>/?tracking_specs=[{"action.type":"offline_conversion","dataset": <OFFLINE_EVENT_SET_ID>}]
パラメーター | 説明 |
---|---|
型: 文字列 | 広告グループのこのアクションをトラッキングします。 例: |
型: list<id> | オフラインイベントセットのID。 例: |
コンバージョン後62日以内に取引をアップロードする必要があります。次のようにコンバージョンデータをアップロードします。
curl \ -F 'access_token=SYSTEM_USER_ACCESS_TOKEN' \ -F 'upload_tag=store_data' \ -F 'data=[ \ { match_keys: {"phone": ["HASH1","HASH2"], "email": ["HASH3","HASH4"]}, currency: "USD", value: 16, event_name: "Purchase", event_time: 1456870902, contents: [ {id: "A", quantity: 1}, {id: "B", quantity: 2}, {id: "C", quantity: 1} ] custom_data: { }, }, { match_keys: {"lead_id": "12345"}, event_name: "Lead", event_time: 1446336000, contents: [ {id: "A", quantity: 1}, {id: "B", quantity: 2}, {id: "C", quantity: 1} ] custom_data: { event_source: "email", action_type: "sent_open_click", email_type: "email_type_code", email_provider: "gmail_yahoo_hotmail", } }, ]' https://graph.facebook.com/VERSION/OFFLINE_EVENT_SET_ID/events
コンバージョンを送信するには、HTTP POST
を実行します。
POST /<OFFLINE_EVENT_SET_ID>/events HTTP/1.1
Host: graph.facebook.com
curl -X POST \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<OFFLINE_EVENT_SET_ID>/events
パラメーター | 説明 |
---|---|
型: 文字列 | 必須。 イベントのアップロードをトラッキングします。 例: |
型: | 必須。 アップロードされるイベント数を含めます。各アカウントセンターアカウントについて、API呼び出しごとに最大2,000件のコンバージョンイベントをアップロードします。 例: 前述の例を参照 |
型: 整数 | 任意。
例: |
同じバッチ内のすべてのイベントアップロードAPI呼び出しに同じupload_tag
を使用して、それらをグループ化します。こうすると、イベントのアップロードをデバッグするのに役立ちます。複数のAPI呼び出しで行われるイベントアップロードにご利用ください。
data
内にあるパラメーターは次のとおりです。
パラメーター | 説明 |
---|---|
型: JSONディクショナリー | 必須。 Metaで利用者をマッチングするために使う識別情報。 例: |
型: 整数 | 必須。 コンバージョンイベントのUNIXタイムスタンプ。 例: |
型: 文字列 | 必須。 イベントのタイプ。 例: |
型: 文字列 | 必須。 このコンバージョンイベントの3文字のISO通貨コード。 例: |
型: 倍精度浮動小数点 | 必須。 コンバージョンイベントの値。 例: |
型: 文字列 | 任意。 有効なAdvantage+ カタログ広告 例: |
型: JSON配列 | 任意。カタログに広告が組み込まれている場合は必須。 必須: 推奨: 必須: 推奨: |
型: JSONディクショナリー | 任意。 このコンバージョンイベントに関する情報。 例: |
型: 文字列 | 任意。 オフラインイベントセット内の取引または注文を区別するためのユニーク識別情報。例えば、小売りの場合は領収書IDを指定できます。 例: |
型: 文字列 | 任意。 同じ注文や取引内のイベントを区別するユニークな識別情報。 例: |
例えば、data
フィールドで次のように情報をアップロードできます。
{ match_keys: MATCH_KEYS, event_time: EVENT_TIME, event_name: "Purchase", value: 400, currency: "USD", contents: [ { id: "A", quantity: 1, brand: "brand_of_A", category: "Apparel & Accessories | Clothing", price: 100, }, { id: "B", quantity: 2, brand: "brand_of_B", category: "Apparel & Accessories | Shoes", price: 50, }, { id: "C", quantity: 1, brand: "brand_of_C", category: "Apparel & Accessories | Jewelry | Watches", price: 200, } ], }
同じバッチ内のすべてのイベントアップロードAPI呼び出しに同じupload_tag
を使用して、それらをグループ化します。こうすると、イベントのアップロードをデバッグするのに役立ちます。複数のAPI呼び出しで行われるイベントアップロードにご利用ください。
match_keys
は、利用者とアトリビューションをマッチングするための識別情報のセットです。データの正規化とハッシュ化については、CRMデータにからのカスタムオーディエンスをご覧ください。SHA256のみがサポートされており、ハッシュ化されていないデータは受け入れられません。
パラメーター名 | パラメーター | ハッシュ化が必須かどうか |
---|---|---|
メールアドレス(1つまたは複数) |
| 必須 |
電話番号(1つまたは複数) |
| 必須 |
ジェンダー |
| 必須 |
生年月日 |
| 必須 |
姓 |
| 必須 |
名 |
| 必須 |
都市 |
| 必須 |
米国の州 |
| 必須 |
郵便番号 |
| 必須 |
国 |
| 必須 |
Appleの広告ID |
| 必須 |
Androidの広告ID |
| 必須 |
サードパーティのユーザーID |
| 強く推奨される |
リード獲得広告からのリードID |
| ハッシュ化しない |
応答:
名前 | 型 | 説明 |
---|---|---|
| 整数 | 処理されたエントリ数 |
エラーが発生すると、無効なエントリとその理由を含む例外が表示されます。エラーを修正するか、エラーのあるデータ行をスキップしてAPI呼び出しを再試行してください。
ビジネスマネージャの管理者、またはオフラインイベントセットを作成したシステムユーザーは、アップロードの統計情報を取得できます。オフラインイベントセットに関連付けられているad_account
の管理者も、このデータを読み取ることができます。
有効なエントリや一致するエントリなどのオフラインイベントセットに関する統計情報を表示するには
GET /<OFFLINE_EVENT_SET_ID>/uploads HTTP/1.1
Host: graph.facebook.com
curl -X GET -G \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<OFFLINE_EVENT_SET_ID>/uploads
ビジネスマネージャのOffline Events Manager
には、オフラインイベントの1日の内訳が表示されます。より正確な内訳を表示するには、次の呼び出しを行います。
GET /<OFFLINE_EVENT_SET_ID>/stats HTTP/1.1
Host: graph.facebook.com
curl -X GET -G \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<OFFLINE_EVENT_SET_ID>/stats
パラメーター | 説明 |
---|---|
型: 整数 | 任意。 UNIXタイムスタンプ。この時点からイベントのクエリを開始します。 例: |
型: 整数 | 任意。 UNIXタイムスタンプ。この時点以降に発生するイベントを除外します。 例: |
型: | 任意。 文字列のリスト。このエンドポイントは、v3.0まではすべてのフィールドを提供します。それより後のバージョンでは、デフォルトで |
型: ブーリアン | 任意。 集計時間が |
型: 文字列 | 任意。 この設定時間に基づいて結果を集計します。オプションは、 |
現在、オフラインカスタムコンバージョンはバックフィルを行いません。カスタムコンバージョンを作成する前に行われたイベントのアップロードからのデータは、アトリビューションされません。オフラインカスタムコンバージョンデータを広告配信の最適化に使用することはできません。カスタムコンバージョンリファレンスをご覧ください。
オフラインイベントを使用してカスタムコンバージョンを作成するには、POST
を実行します。
POST /act_<ACCOUNT_ID>/customconversions HTTP/1.1
Host: graph.facebook.com
curl -X POST \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/act_<ACCOUNT_ID>/customconversions
パラメーター:
パラメーター | 説明 |
---|---|
型: 文字列 | 新しいカスタムコンバージョン名。 例: |
型: 整数 | トラッキングするオフラインイベントセットID。 例: |
型: 文字列 | Metaピクセルの9つの標準イベントのうち1つ。 例: |
型: JSONエンコード文字列 | コンバージョンルールの演算子とデータ。カスタムコンバージョンリファレンスをご覧ください。例えば、100 USDを超える購入を指定します。 例: |
成功すると、次の応答が返されます。
{ "id": <CUSTOM_CONVERSION_ID> }
custom_data
フィールドを使用して、コンバージョンをカウントするかどうかを後で判断するルールを作成できます。これはオフラインカスタムオーディエンスに似ています。広告アカウントあたりのカスタムコンバージョンの最大数は40です。
例えば、custom_data
を使用してアップロードに製品カテゴリを含めるには、次のようにします。
data=[ { match_keys: {"phone": ["<HASH>","<HASH>"], "email": ["<HASH>","<HASH>"]}, currency: "USD", value: 16, event_name: "Purchase", event_time: 1456870902, custom_data: { product_category: "ICECREAM", }, }, ]
次に、custom_data.{YOUR_CUSTOM_PARAM}
を使用して、カスタムコンバージョンルールを作成します。
curl \ -F 'name=Ice Cream Purchasers' \ -F 'custom_event_type=Purchase' \ -F 'event_source_id=<OFFLINE_EVENT_SET_ID>' \ -F 'rule={"and": [{"event_name":{"eq":"Purchase"}},{"custom_data.product_category":{"i_contains":"ICECREAM"}}]}' \ -F 'access_token=<ACCESS_TOKEN>' \ "https://graph.facebook.com/<API_VERSION>/act_<ACCOUNT_ID>/customconversions"
オフラインコンバージョンイベントをクライアントの広告にアトリビューションするには、次の手順に従います。これらの手順のほとんどにおけるAPI呼び出しは、自分のオフラインイベントセットとキャンペーンを管理する場合と同じです。
これらの手順は、クライアントの広告アカウントでパートナーまたはエージェンシーの権限をどのように設定するかによって異なります。
これらの権限を設定するには、ビジネスマネージャのアセットをご覧ください。
イベントセットをクライアントのビジネスマネージャと共有します。クライアントは広告トラッキングにイベントセットを使用できるようになります。
GET /<OFFLINE_EVENT_SET_ID>/agencies HTTP/1.1
Host: graph.facebook.com
curl -X GET -G \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<OFFLINE_EVENT_SET_ID>/agencies
パラメーター | 説明 |
---|---|
型: 整数 | クライアントのビジネスマネージャのID |
パートナーが作成したオフラインイベントセットをクライアントと共有します。広告と広告アカウントのトラッキングを有効にするには、ビジネスマネージャの管理者、またはオフラインイベントセットを作成した管理者システムユーザーである必要があります。オフラインイベントセットに関連付けられている広告アカウントの管理者である場合も、これを行うことができます。このAPI呼び出しを行うには、呼び出し内のビジネスがオフラインイベントセットにアクセスできる必要があります。
この呼び出しにより、オフラインイベントのトラッキングと表示のアクセス許可を広告アカウントに割り当てることができます。
POST /<OFFLINE_EVENT_SET_ID>/adaccounts HTTP/1.1
Host: graph.facebook.com
curl -X POST \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/<OFFLINE_EVENT_SET_ID>/adaccounts
パラメーター | 説明 |
---|---|
型: 整数 | このビジネスIDに広告アカウントを割り当てます。 |
型: 整数 | オフライントラッキングが有効になっている広告アカウントID |
顧客を表す独自の外部IDを提供し、それを特定の利用者とマッチングするケースがあるかもしれません。これを行うには、以下のガイドラインに従ってextern_id
を使用してください。
マッチング処理を行ったデータパートナーは、パートナーIDをネームスペースIDとして使用し、extern_id
をtpid
として使用できます。
match_keys
のみを指定するMetaでは、match_keys
を使って、シェアされたコンバージョンデータをMetaユーザーとマッチングできるかどうかの判定を試みます。match_keys
を指定する場合、同時にnamespace_id
パラメーターも指定することはできません。
match_keys
とextern_id
の両方を指定するMetaでは、match_keys
を使ってMetaの利用者を検索し、{dataset_id, extern_id}
から{facebook_user_id}
へのマッピングの転送を試みます。match_keys
とextern_id
を指定する場合、同時にnamespace_id
パラメーターも指定することはできません。
extern_id
のみを指定するすでにmatch_keys
とextern_id
が含まれるデータを送信した場合、Metaは{dataset_id, extern_id}
を使って{facebook_user_id}
を取得します。
namespace_id
を指定するnamespace_id
パラメーターは、API呼び出し全体に適用されます。これを使用して、ビジネスまたはパートナーのプロフィールIDによってアクセスできる(または所有されている)別のオフラインイベントセットを参照できます。すでにmatch_keys
とextern_id
が含まれるデータを送信した場合、Metaは{namespace_id, extern_id}
を使って{facebook_user_id}
を取得します。データの1行につき1つのextern_id
のみを指定してください。
利用者が表示またはクリックした広告にアトリビューションするオフラインイベントを表示します。オフラインコンバージョンは1日以上経過してからアトリビューションされます。つまり、アトリビューションウィンドウを28d_view
またはaction_attribution_windows=['28d_view']'
に設定する必要があります。そうしないと、レポートにコンバージョンが表示されません。インサイトAPIとインサイトガイドをご覧ください。
GET /act_<ADACCOUNT_ID>/insights HTTP/1.1
Host: graph.facebook.com
curl -X GET -G \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/act_<ADACCOUNT_ID>/insights
パラメーター | 説明 |
---|---|
型: 文字列[] | インプレッション、クリック、コンバージョンデータの内訳。アクションのタイプ別(オフライン、オンラインなど)にグループ分けされます。 例: |
型: 文字列[] | 基本的な広告の指標 例: |
型: 文字列 | レポート結果でこのレベルのデータを集計または重複排除します。 例: |
型: 文字列 | クエリ指標に対する相対的な時間枠。 例: |
結果は次のようになります。
{ "data": [ { "date_start": "2015-12-01", "date_stop": "2015-12-01", "actions": [ { "action_type": "offline_conversion.purchase", "value": 1 }, { "action_type": "offsite_conversion.lead", "value": 3 }, ], ... } ] }
例: 次のようにして、アトリビューションを表示します。
curl -G \ -d 'access_token=<SYSTEM_USER_ACCESS_TOKEN>' \ -d 'fields=unique_actions,action_values' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/insights
結果は次のようになります。
{ "data": [ { "unique_actions": [ { "action_type": "link_click", "value": 94 }, { "action_type": "offline_conversion", "value": 1 }, { "action_type": "offline_conversion.purchase", "value": 1 }, { .... "value": 1 } ], "action_values": [ { "action_type": "offline_conversion.purchase", "value": 27.5 }, { "action_type": "offline_conversion", "value": 27.5 } ], "date_start": "2016-06-06", "date_stop": "2016-06-07" } ], "paging": { "cursors": { "before": "MAZDZD", "after": "MAZDZD" } } }
これらの2つのAPIでは、イベントのデータパラメーター内で各イベント内にdata_processing_options
、data_processing_options_country
、data_processing_options_state
を追加することにより、データ処理オプションを実装します。
注: アプリイベントとオフラインコンバージョンAPIの新規連携は推奨されなくなりました。その代わりに、ウェブ、アプリ、オフラインイベントに対応しているコンバージョンAPIを使用することを推奨します。詳しくは、アプリイベント用コンバージョンAPI、オフラインイベント用コンバージョンAPIをご覧ください。
限定データ使用 (LDU)を明示的に有効にしない場合は、各イベントに空の配列を指定するか、単にペイロードのフィールドを削除してください。
{ "data": [ { "event_name": "Purchase", "event_time": <EVENT_TIME>, "user_data": { "em": "<EMAIL>" }, "custom_data": { "currency": "<CURRENCY>", "value": "<VALUE>" }, "data_processing_options": [] } ] }
LDUを有効にしてMetaに地理的位置情報を使用させるには、次のコードを使用します。
{ "data": [ { "event_name": "Purchase", "event_time": <EVENT_TIME>, "user_data": { "em": "<EMAIL>", "client_ip_address": "256.256.256.256" }, "custom_data": { "currency": "<CURRENCY>", "value": "<VALUE>" }, "data_processing_options": ["LDU"], "data_processing_options_country": 0, "data_processing_options_state": 0 } ] }
LDUを有効にしてカリフォルニア州など位置情報を手動で特定するには、次のコードを使用します。
{ "data": [ { "event_name": "Purchase", "event_time": <EVENT_TIME>, "user_data": { "em": "<EMAIL>" }, "custom_data": { "currency": "<CURRENCY>", "value": "<VALUE>" }, "data_processing_options": ["LDU"], "data_processing_options_country": 1, "data_processing_options_state": 1000 } ] }
オフラインコンバージョンAPIは、.csv
ファイルからイベントを手動でアップロードするオプションを提供します。その場合は、データ処理オプション、データ処理国、データ処理州をファイル内に列として追加します。詳細については、アップロードのユーザーインターフェイスをご覧ください。
詳しくは、データ処理オプションをご覧ください。