ショップ広告

ショップ広告は、潜在顧客をウェブサイトまたはショップのどちらか購入の可能性の高いと思われる方に自動的に誘導することにより、広告のパフォーマンスを向上させるためのソリューションです。

はじめに

コンバージョンの場所をウェブサイトとショップとして、商品カタログ販売またはコンバージョン広告を作成するには、以下が必要です。

ステップ1: キャンペーンを作成する

まず、/act_{ad_account_id}/campaignsに対してPOSTリクエストを発行することにより、広告キャンペーンを作成します。

このレベルでは、objective(目的)フィールドを通じて広告の目標を設定する必要があります。ショップ広告の場合、サポートされる目的は、成果に基づく新しい広告エクスペリエンス(ODAX)以外の場合はPRODUCT_CATALOG_SALESCONVERSIONS、ODAXの場合はOUTCOME_SALESの目的です。

  • PRODUCT_CATALOG_SALESの目的の場合、promoted_objectは商品カタログIDです。ショップ広告を利用するには、商品カタログがオンサイトショップにリンクされている必要があることに注意してください。
  • CONVERSIONSの目的の場合、promoted_objectフィールドは不要です。

ODAX以外の目的の例

PRODUCT_CATALOG_SALESの目的でキャンペーンを作成する例

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

CONVERSIONSの目的でキャンペーンを作成する例

curl \
  -F 'name=Conversion Campaign' \
  -F 'objective=CONVERSIONS' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/campaigns

ODAXの目的の例

OUTCOME_SALESの目的でPRODUCT_CATALOG_SALESキャンペーンを作成する例

curl \
  -F 'name=Conversion Campaign' \
  -F 'objective=OUTCOME_SALES' \
  -F 'promoted_object={"product_catalog_id":"<PRODUCT_CATALOG_ID>"}' \
  -F 'status=PAUSED' \
  -F 'special_ad_categories=[]' \
  -F 'access_token=<ACCESS_TOKEN>' \ 
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/campaigns

OUTCOME_SALESの目的でCONVERSIONSキャンペーンを作成する例

curl \
  -F 'name=Conversion Campaign' \
  -F 'objective=OUTCOME_SALES' \
  -F 'status=PAUSED' \
  -F 'special_ad_categories=[]'
  -F 'access_token=<ACCESS_TOKEN>' \ 
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/campaigns

ステップ2: 広告セットを作成する

ショップ広告の場合は、広告セットのデスティネーションタイプとしてSHOP_AUTOMATICを指定する必要があります。

  • キャンペーンの目的がPRODUCT_CATALOG_SALESに設定されている場合、その商品セットの商品を宣伝するには、promoted_objectに商品セットIDを入力する必要があります。
  • キャンペーンの目的がCONVERSIONSに設定されている場合、promoted_objectを、オンサイトチェックアウトが有効になっているコマースアカウントになるように定義してください。

ショップ広告のその他の要件:

  • ショップ広告の場合、商品セットの中で(目的がPRODUCT_CATALOG_SALESの場合)、またはMetaピクセルの中で(目的がCONVERSIONSの場合)、サポートされるコンバージョンイベント(CUSTOM_EVENT_TYPE)はPURCHASEだけです。
  • ショップ広告でサポートされるのは、オフサイトコンバージョン用の最適化だけです(OFFSITE_CONVERSIONSoptimization_goal)。
  • ショップ広告でサポートされる入札戦略は、平均目標達成単価上限なしの入札戦略だけです。
  • ショップ広告をショップに配信するには、ターゲット設定に、オンサイトチェックアウトサポートのある地域(現在のところ米国)のオーディエンスが含まれていなければなりません。
  • ショップ広告をショップに配信するには、配置に、オンサイトチェックアウトサポートのあるプラットフォーム(現在のところFacebookとInstagram)の少なくとも1つが含まれていなければなりません。

