Advantage+ カタログ広告を利用すれば、パーソナライズされた広告を作成し、商品のセットに基づいて適切なオーディエンスをターゲットに設定できます。
住宅、雇用、信用、社会問題、選挙、政治に関する広告を掲載する広告主には、それぞれ異なる一連の制限が課されます。詳しくは、特別な広告カテゴリを参照してください。
Advantage+カタログ広告キャンペーンを作成するには、以下が必要です。
任意でダイナミック商品オーディエンスを設定できますが、ターゲット設定において商品セットを含めるか除外するかを指定する必要はありません。
広告キャンペーンの作成方法について詳しくは、広告キャンペーンのドキュメントをご覧ください。
このレベルで、objective
フィールドを使って広告の目的を設定する必要があります。Advantage+カタログ広告でサポートされている目的は、PRODUCT_CATALOG_SALES
、CONVERSIONS
、LINK_CLICKS
、APP_INSTALLS
です。指定するobjective
がCONVERSIONS
、LINK_CLICKS
、APP_INSTALLS
の場合、promoted_object
フィールドは不要です。
curl \
-F 'name=Product Catalog Sales Campaign' \
-F 'objective=PRODUCT_CATALOG_SALES' \
-F 'promoted_object={"product_catalog_id":"<PRODUCT_CATALOG_ID>"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/campaigns
Advantage+カタログ広告では、広告セットレベルに対してpromoted_object
にproduct_set_id
を指定する必要があり、その商品セットに属する商品を宣伝することになります。
さらに、optimization_goal
をOFFSITE_CONVERSIONS
に指定した場合に、promoted_object
にcustom_event_type
を指定することで、その商品セットに対する独自のコンバージョンイベントを定義することもできます。そうすると、アプリまたはサイトでそのイベントを実行した利用者が広告のターゲットに設定されます。
例えば、これをADD_TO_CART
に設定すると、「カートに追加」イベントがコンバージョンイベントになります。custom_event_type
は、デフォルトではPURCHASE
に設定されます。custom_event_type
の標準的なイベントとその値については、Metaピクセル、コンバージョントラッキングを参照してください。
アプリイベントとFacebookピクセルの両方からのコンバージョンを含むオフサイトコンバージョンのために最適化し、インプレッションに対して請求されるようにするには、次のように設定します。
optimization_goal
をOFFSITE_CONVERSIONS
に設定billing_event
をIMPRESSIONS
に設定optimization_goal
とbilling_event
の有効な組み合わせについて詳しくは、最適化の目的と請求イベントをご覧ください。
IMPRESSIONS
に対して請求され、OFFSITE_CONVERSIONS
用に最適化された広告セットを作成する例を次に示します。
curl \
-F 'name=Product Catalog Sales Adset' \
-F 'bid_amount=3000' \
-F 'billing_event=IMPRESSIONS' \
-F 'optimization_goal=OFFSITE_CONVERSIONS' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={ "geo_locations": {"countries":["US"]},
"dynamic_audience_ids": ["<DYNAMIC_AUDIENCE_ID>"]
}' \
-F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adsets
DYNAMIC_AUDIENCE_ID
は、商品オーディエンスを参照しています。任意で、呼び出しのdynamic_audience_ids
は省略可能です。
eコマース事例の場合、呼び出しのdynamic_audience_ids
を省略し、代わりに、動作ターゲット情報をproduct_audience_specs
またはexcluded_product_audience_specs
パラメーターの一部として送信することができます。これらの設定は、商品オーディエンスの作成に使用するものと同じパラメーターによって定義されます。
名前 | 説明 |
---|---|
数字の文字列 | 必須。 |
JSONオブジェクト | 必須。 |
整数 | 必須。 |
オブジェクト[] | 必須。 |
JSONオブジェクト | 任意。 |
整数 | 除外条件が指定されている場合は必須。 |
オブジェクト[] | 除外条件が指定されている場合は必須。 |
各ルールには、最上位ルールまたは最上位のand
ルールの一部としてeq
演算子を指定したevent
が含まれていなければなりません。
この例では、過去3~5日間に商品を閲覧したものの、購入はしなかった利用者をターゲットとして設定します。広告は、モバイルフィードとAudience Networkに配置されます。このオーディエンスを作成するには、次のようにします。
curl \
-F 'name=Product Catalog Sales Adset' \
-F 'bid_amount=3000' \
-F 'billing_event=LINK_CLICKS' \
-F 'optimization_goal=LINK_CLICKS' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={
"publisher_platforms": ["facebook","audience_network"],
"device_platforms": ["mobile"],
"geo_locations": {"countries":["US"]},
"product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_ID>",
"inclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"ViewContent"}}}],
"exclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"Purchase"}}}]
}
],
"excluded_product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_ID>",
"inclusions": [{"retention_seconds":259200,"rule":{"event":{"eq":"ViewContent"}}}]
}
]
}' \
-F 'promoted_object={"product_set_id":<PRODUCT_SET_ID>"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adsets
利用者が見たことのない製品を宣伝する例を次に示します。
curl \ -F 'name=Case 1 Adset' \ -F 'bid_amount=3000' \ -F 'billing_event=IMPRESSIONS' \ -F 'status=ACTIVE' \ -F 'daily_budget=15000' \ -F 'campaign_id=<CAMPAIGN_ID>' \ -F 'targeting= { \ "geo_locations": { \ "countries":["US"], \ }, \ "interests":[ \ {"id":6003397425735,"name":"Tennis"}, \ ], \ }' \ -F 'promoted_object={"product_set_id”:<PRODUCT_SET_ID>}' \ -F 'access_token=<ACCESS_TOKEN>’ \ https://graph.facebook.com/<API_VERSION>/act_<ACCOUNT_ID>/adsets
商品セット間でのクロスセルを実施するには、次のようにします。
product_set_id
を商品セットBに設定します。 例えば、ビジネスが、PRODUCT_SET_1に含まれるハンドバッグの売り上げを伸ばすためにPRODUCT_SET_2に含まれる靴に関心を示した既存の利用者を広告のターゲットにしたいと考えているとします。その場合は、次のようにしてproduct_audience_specs
のproduct_set_id
をPRODUCT_SET_2のID (靴)に設定し、promoted_object
のproduct_set_id
をPRODUCT_SET_1のID (ハンドバッグ)に設定します。
curl \
-F 'name=My cross sell ad set' \
-F 'bid_amount=3000' \
-F 'billing_event=LINK_CLICKS' \
-F 'optimization_goal=LINK_CLICKS' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={
"geo_locations": {"countries":["US"]},
"product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_2_ID>",
"inclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"ViewContent"}}}],
"exclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"Purchase"}}}]
}
],
"excluded_product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_2_ID>",
"inclusions": [{"retention_seconds":259200,"rule":{"event":{"eq":"ViewContent"}}}]
}
]
}' \
-F 'promoted_object={"product_set_id":"<PRODUCT_SET_1_ID>"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adsets
さらに、クリエイティブのproduct_set_id
をPRODUCT_SET_1のIDに設定します。
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
既存のカスタマーへのリターゲットとクロスセルに加えて、Advantage+カタログ広告では、年齢、性別、その他の利用者データに基づくターゲット設定を利用して、幅広いオーディエンスをターゲットに設定して自社の商品カタログにある関連商品を宣伝することができます。Advantage+カタログ広告では、ターゲットを広げたオーディエンスと、オフサイトコンバージョンのための入札を組み合わせることで、自社の広告のリーチを効率的に拡張することができます。
幅広いオーディエンスをターゲットとして設定するには、次のようにします。
Purchase
やInitiateCheckout
など、より強いインテントシグナルを使用してOFFSITE_CONVERSIONS
のcustomOptimize
を含める。この例では、米国在住の30~65歳の女性をターゲットに広告セットを作成し、過去10日間に購入を行ったカスタマーはターゲットから除外します。また、PURCHASE
イベントのOFFSITE_CONVERSIONS
を使用して$8で入札します。
curl \
-F 'name=Broad Audience Targeting' \
-F 'bid_amount=800' \
-F 'billing_event=IMPRESSIONS' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={
"age_max": 65,
"age_min": 30,
"geo_locations": {"countries":["US"]},
"genders": [2],
"excluded_product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_ID>",
"inclusions": [{"retention_seconds":864000,"rule":{"event":{"eq":"Purchase"}}}]
}
]
}' \
-F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>","custom_event_type":"PURCHASE"}' \
-F 'optimization_goal=OFFSITE_CONVERSIONS' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adsets
住宅、雇用、信用、社会問題、選挙、政治に関する広告を掲載する広告主には、それぞれ異なる一連の制限が課されます。詳しくは、特別な広告カテゴリを参照してください。
Advantage+カタログ広告のカテゴリでは、Advantage+カタログ広告プラットフォーム用の2つの新しいクリエイティブオプションが導入されています。どちらも、意思決定過程の早い段階にいる買い物客向けにクリエイティブをパーソナライズするために使うことができます。この機能を使用すると、既存の商品画像のカタログに加えて、各カテゴリを表す画像の、比較的小さいいわゆる2次クリエイティブカタログを作成できます。その後、商品を利用者とマッチングするのと同じように、商品カタログを広告の利用者とマッチングします。
Advantage+カタログ広告のカテゴリは、トラフィック、コンバージョン、カタログ販売目的のどのターゲティングオプションでも使うことができます。各カテゴリやブランドを表す高品質の画像がない場合、Facebookは各商品グループの上位商品の2x2コラージュを自動生成できます。
この新しい画像を既存の商品カタログにマッピングする際、アイテムのグループ化のため、フィードの中の3つの列、つまりブランド、商品タイプ、およびGoogle商品カテゴリのうちの1つを使うことができます。
下記のサンプルカタログの場合、商品タイプ列には5つの固有の値があります。広告主は、最大5つのコラージュまたはライフスタイルの画像を提供できます(product_type
の固有の値ごとに1つ)。商品タイプはカテゴリのカテゴリ基準であり、カテゴリを定義するために使われるカタログフィールド名です。カタログフィールドの値は、カテゴリの条件値です。
カテゴリは、次の要素によって一意に識別できます。
小売店 | ID名 | 価格 | 商品タイプ | ブランド | カテゴリ |
---|---|---|---|---|---|
| Tシャツ | USD 25 | 衣類 | ブランドA | カテゴリA |
| FB Hoodie | USD 30 | 衣類 | ブランドB | カテゴリA |
| iPhone 6 | USD 800 | スマートフォン | ブランドC | カテゴリB |
| Samsung Galaxy S5 | USD 750 | 携帯電話 | ブランドC | カテゴリB |
| 炊飯器 | USD 120 | 家電製品 | ブランドC | カテゴリC |
| Parker Sofa | USD 500 | 家電製品 | ブランドD | カテゴリC |
| 日焼け止め | USD 14 | パーソナルケア | ブランドE | カテゴリE |
各カテゴリ(上記で指定した列のいずれかに固有の値で定義された商品の各グループなど)をアセットと関連付けることができます。
destination_uri
— ユーザーがカテゴリをクリックしたときのランディングページのURL。image_url
— 任意。カテゴリを表すライフスタイル画像のURL。image_url
が指定されていない場合、そのカテゴリの上位商品のコラージュが自動生成されます。広告配信時に、今日のAdvantage+カタログ広告を提供している機械学習モデルの使用に基づいて、各アカウントセンターアカウントを、最も反応を示しそうなカテゴリに動的にマッチングします。
カテゴリ情報はカタログレベルで保存されます。これは、商品を宣伝する広告がカタログで定義されたアセットを共有するのと同じように、同じカタログのカテゴリを宣伝するさまざまな広告がアセットを共有することを意味します。カテゴリ広告をカスタマイズするためのさまざまな広告クリエイティブのオプションがサポートされています。
以下に、カテゴリ情報を取得および更新するためのAPIを示します。
リクエスト
curl -G \
-d 'fields=["criteria_value","name","description","destination_uri","image_url"]' \
-d 'categorization_criteria=product_type' \
-d 'filter={"price_amount":{"gt":1500}}' \ # optional
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/<PRODUCT_CATALOG_ID>/categories
すべての製品からのクエリにより(オプションフィルターがサポートされている)、上位1,000件のカテゴリ(製品数順)を検索します。
応答の例
{ "data": [ { "criteria_value": "clothes", "name": "Awesome clothes", "description": "Check out these awesome clothes!", "destination_uri": "http://www.example.com/clothes", "image_url": "http://www.example.com/clothes.jpg" }, ... { "criteria_value": "shoes", "name": "Awesome shoes", "description": "Check out these awesome shoes!", "destination_uri": "http://www.example.com/shoes", "image_url": "http://www.example.com/shoes.jpg" } ] }
データに複数のカテゴリ情報を指定できます。カテゴリごとに、categorization_criteria
とcriteria_value
が必須です。一方、name
、description
、destination_uri
、image_url
の各フィールドは任意です。カテゴリの情報を初めて更新する場合は、destination_uri
を指定する必要があります。カテゴリの配信は、destination_uri
を空に設定するだけでスキップできます。
注: 現在のところ、カテゴリの削除はサポートされていません。
リクエスト
curl \
-F 'data=[{"categorization_criteria":"product_type","criteria_value":"product_type_value","name":"Name","description":"Description","destination_uri":"http://www.example.com/","image_url":"<IMAGE_URL>"}]' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/<lPRODUCT_CATALOG_ID>/categories
Advantage+カタログ広告のカテゴリの広告作成は他のAdvantage+カタログ広告の広告作成と似ていますが、クリエイティブの選択は少し異なります。依然としてダイナミックカテゴリ広告を含む商品セットを宣伝しますが、Facebookは代わりに、カテゴリのクリエイティブを表示します。
curl \
-F "name=Dynamic Category Ad Creative" \
-F 'object_story_spec={"page_id": "<PAGE_ID>", "template_data": {"description": "{{category.description}}", "link": "https://www.example.com/", "message": "<MESSAGE>", "name": "{{category.name}}"}}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'categorization_criteria=brand' \
-F 'category_media_source=MIXED' \ # optional
-F access_token=<ACCESS_TOKEN> \
https://graph.facebook.com/v19.0
/act_<ACCOUNT_ID>/adcreatives
これにより、カルーセル形式でレンダリングされるカテゴリ広告クリエイティブが作成されます。
以下のカテゴリトークンがサポートされています。
category.name
— 宣伝する商品セット内のカテゴリ名。 category.description
— 宣伝する商品セット内のカテゴリの説明。 category.destination_uri
— カテゴリの宛先URI。category.min_price
— 宣伝する商品セット内のこのカテゴリの最低価格。この情報は、カタログから取得されます。 パラメーター
名前 | 説明 |
---|---|
| 使用するカテゴリタイプを指定します。
|
| カテゴリカルーセルカードのレンダリング方法を指定します。
|
カテゴリ広告クリエイティブの作成時に、レンダリング可能なカテゴリを検索します。
注:名前やリンク先URLのないカテゴリはフィルターで除外されます。category_media_source = category
の場合、画像のないカテゴリもフィルターで除外されます。
対象カテゴリが4つ未満の場合はクリエイティブの作成に失敗します(例えば、特定のキャンペーンのクリエイティブとしてAdvantage+カタログ広告のカテゴリを使うには、データフィードファイルの特定の列に少なくとも4つの固有の値が必要です)。
Advantage+カタログ広告テンプレートでは、Advantage+カタログテンプレートクリエイティブを作成するため、インラインページ投稿を使います。
Advantage+カタログ広告テンプレートクリエイティブの作成方法は、他の広告クリエイティブを作成する場合とほとんど同じです。異なるのは、実行時にデータフィードファイル内のデータに基づいて適切に処理できるテンプレートパラメーターを追加できるという点です。
object_story_spec
のtemplate_data
オブジェクトに基づき、以下のフィールドを使用してテンプレートを作成します。
名前 | 説明 | テンプレートパラメーターを受け入れるかどうか |
---|---|---|
オブジェクト | コールトゥーアクションオブジェクト。 | いいえ |
文字列 | 広告のメッセージ。Instagramで表示されます。 | はい |
文字列 | 該当ウェブサイトへのリンク。広告のキャプション生成のために使用。 | いいえ |
文字列 | 広告の名前またはタイトル。Instagramでは表示されます。 | はい |
文字列 | 広告の説明。Instagramでは非表示。 | はい |
ブーリアン | 任意。 | いいえ |
ブーリアン | 単一商品のカルーセルに複数の画像を表示します。 | いいえ |
ブーリアン | 任意。 | いいえ |
整数 | 追加の画像配列のどの画像を広告画像として使うかを示します。これはゼロを基点とする0~19の範囲のインデックスです。 | いいえ |
配列 | カルーセル形式のAdvantage+カタログ広告の中に1つ以上の静的カードを提供できるようにします。 | いいえ |
| 画像が広告でユーザーに配信される際に、どのように変換されるかを指定します。 | いいえ |
| ダイナミックアイテムの画像上にオーバーレイを表示する方法を指定します。 | いいえ |
配列 | 画像にタグを追加した場合、使用する画像を選択します。 | いいえ |
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
curl \ -F 'name=Advantage+ Catalog Ads Template Creative Sample' \ -F 'object_story_spec={ "page_id": "<PAGE_ID>", "template_data": { "call_to_action": {"type":"SHOP_NOW"}, "description": "Description {{product.description}}", "link": "<LINK>", "message": "Test {{product.name | titleize}}", "name": "Headline {{product.price}}", "image_layer_specs": [ { "layer_type": "image", "image_source": "catalog" }, { "layer_type": "frame_overlay", "blending_mode": "lighten", "frame_image_hash": "<HASH>", "frame_source": "custom", "opacity": 100, "overlay_position": "center", "scale": 100 }, { "layer_type": "text_overlay", "content": { "type": "price" }, "opacity": 100, "overlay_position": "top_left", "overlay_shape": "rectangle", "shape_color": "DF0005", "text_color": "FFFFFF", "text_font": "open_sans_bold" } ] } }' \ -F 'product_set_id=<PRODUCT_SET_ID>' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"force_single_link": true,
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
additional_image_index
を指定したAdvantage+カタログ広告をプレビューするには、object_story_spec
全体を/generatepreviews
エンドポイントに渡す必要があります。object_story_id
を渡すだけでは、プレビューは生成されません。
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"additional_image_index": 0,
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
curl -X POST \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": <PAGE_ID>,
"template_data": {
"message": "Test {{product.name | titleize}}",
"link": "<YOUR_LINK_URL>",
"name": "Headline {{product.price}}",
"description": "Description {{product.description}}",
"multi_share_end_card": false,
"force_single_link": true,
"show_multiple_images": true,
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"child_attachments": [
{
"call_to_action": {"type":"SHOP_NOW"},
"description": "30% off",
"image_hash": "<IMAGE_HASH>",
"link": "https:\/\/www.link.com\/coupon",
"name": "Coupon Static Card",
"static_card": true
},
{
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"name": "Headline {{product.price}}"
}
],
"link": "<LINK>",
"message": "Test Message"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
カルーセル内の各ダイナミックカードをスライドショーとしてレンダリングします。アイテムに複数の画像がある場合は、スライドショーごとに1つのダイナミックアイテムの各画像が表示されます。ダイナミックアイテムの画像が1つのみの場合、カードを静的画像としてレンダリングします。
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "PAGE_ID",
"template_data": {
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"link": "LINK",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}",
"format_option": "carousel_slideshows"
}
}' \
-F 'product_set_id=PRODUCT_SET_ID' \
-F 'access_token=ACCESS_TOKEN' \
https://graph.facebook.com/v19.0
/AD_ACCOUNT_ID/adcreatives
これらの呼び出しに対する応答は、新しいAdvantage+カタログ広告テンプレートクリエイティブのIDです。
{"id":"creative_id"}
カタログをアップロードするときには、各画像のそれぞれのプロパティに任意の英数字文字列のタグを指定できます。
<listing> <hotel_id>hotel_1</hotel_id> ... <image> <url>https://media-cdn.tripadvisor.com/media/photo-o/05/ca/40/af/the-epiphany-a-joie-de.jpg (https://l.facebook.com/l.php?u=https%3A%2F%2Fmedia-cdn.tripadvisor.com%2Fmedia%2Fphoto-o%2F05%2Fca%2F40%2Faf%2Fthe-epiphany-a-joie-de.jpg&h=ATPTuLcCa7Vsnmn07cEVa0YseTFl1C2hOax9NezejmXDbR48w3CLdjLlwlpuGCRDQmuafQvk03ybGqfhk-2mBcH7xtuKAsnuuq9xKwBd8DwfuBMZkq3n1qX5MdychRKGy2bo2ax9BZQzgqVDY_AvC1EqE6aAdUEc)</url> <tag>exterior</tag> <tag>first image</tag> <tag>tree</tag> </image> <image> <url>http://www3.hilton.com/resources/media/hi/DFWANHH/en_US/img/shared/full_page_image_gallery/main/HH_exteriorview001_1270x560_FitToBoxSmallDimension_Center.jpg (http://l.facebook.com/l.php?u=http%3A%2F%2Fwww3.hilton.com%2Fresources%2Fmedia%2Fhi%2FDFWANHH%2Fen_US%2Fimg%2Fshared%2Ffull_page_image_gallery%2Fmain%2FHH_exteriorview001_1270x560_FitToBoxSmallDimension_Center.jpg&h=ATPTuLcCa7Vsnmn07cEVa0YseTFl1C2hOax9NezejmXDbR48w3CLdjLlwlpuGCRDQmuafQvk03ybGqfhk-2mBcH7xtuKAsnuuq9xKwBd8DwfuBMZkq3n1qX5MdychRKGy2bo2ax9BZQzgqVDY_AvC1EqE6aAdUEc)</url> <tag>skyline</tag> ... </image> ... </listing>
広告素材を作成する際には、preferred_image_tags
の配列をobject_story_spec
で渡すことができます。
curl \
-F 'name=Ad Creative Test'\
-F 'object_story_spec={
"page_id": '<PAGE_ID>',
"template_data": {
"preferred_image_tags": ["skyline","exterior"],
"call_to_action": {"type":"BOOK_TRAVEL"},
"description": "{{hotel.description}}",
"link": "<URL>",
"message": "Book your stay in {{hotel.city}}",
"name": "{{hotel.name | titleize}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Advantage+カタログ広告の作成に関する主な手順も同じです。動画を有効にするには、動画データを組み込み、カタログ内でそのデータを提供します。カタログを作成したり、更新したりする際に必要な変更については、以下を参照してください。
この例では、XMLファイルを使用しますが、他のフォーマットを使用する場合も同様に実行する必要があります。
動画をリスティングに追加する場合、url
フィールドとtag
フィールドがサポートされます。現在のところ、商品ごとにサポートされる動画は1つのみです。
<?xml version="1.0" encoding="utf-8"?> <listings> <title>Test hotel feed</title> <listing> <hotel_id>hotel_1</hotel_id> <name>Test Hotel 1</name> <description>A very nice hotel</description> <brand>Facebook</brand> <address format="simple"> <component name="addr1">180 Hamilton Ave</component> <component name="city">Palo Alto</component> <component name="city_id">12345</component> <component name="region">California</component> <component name="postal_code">94301</component> <component name="country">United States</component> </address> <latitude>37.4435997</latitude> <longitude>-122.1615219</longitude> <neighborhood>Palo Alto</neighborhood> <neighborhood>Silicon Valley</neighborhood> <margin_level>8</margin_level> <base_price>200.5 USD</base_price> <phone>+1 650 666-3311</phone> <star_rating>2.5</star_rating> <guest_rating> <score>7.8</score> <rating_system>tripAdvisor</rating_system> <number_of_reviewers>300</number_of_reviewers> </guest_rating> <guest_rating> <score>9.8</score> <rating_system>Hotels.com</rating_system> <number_of_reviewers>35000</number_of_reviewers> </guest_rating> <image> <url>https://media-cdn.tripadvisor.com/media/photo-o/05/ca/40/af/the-epiphany-a-joie-de.jpg</url> <tag>front view</tag> <tag>first image</tag> </image> <image> <url>http://www.jdvhotels.com/content/uploads/2014/06/72-1200x800.jpg</url> <tag>room</tag> <tag>bed</tag> </image> <loyalty_program>Starwood</loyalty_program> <url>http://www.jdvhotels.com/hotels/california/silicon-valley-hotels/the-epiphany-hotel/</url> <applink property="ios_url" content="example-ios://electronic"/> <applink property="ios_app_store_id" content="42"/> <applink property="ios_app_name" content="Electronic Example iOS"/> * <video> <url>http://example.com/some_video1.mp4</url> <tag>City</tag> <tag>Package</tag> </video>* </listing> </listings>
APIを使用して、アップロードしたデータを確認できます。すべてのアイテムについて、「動画メタデータ」を照会できます。
curl -i -X GET \
"https://graph.intern.facebook.com/v19.0
/1234567890?fields=videos_metadata.fields(video,tags,url)&access_token=<ACCESS TOKEN>"
広告で製品レベルの動画コンテンツを有効にするには、ダイナミックメディアで広告を作成するのドキュメントをご覧ください。
最終的な商品URLにリダイレクトする前に、サードパーティのクリックトラッカーを使ってリンクのクリック数をトラッキングする場合、広告クリエイティブの中でtemplate_url_spec
フィールドを使うことができます。これにより、データフィードファイルの中にハードコーディングすることなく、広告レベルでクリックトラッカーテンプレートを追加することができます。また、このフィールドを使って、ディープリンク用のテンプレートを作成することもできます。
このフィールドでは、商品のURLやIDなどのダイナミックフィールドを使うことができます。ただし、URLには使えない文字が含まれている可能性がある場合、それらのフィールドはURLエンコードする必要があります。
カルーセル形式のAdvantage+カタログ広告テンプレートを、template_url_spec
を設定して作成するには、次のようにします。
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"description": "Description {{product.description}}",
"link": "<URL>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'template_url_spec={
"ios": {
"app_store_id": "123",
"url": "example:\/\/link\/?nav=item.view&id={{product.retailer_id | urlencode}}&referrer=http:\/\/rover.example.com\/rover\/1\/711-198453-24755-9\/16%3Fitemid={{product.retailer_id | urlencode | urlencode}}"
},
"web": {
"url": "http:\/\/clicktrack.com\/cm325?id={{product.retailer_id | urlencode}}&redirect_url={{product.url | urlencode | urlencode}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
広告が表示される際には、Facebookにより、{{ }}
セクションのコンテンツが、データフィードファイルの適切な値に置き換えられます。利用できるテンプレート値は次のとおりです。
名前 | 説明 |
---|---|
| データフィードファイルから得られたアイテムの |
| 商品に特売価格が指定されている場合の、形式設定された特売価格。任意で、商品の特売の開始日と終了日を指定すれば、アイテムのセール中は |
| データフィードファイルから得られたアイテムの |
| データフィードファイルから得られたアイテムの |
| 書式設定された |
| データフィードファイルから得られたアイテムの |
| データフィードファイルから得られたアイテムの |
| データフィードファイルから得られたアイテムの |
| データフィードファイルから得られたアイテムの |
| データフィードファイルから得られたアイテムの |
| データフィードファイルから得られたアイテムの |
| データフィードファイルから得られたアイテムの |
一部のテンプレート値には、次の形式のオプションを任意の順序で指定できます。
{{field option1 option2 ...}}
指定可能なオプションは次のとおりです。
オプション | 説明 | 対応するテンプレート値 |
---|---|---|
| 通貨記号を省略します |
|
| セントがゼロの場合に、通貨のセント部分を省略します。 |
|
| 価格の端数を切り上げる際に、通貨のセントの額を省略します | すべての価格フィールド |
次の形式に基づいて値を調整する変換を指定したテンプレート値を使用できます。
{{field | transform}}
次のいずれかの変換を使用します。
変換 | 説明 |
---|---|
| 数値をデフォルトの形式にします。桁区切り記号にコンマを使い、最も近い整数に丸めます(例: 1234.56→1.235)。形式設定の対象となる値は、形式設定されていない数値("1,234"ではなく"1234")である必要があります。 |
| タイトルの見栄えを良くするため、単語の先頭を大文字に変換します(例: "box"→"Box")。 |
| 値をURL用にエンコードします。 |
ダイナミッククリエイティブを使う場合は、利用者がネイティブFacebookアプリで広告をクリックした際の動作を指定することができます。ディープリンクを使用するには、次の2つの要件があります。
この要件がいずれも満たされていれば、利用者が広告をクリックした際の動作を、広告クリエイティブの作成時にapplink_treatment
フィールドを使って指定できます。
名前 | 説明 |
---|---|
| 利用者は常に指定したウェブURLに送られます。 |
| ユーザーのスマートフォンにアプリがインストールされていて、対応するディープリンク情報があれば、そのユーザーはアプリに移動します。これらの条件のいずれかが満たされない場合は、利用者はウェブサイトに送られます。 |
| 製品に対するApp Linksが存在する場合のデフォルト。ユーザーのスマートフォンにアプリがインストールされていて、対応するディープリンク情報があれば、そのユーザーはアプリに移動します。アプリがインストールされていない場合、ユーザーはそのアプリのアプリストアに誘導されます。 |
ネイティブアプリが利用可能であればそのアプリにディープリンクし、利用可能でなければウェブにフォールバックするコールトゥーアクションが設定されたカルーセル形式のAdvantage+ カタログ広告テンプレートの作成
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'applink_treatment=deeplink_with_web_fallback' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
ネイティブアプリが利用可能であればそのアプリにディープリンクし、利用可能でなければそのアプリのアプリストアにフォールバックするURLタグが有効にされたカルーセル形式のAdvantage+カタログ広告テンプレートの作成
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'applink_treatment=deeplink_with_appstore_fallback' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Advantage+カタログ広告用のローカライズカタログで詳細情報をご覧ください。
これまでのステップを完了した上で、広告を作成できます。広告では、広告クリエイティブを参照します。
お疲れさまでした。初めてのAdvantage+カタログ広告を作成できました。一時停止の状態を解除すれば、広告の配信を開始することができます。
Advantage+カタログ広告は、Instagramストーリーズの広告として公開すると、元の画像のサイズに関係なく1:1にトリミングされます。
広告プレビューエンドポイントを使えば、ダイナミッククリエイティブのプレビューを生成できます。product_item_ids
パラメーターを指定するか、複数のproduct_item_ids
を指定すると、カルーセル広告をプレビューできます。
名前 | 説明 |
---|---|
配列[文字列] | 商品FBIDまたはBase64 URLエンコードの商品IDトークンのリスト。 |
商品ごとの統計をフェッチするには、インサイトエンドポイントに対してGET
呼び出しを実行します。product_id
をfields
パラメーターに追加します。
これにより、Advantage+カタログ広告に表示されたアカウントの商品セット内のすべての商品についての統計が表示されます。
この例では、各product_id
について、clicks
、actions
、impressions
が報告されます。
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Fields\AdsInsightsFields;
use FacebookAds\Object\Values\AdsInsightsActionBreakdownsValues;
use FacebookAds\Object\Values\AdsInsightsDatePresetValues;
use FacebookAds\Object\Values\AdsInsightsBreakdownsValues;
$account = new AdAccount('act_<AD_ACCOUNT_ID>');
$fields = array(
AdsInsightsFields::ACCOUNT_NAME,
AdsInsightsFields::IMPRESSIONS,
AdsInsightsFields::ACTIONS,
);
$params = array(
'date_preset' => AdsInsightsDatePresetValues::LAST_WEEK,
'action_breakdowns' => array(
AdsInsightsActionBreakdownsValues::ACTION_TYPE,
),
'breakdowns' => array(
AdsInsightsBreakdownsValues::PRODUCT_ID,
),
);
$stats = $account->getInsights($fields, $params);
from facebookads.adobjects.adaccount import AdAccount
from facebookads.adobjects.adsinsights import AdsInsights
account = AdAccount('act_<AD_ACCOUNT_ID>')
fields = [
AdsInsights.Field.account_name,
AdsInsights.Field.impressions,
AdsInsights.Field.actions,
]
params = {
'date_preset': 'last_week',
'actions_group_by': ['action_type'],
'breakdowns': [
AdsInsights.Breakdowns.product_id,
],
}
stats = account.get_insights(fields=fields, params=params)
APINodeList<AdsInsights> adsInsightss = new AdAccount(act_<AD_ACCOUNT_ID>, context).getInsights()
.setDatePreset(AdsInsights.EnumDatePreset.VALUE_LAST_WEEK)
.setActionBreakdowns("[\"action_type\"]")
.setBreakdowns("[\"product_id\"]")
.requestField("account_name")
.requestField("impressions")
.requestField("actions")
.execute();
curl -G \
-d 'date_preset=last_week' \
-d 'action_breakdowns=["action_type"]' \
-d 'breakdowns=["product_id"]' \
-d 'fields=account_name,impressions,actions' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.8/act_<AD_ACCOUNT_ID>/insights
{ "data": [ { "account_id": "123456", "product_id": "60750", "date_start": "2015-02-03", "date_stop": "2015-02-03", "impressions": 880, "clicks": 8, "actions": [ { "action_type": "link_click", "value": 6 }, { "action_type": "offsite_conversion.other", "value": 5 }, { "action_type": "offsite_conversion", "value": 5 } ], "account_name": "My Account" }, ], ... }
Advantage+カタログ広告投稿について、コメント、「いいね!」、product_id
を取得することができます。次のようにpost_id
を指定してGET
呼び出しを実行します。post_id
は、広告クリエイティブのeffective_object_story_id
であり、その形式はPageID_PostID
です。
注: このエンドポイントを使ってInstagramからコメントを取り出すことはできません。
curl -G \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/<POST_ID>/dynamic_posts
このエンドポイントは、ダイナミック投稿オブジェクトを返します。
ダイナミック投稿を取得したら、カルーセル形式のcomments
、likes
、product_id
、child_attachments
をフェッチできます(該当するものがある場合)。
配置アセットカスタマイズ広告は、dynamic_posts
エッジからは返されません。