概要:af_order_infoパラメータを使って、商品単位の注文データをAppsFlyerに送信できます。 1商品の購入にも複数商品の購入にも、共通して使用できる2種類の形式に対応しています。 AppsFlyerは、各アドネットワークが必要とする構造にデータを自動的にマッピングします。
商品単位のデータが重要な理由
af_order_infoは、注文に含まれる個々の商品の情報を報告するイベントパラメータです。1商品だけの注文にも、複数商品の注文にも使用できます。従来のaf_contentとaf_content_listの代わりに、同じ用途に使える、より充実した共通形式を提供します。 1商品の注文と複数商品の注文に共通する2種類の配列形式に対応しています。Google Ads、DV360、Meta、TikTok、Snapchat、Pinterestの6つのアドネットワークで利用でき、アドネットワークごとに異なるデータ構造を用意する必要がありません。
これらのアドネットワークでは、注文の合計金額だけでなく、より詳細な情報を使ってキャンペーンを最適化するようになっているため、商品単位のデータの送信が重要です。 Meta、Google、TikTok、Snapchat、Pinterestはいずれも、商品ID、価格、数量、カテゴリ、ブランドなどを使い、商品単位でターゲティングや入札を改善する最適化アルゴリズムに対応しています。商品の内訳を詳しく送信するほど、アドネットワークがキャンペーンを細かく調整するために活用できる情報が増えます。
パラメータの構造
注文に含まれる各商品は、最大7つのフィールドで記述できます。 AppsFlyerでは、以下の2つの方法で、af_order_info内にこれらのフィールドを構成できます。
event_value(またはcustom_data)の一部として送信し、1商品の注文でも複数商品の注文でも同じ仕組みで処理されます。そのため、複数の注文データ形式を管理せずに、形式を統一できます。
7つのフィールドは次のとおりです。
| フィールド | 説明 | 対応アドネットワーク |
|---|---|---|
sku |
商品IDまたはSKU(在庫管理単位) | Google, DV360, Meta, Snapchat, Pinterest, TikTok |
revenue |
商品価格 | Google, DV360, Meta, Snapchat, Pinterest, TikTok |
qty |
購入数量 | Google, DV360, Meta, Snapchat, Pinterest, TikTok |
content_name |
商品名 | TikTok |
content_type |
商品の種類。対応する値は、product(SKUが個別の商品を示す場合)とproduct_group(SKUがitem_group_idを示す場合)のみです。 |
TikTok |
content_category |
商品カテゴリ | TikTok, Snapchat |
brand |
商品のブランド | TikTok, Snapchat |
すべての商品について、7つのフィールドをすべて入力する必要はありません。自社の事業と、キャンペーンを実施するアドネットワークに必要な情報を送信してください。省略したフィールドは、そのフィールドの受信に対応するアドネットワークへのポストバックにも含まれません。特に重要で、一般的に送信されるフィールドはsku、revenue、qtyです。
af_order_infoの構成には、次の2つの方法があります。どちらもevent_valueの配下に配置します。
-
フィールドごとに全商品の値をまとめる(推奨):
sku、revenue、qtyなどの各フィールドを、注文内のすべての商品を含む配列として1回ずつ送信します。この形式では、ペイロードを短くできます。 - 商品ごとにオブジェクトを作成する:注文内の各商品を個別のオブジェクトとして送信し、その商品に関するフィールドをオブジェクト内に配置します。
次は、フィールドごとに全商品の値をまとめる、推奨形式の例です。
{
"af_order_info": {
"sku": ["SKU-001", "SKU-002", "SKU-003"],
"revenue": [50.00, 75.00, 25.00],
"qty": [1, 1, 2],
"content_name": ["Wireless Mouse", "Bluetooth Headphones", "USB-C Cable"],
"content_type": ["product", "product", "product"],
"content_category": ["accessories", "audio", "cables"],
"brand": ["Logitech", "Sony", "Anker"]
}
}次は、商品ごとにオブジェクトを作成する、もう一方の形式の例です。
{
"af_order_info": [
{
"sku": "SKU-001",
"revenue": 50.00,
"qty": 1,
"content_name": "Wireless Mouse",
"content_type": "product",
"content_category": "accessories",
"brand": "Logitech"
},
{
"sku": "SKU-002",
"revenue": 75.00,
"qty": 1,
"content_name": "Bluetooth Headphones",
"content_type": "product",
"content_category": "audio",
"brand": "Sony"
},
{
"sku": "SKU-003",
"revenue": 25.00,
"qty": 2,
"content_name": "USB-C Cable",
"content_type": "product",
"content_category": "cables",
"brand": "Anker"
}
]
}アドネットワーク別のマッピング
AppsFlyerはaf_order_infoの配列を読み取り、各アドネットワークのAPIが必要とする形式に自動的に組み替えます。対応フィールドはアドネットワークごとに異なるため、送信したすべてのフィールドが、すべてのアドネットワークに渡されるわけではありません。各アドネットワークが現在対応しているフィールドを、次の表に示します。
| アドネットワーク | 対応フィールド |
|---|---|
| Google Ads / DV360 |
sku、qty、revenue
|
| Meta(Facebook) |
sku、qty、revenue
|
| TikTok |
sku、qty、revenue、content_name、content_type、content_category、brand(全7フィールド) |
| Snapchat | モバイル:sku、revenue、brand、content_category。数量は全商品の合計として送信されます。 Web:sku、revenue、qty。数量は商品ごとの数量と、全商品の合計数量の両方が送信されます。 |
sku、revenue、qty
|
Google AdsとDV360
モバイル
AppsFlyerは、各フィールドをapp_event_data配下のitems配列にマッピングします。
"app_event_data": {
"items": [
{"item_id": "SKU-001", "quantity": "1", "price": "50.0"},
{"item_id": "SKU-002", "quantity": "1", "price": "75.0"},
{"item_id": "SKU-003", "quantity": "2", "price": "25.0"}
]
}
Google AdsのWeb連携(OCI)
AppsFlyerは、conversions[].cartData.items[]配下で、skuをproductIdに、qtyをquantityに、revenueをunitPriceにマッピングします。
コンバージョンオブジェクトからの抜粋:
{
"cartData": {
"items": [
{"productId": "SKU-001", "quantity": 1, "unitPrice": 50.00},
{"productId": "SKU-002", "quantity": 1, "unitPrice": 75.00},
{"productId": "SKU-003", "quantity": 2, "unitPrice": 25.00}
]
}
}
Meta(Facebook)
モバイル
AppsFlyerは、各フィールドをfb_contentsにマッピングします。
"fb_contents": [
{"id": "SKU-001", "quantity": 1, "item_price": 50.00},
{"id": "SKU-002", "quantity": 1, "item_price": 75.00},
{"id": "SKU-003", "quantity": 2, "item_price": 25.00}
]
Web
AppsFlyerは、各フィールドをdata[].custom_data.contentsにマッピングします。
イベントオブジェクトからの抜粋:
{
"custom_data": {
"contents": [
{"id": "SKU-001", "quantity": 1, "item_price": 50.00},
{"id": "SKU-002", "quantity": 1, "item_price": 75.00},
{"id": "SKU-003", "quantity": 2, "item_price": 25.00}
]
}
}
TikTok
モバイル
AppsFlyerは、各フィールドをproperties.contentsにマッピングします。 7つのフィールドすべてに対応しているのは、この5つのアドネットワークのうちTikTokのみです。
"properties": {
"contents": [
{
"content_type": "product",
"content_category": "accessories",
"content_name": "Wireless Mouse",
"quantity": 1,
"brand": "Logitech",
"content_id": "SKU-001",
"price": 50.00
}
],
"currency": "USD",
"value": 175.00
}
Web
AppsFlyerは、商品の詳細をdata[].properties.contentsにマッピングします。content_typeは、properties配下でcontentsと並列に1回だけ送信されます。イベント全体の収益と通貨を含めてください。 AppsFlyerは、イベントに収益の値がある場合に、商品の詳細を転送します。
イベントオブジェクトからの抜粋:
{
"properties": {
"content_type": "product",
"currency": "USD",
"value": 175.00,
"contents": [
{
"content_id": "SKU-001",
"price": 50.00,
"quantity": 1,
"content_name": "Wireless Mouse",
"content_category": "accessories",
"brand": "Logitech"
},
{
"content_id": "SKU-002",
"price": 75.00,
"quantity": 1,
"content_name": "Bluetooth Headphones",
"content_category": "audio",
"brand": "Sony"
},
{
"content_id": "SKU-003",
"price": 25.00,
"quantity": 2,
"content_name": "USB-C Cable",
"content_category": "cables",
"brand": "Anker"
}
]
}
}
Snapchat
モバイル
AppsFlyerは、各フィールドをURLのクエリパラメータにマッピングします。 Snapchatには、商品ごとの数量は送信されません。代わりに、number_itemsに、注文内の全商品の合計数量を設定します。
&item_ids=SKU-001,SKU-002,SKU-003&number_items=5&price=50.00,75.00,25.00&brands=Logitech,Sony,Anker&category=accessories,audio,cables
Web
AppsFlyerは、商品ごとの数量を含む商品の詳細を、data[].custom_data.contentsにマッピングします。 num_itemsには、注文全体の合計数量が含まれます。
イベントオブジェクトからの抜粋:
{
"custom_data": {
"contents": [
{"id": "SKU-001", "quantity": 1, "item_price": 50.00},
{"id": "SKU-002", "quantity": 1, "item_price": 75.00},
{"id": "SKU-003", "quantity": 2, "item_price": 25.00}
],
"num_items": 4
}
}
モバイルとWeb
AppsFlyerは、各フィールドをcontentsにマッピングします。
"contents": [
{"id": "SKU-001", "item_price": "50.00", "quantity": 1},
{"id": "SKU-002", "item_price": "75.00", "quantity": 1},
{"id": "SKU-003", "item_price": "25.00", "quantity": 2}
]
Webのポストバックでは、contentsはdata[].custom_dataの配下に配置されます。
後方互換性
配列形式のaf_content_id、af_quantity、af_priceや、af_content、af_content_listなど、既存の形式も引き続き利用できます。既存の実装を移行する必要はありません。今後は、af_order_infoを、より充実した単一の形式として利用できます。従来の形式で対応していた情報に加え、商品名、カテゴリ、ブランドなど、商品の詳細をさらに充実させて送信したい場合に特に便利です。
重要
af_order_infoは、この記事に記載するアドネットワークでのみ対応しています。それ以外のアドネットワークでもこれらの情報が必要なキャンペーンを実施する場合は、af_content_id、af_content_list、af_content_type、af_quantityなどの既存のフィールドでも、引き続き情報を送信してください。
Metaのモバイル連携で、これまでMetaが指定する形式(af_contentをAppsFlyerがfb_contentsにマッピングする方式)でこの情報を送信していた場合は、ペイロードからaf_contentフィールドを削除できます。新しい方式では、Meta向けのfb_contentsへの変換にも標準で対応しています。
特性と制限事項
| 項目 | 説明 |
|---|---|
| 対応アドネットワーク | AppsFlyerがaf_order_infoに対応しているのは、この記事に記載するアドネットワークのみです。それ以外のアドネットワークでは、従来の形式に対応している場合があります。 |
| 対応プラットフォーム | モバイルアプリとWebサイトに対応しています。 Webサイトに対応しているのは、Google Ads、Meta、TikTok、Snapchat、Pinterestです。 DV360の対応対象はモバイルアプリです。 |
| TikTokのWeb連携 | イベントに収益の値がある場合に、商品の詳細が転送されます。商品の詳細に加え、イベント全体の収益と通貨を送信してください。 |
| イベント値の長さ | af_order_infoを含むevent_valueフィールド全体の長さは、3,000文字以内に収める必要があります。 |