IMPRESSIONSに対して請求され、PRODUCT_CATALOG_SALESを目的とするキャンペーンのショップ広告の広告セットを作成する例

curl \
  -F 'name=Product Catalog Sales Adset' \
  -F 'bid_amount=3000' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'daily_budget=15000' \
  -F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={"geo_locations": {"countries":["US"]} }' \
  -F 'destination_type=SHOP_AUTOMATIC' \
  -F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>","custom_event_type": "PURCHASE"}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adsets 

IMPRESSIONSに対して請求され、CONVERSIONSを目的とするキャンペーンのショップ広告の広告セットを作成する例

curl \
  -F 'name=Conversion Adset' \
  -F 'bid_amount=3000' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'daily_budget=15000' \
  -F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={"geo_locations": {"countries":["US"]}}' \
  -F 'destination_type=SHOP_AUTOMATIC' \
  -F 'promoted_object={"omnichannel_object":{"onsite":[{"commerce_merchant_settings_id":"<COMMERCE_ACCOUNT_ID>"}],
  "pixel":[{"pixel_id": "<PIXEL_ID>","custom_event_type": "PURCHASE"}]}}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<D_ACCOUNT_ID>/adsets

ステップ3: クリエイティブを指定する

ショップ広告の広告セットを使って、次のものを作成できます

ショップ広告において以下はサポートされていません。

カルーセル広告または画像/動画広告

ショップ以外の広告と同じように、カルーセル広告を作成することもできます。キャンペーンの目的がCONVERSIONSの場合は、画像/動画広告を作成することもできます。

object_story_specの中でpage_idinstagram_actor_idが指定されている場合、広告セットでの宣伝対象として選択したコマースアカウント、またはキャンペーンでの宣伝対象として選択したカタログに属するショップが少なくとも1つなければなりません。それも同じコマースアカウントにリンクしている必要があります。

さらにショップ広告では、オフサイトランディングページの代替デスティネーションとしてオンサイトデスティネーションを指定する必要があります。そのためには、クリエイティブのasset_feed_specの中にonsite_destinationフィールドを設定します。

オンサイトデスティネーションは、以下のいずれかでなければなりません。

  • ショップストアフロントページ
    ショップは、広告セットの中で宣伝するコマースアカウントに属している必要があります。

  • 商品セット
    商品セットは、広告セットの中で宣伝するコマースアカウントのカタログに属していなければならず、在庫商品として表示可能な商品が少なくとも1つ含まれていなければなりません。

  • 商品
    商品は、広告セットの中で宣伝するコマースアカウントのカタログに属している必要があります。

asset_feed_specの中のonsite_destinationsフィールドをストアフロントページに設定する例

asset_feed_spec= {
  "onsite_destinations": [
    {
      "storefront_shop_id": "<SHOP_STOREFRONT_ID>"
    }
  ]
}

asset_feed_specの中のonsite_destinationsフィールドを商品セットに設定する例

asset_feed_spec= {
  "onsite_destinations": [
    {
      "shop_collection_product_set_id": "<PRODUCT_SET_ID>"
    }
  ]
}

asset_feed_specの中のonsite_destinationsフィールドを特定の商品に設定する例

asset_feed_spec= {
  "onsite_destinations": [
    {
      "details_page_product_id": "<PRODUCT_ID>"
    }
  ]
}

画像広告のクリエイティブの例

curl \
  -F 'name=Sample Creative' \
  -F 'asset_feed_spec= {
        "onsite_destinations": [
          {
            "storefront_shop_id": "<SHOP_STOREFRONT_ID>"
          }
        ]
      }' \
  -F 'object_story_spec={ 
    "link_data": { 
      "image_hash": "<IMAGE_HASH>", 
      "link": "<OFFSITE_LANDING_URL>", 
      "message": "try it out" 
    }, 
    "page_id": "<PAGE_ID>",
    "instagram_actor_id" : "<INSTAGRAM_ACTOR_ID>" 
  }' \
  -F 'degrees_of_freedom_spec={
      "creative_features_spec": {
        "standard_enhancements": {
          "enroll_status": "OPT_OUT"
        }
      }
    }' \ 
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

カルーセルフォーマットのAdvantage+カタログ広告

商品セットの商品を宣伝するカルーセル広告を作成するには、Advantage+カタログ広告スタートガイド - ステップ3: 広告クリエイティブを指定するの手順に従ってください。

object_story_specの中でpage_idinstagram_actor_idが指定されている場合、広告セットでの宣伝対象として選択したコマースアカウント、またはキャンペーンでの宣伝対象として選択したカタログに属するショップが少なくとも1つなければなりません。それも同じコマースアカウントにリンクしている必要があります。

クリエイティブの中の商品セットについて、

  • PRODUCT_CATALOG_SALESを目的とするキャンペーンを設定する場合、選択する商品セットは、キャンペーンの中で設定するカタログに属していなければならず、広告セットの中で宣伝する商品セットと同じでなければなりません。
  • CONVERSIONSを目的としてキャンペーンを設定する場合、選択する商品セットは、広告セットでの宣伝対象として選択したコマースアカウントのカタログに属していることが必要です。

ショップ広告でサポートされている追加機能は、ショップを対象として最適化されています。広告パフォーマンスが改善される可能性があると考えられる場合、さまざまな最適化が自動的に広告に追加されます。これをオプトインするには、クリエイティブのasset_feed_specの中でshops_bundletrueに設定します(これにはその時点での自動化商品タグと買い物する理由の両方、加えて将来的にはその他の最適化が含まれます)。

現在サポートされているショップの最適化は、次のとおりです。

  • 自動化商品タグ: 広告内の商品が自動的にタグ付けされる場合があります。商品タグは、ショップ内の関連する商品ページに直接誘導します。
  • 買い物の理由: 「送料無料」「今売れてます」「在庫残りわずか」など、ショップの商品情報が自動的にハイライトされることがあります。既存のオファーが追加されることもあます。それにより顧客は、ショップの中でそれまでに選択したアイテムを選択する手間が省けます。

自動化商品タグをオプトインするには、object_story_spectemplate_dataの中で、automated_product_tagstrueに設定します。買い物をする理由をオプトインするには、クリエイティブのasset_feed_specの中で、reasons_to_shoptrueに設定します。

完全自動化ショップ最適化をオプトインした商品セットを宣伝するカルーセル広告の例


shops_bundleを対象にオプトイン

curl \
  -F 'name=Sample Creative' \
  -F 'product_set_id="<PRODUCT_SET_ID>"' \
  -F 'asset_feed_spec= {
        "shops_bundle": true
      }'\
  -F 'object_story_spec={ 
    "template_data": { 
      "call_to_action":  {
            "type": "SHOP_NOW"
          },
      "link": "<OFFSITE_LANDING_URL>",
      "multi_share_end_card": false,
      "name": "{{product.name}}"
    }, 
    "page_id": "<PAGE_ID>",
    "instagram_actor_id": "<INSTAGRAM_ACTOR_ID>" 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives


automated_product_tagsを対象にオプトイン

curl \
  -F 'name=Sample Creative' \
  -F 'product_set_id="<PRODUCT_SET_ID>"' \
  -F 'object_story_spec={ 
    "template_data": {
      "automated_product_tags": true
      "call_to_action":  {
            "type": "SHOP_NOW"
          },
      "link": "<OFFSITE_LANDING_URL>",
      "multi_share_end_card": false,
      "name": "{{product.name}}"
    }, 
    "page_id": "<PAGE_ID>",
    "instagram_actor_id": "<INSTAGRAM_ACTOR_ID>"
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives 

reasons_to_shopを対象にオプトイン

curl \
  -F 'name=Sample Creative' \
  -F 'product_set_id="<PRODUCT_SET_ID>"' \
  -F 'asset_feed_spec= {
        "reasons_to_shop": true
      }'\
  -F 'object_story_spec={ 
    "template_data": { 
      "call_to_action":  {
            "type": "SHOP_NOW"
          },
      "link": "<OFFSITE_LANDING_URL>",
      "multi_share_end_card": false,
      "name": "{{product.name}}"
    }, 
    "page_id": "<PAGE_ID>",
    "instagram_actor_id": "<INSTAGRAM_ACTOR_ID>" 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

注:

  • ショップ広告では、Advantage+カタログ広告のカテゴリがサポートされていません。
  • 自動化商品タグ最適化でサポートされるのは、Instagramの場合だけです。

カタログ用Advantage+クリエイティブ

ショップ広告では、カタログ用Advantage+クリエイティブもサポートされています。この機能を使うと、アカウントセンターの各アカウントが最も反応しそうなフォーマットや広告クリエイティブを選んで表示することができます。

カタログ用Advantage+クリエイティブ - ステップ3: 広告クリエイティブの説明に従うことにより、クリエイティブを設定することができます。

object_story_specの中でpage_idinstagram_actor_idが指定されている場合、広告セットでの宣伝対象として選択したコマースアカウント、またはキャンペーンでの宣伝対象として選択したカタログに属するショップが少なくとも1つなければなりません。それも同じコマースアカウントにリンクしている必要があります。

クリエイティブの中の商品セットについて、

  • PRODUCT_CATALOG_SALESを目的とするキャンペーンを設定する場合、選択する商品セットは、キャンペーンの中で設定するカタログに属していなければならず、広告セットの中で宣伝する商品セットと同じでなければなりません。
  • CONVERSIONSを目的とするキャンペーンを設定する場合、選択する商品セットが、広告セットの中で宣伝するコマースアカウントのカタログに属している必要があります。

カタログ用Advantage+クリエイティブの例

curl \
  -F 'name=Sample Creative' \
  -F 'product_set_id="<PRODUCT_SET_ID>"' \
  -F 'asset_feed_spec= {
    "optimization_type":"FORMAT_AUTOMATION",
    "ad_formats": ["CAROUSEL", "COLLECTION"],
    "images": [{"hash": "<CUSTOMIZED_IMAGE_HASH>"}],
    "descriptions": [{"text": "{{product.description}}", "From {{product.current_price}}", ...]
    } 
   }'\
  -F 'object_story_spec={ 
    "template_data": { 
      "call_to_action":  {
            "type": "SHOP_NOW"
          },
      "link": "<OFFSITE_LANDING_URL>",
      "multi_share_end_card": false,
      "name": "{{product.name}}"
    }, 
    "page_id": "<PAGE_ID>",
    “instagram_actor_id” : “<INSTAGRAM_ACTOR_ID>” 
  }' \
  -F 'degrees_of_freedom_spec={
      "creative_features_spec": {
        "standard_enhancements": {
          "enroll_status": "OPT_OUT"
        }
      }
    }' \ 
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adcreatives

ステップ4: 広告を作成する

最後に、クリエイティブを参照する広告を作成することができます。

curl \
-F 'status=PAUSED' \
-F 'name=Test' \
-F 'adset_id=<ADSET_ID>' \
-F 'creative= {
       "creative_id": "<CREATIVE_ID>"
    },
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/ads 

Advantage+ショッピングキャンペーンのショップ広告

ショップ広告は、Advantage+ショッピングキャンペーンと一緒にサポートされており、それらを組み合わせることによってパフォーマンスがさらに向上すると考えられています。

ショップ広告を使ったAdvantage+ショッピングキャンペーンを作成するには、Advantage+ショッピングキャンペーン - ステップ2: キャンペーンを作成するで説明されているステップに従って、まずキャンペーンを作成します。

Advantage+ショッピングキャンペーンの広告セットを作成する場合、ショップ広告単独の場合と同じように、destination_typeSHOP_AUTOMATICに設定し、promoted_objectの中でコマースアカウントを指定します。

curl \
  -F 'name=Advantage+ Shopping Adset' \
  -F 'bid_amount=3000' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'daily_budget=15000' \
  -F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'targeting={"geo_locations": {"countries":["US"]}}' \
  -F 'destination_type=SHOP_AUTOMATIC' \
  -F 'promoted_object={"omnichannel_object":{"onsite":[{"commerce_merchant_settings_id":"<COMMERCE_ACCOUNT_ID>"}],"pixel":[{"pixel_id": "<PIXEL_ID>","custom_event_type": "PURCHASE"}]}}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0/act_<AD_ACCOUNT_ID>/adsets

詳しくは、Advantage+ショッピングキャンペーンのためのクロスチャネルコンバージョン最適化をご覧ください。

ショップ広告を使ったAdvantage+ショッピングキャンペーンでクリエイティブと広告を作成する際、スペックはショップ広告単独の場合と同じです。詳しくは、ステップ3: クリエイティブを指定するをご覧ください。

ショップ広告についてのコマースの利用資格

ショップ広告に関連するIDを取得するには、クライアントからのcatalog_managementアクセス許可が必要です。

ページのショップ広告を作成するには、そのページに、オンサイト表示可能ショップがなければなりません。それを取得するには、以下のようにします。

curl -i -X GET \
"https://graph.facebook.com/v19.0/<PAGE_ID>/commerce_merchant_settings?fields=id,shops{id,fb_sales_channel{status,fb_page{id,name}},is_onsite_enabled,shop_status}&access_token=<PAGE_ACCESS_TOKEN>"

応答の例

{
  "id":"<commerce_account_id>",
  "shops": {
    "data": [
      {
        "fb_sales_channel": {
          "status": "STAGING",
          "fb_page": {
            "name": "Page 1",
            "id": "<page_id>"
          }
        },
        "id": "<shop_id_1>",
        "is_onsite_enabled": true,
        "shop_status": "INACTIVE"
      },
      {
        "fb_sales_channel": {
          "status": "ENABLED",
          "fb_page": {
            "name": "Page 2",
            "id": "<page_id>"
          }
        },
        "id": "<shop_id_2>",
        "is_onsite_enabled": true,
        "shop_status": "ACTIVE"
      }
    ],    
    // …
}

ショップ広告を作成する対象のページについて、is_onsite_enabledtrueであり、かつ、shop_statusACTIVEであるかチェックします。その場合、このガイドの残りの手順により、そのページのショップ広告を作成することができます。

ショップ広告を作成するためのコマースIDを取得する

ページのショップ広告を作成するには、以下が必要です。

コマースアカウントIDとショップIDは、前出のクエリを実行することにより取得できます。

curl -i -X GET \
"https://graph.facebook.com/v19.0/<PAGE_ID>/commerce_merchant_settings?fields=id,shops{id,fb_sales_channel{fb_page{id,name}}}&access_token=<PAGE_ACCESS_TOKEN>"

1つのコマースアカウントに複数のショップがある可能性があります。その取得は、ショップ広告を作成する対象のページでする必要があります。

カタログID、商品セットID、商品ID

curl -i -X GET \
"https://graph.facebook.com/v19.0/<PAGE_ID>/commerce_merchant_settings?fields=id,product_catalogs{id,product_sets}&access_token=<PAGE_ACCESS_TOKEN>"

応答の例

{
  "id": "<commerce_account_id>",
  "product_catalogs": {
    "data": [
      {
        "id": "<product_catalog_id>",
        "product_sets": {
          "data": [
            {
              "id": "<product_set_id>",
              "name": "Product Set 1",
              "filter": "{\"product_item_id\":{\"is_any\":[]}}"
            },
          ],
        }
      }
    ]
  }
}