Advantage+アプリキャンペーン(旧称アプリの自動広告)は、機械学習とさまざまな自動化システムを使うことにより、アプリインストール広告の結果を向上させます。このソリューションでキャンペーンのスケール調整をすることにより、最終的に、作業効率を向上させることができます。
定期アプリ広告とAdvantage+アプリキャンペーンの比較を次に示します。
手動アプリ広告 | Advantage+アプリキャンペーン |
---|---|
1回のキャンペーン 複数の広告セット 複数の広告 | 1回のキャンペーン 1つの広告セット 複数の広告 |
手動による調整に依存。 | 機械学習による調整に依存。 |
クリエイティブの組み合わせを50個まで手動でテスト。 | クリエイティブの組み合わせを50個まで手動でテスト。 |
現在、iOS 14ユーザーをターゲットとしたSKAdNetwork Advantage+アプリキャンペーンが利用可能。
Advantage+アプリキャンペーンを使うには、次のものが必要です。
ads_management
とads_read
のアクセス許可広告資金提供のために使う広告アカウントに対してGET
とPOST
の呼び出しをする許可が必要です。
以下の必須パラメーターおよび任意パラメーターを指定して、POST
リクエストを/act_{ad_account_id}/campaigns
に送信します。
パラメーター | 説明 | ||||
---|---|---|---|---|---|
adlabels オブジェクトのリスト | Advantage+アプリキャンペーンに関連する広告ラベル。任意。 | ||||
buying_type 文字列 | 現在のところ、Advantage+アプリキャンペーンでサポートされているのは | ||||
execution_options 列挙のリスト | デフォルト値:
呼び出しが検証または審査をパスすると、応答は | ||||
is_skadnetwork_attribution 文字列 | SKAdsNetworkキャンペーンを識別します。任意 | ||||
name 文字列 | Advantage+アプリキャンペーンの名前。 | ||||
objective 列挙 | これはキャンペーンの目標です。この広告タイプには | ||||
promoted_object オブジェクト | この広告セットのすべての広告のプロモーション対象。Advantage+アプリキャンペーンでは、 最適化の目的が
is_skadnetwork_attributionがtrueに設定されている場合は必須。 | ||||
smart_promotion_type オブジェクトのリスト | これがAdvantage+アプリキャンペーンの場合、スマートプロモーションタイプは | ||||
special_ad_categories オブジェクトのリスト | 現在のところ、Advantage+アプリキャンペーンで特別な広告カテゴリはサポートされていません。それで、これは | ||||
status 列挙 | 有効なオプション: そのステータスが | ||||
topline_id 数値文字列または整数 | トップラインID。任意。 |
curl -X POST \
-F 'name=Advantage+ app campaigns sample campaign' \
-F 'objective=APP_INSTALLS' \
-F 'status=ACTIVE' \
-F 'special_ad_categories=[]' \
-F 'smart_promotion_type=SMART_APP_PROMOTION' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_{ad-account-id}/campaigns
すでに作成したキャンペーンを更新する場合については、開始後にキャンペーンを更新するをご覧ください。
任意の手順として、Advantage+アプリキャンペーンが正常に作成されたかどうかをチェックできます。そのためには、GET
リクエストを/{ad-campaign-id}
に対して発行し、その際にsmart_promotion_type
フィールドを指定します。有効なAdvantage+アプリキャンペーンなら、SMART_APP_PROMOTION
を返します。
curl -X GET -G \
-d 'fields="smart_promotion_type"' \
-d 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/{ad-campaign-id}
有効なAdvantage+アプリキャンペーンが作成された場合の応答の例は次のとおりです。
{ "smart_promotion_type": "SMART_APP_PROMOTION", "id": {ad-campaign-id} }
広告キャンペーンが作成されているなら、広告セットを作成します。広告セットとは、1日の予算または通算予算、スケジュール、入札タイプ、入札情報、ターゲット設定データを共有する広告のグループです。
広告セットを作成するには、POST
リクエストを/act_{ad_account_id}/adsets
に対して発行します。以下のパラメーターを含めることができます。
パラメーター | 説明 | ||||
---|---|---|---|---|---|
オブジェクトのリスト | このオブジェクトに関連付けるラベルのリストを指定します。 任意。 | ||||
整数 |
この広告セットの入札価格上限またはターゲット単価。最小単価入札戦略で使う入札価格上限は、 広告レベルの 入札額の単位は、USDやEURなどの通貨の場合はセント、JPYやKRWなどの通貨の場合は基本単位です。入札額は1回ごとのものであり、最小値は1USセントです。ほかの通貨の場合、最小入札額は指定されたUSドルに類似の値です。 | ||||
オブジェクトのリスト |
広告セット予算と同じように、最小広告費用対効果(ROAS)入札では、これを使うことによってROASの下限が提供されますが、 | ||||
列挙 | 特定のビジネス目標に合ったこの広告セットの入札戦略を選択します。戦略ごとにメリットとデメリットがあり、特定の Advantage+アプリキャンペーンでは、以下の戦略が利用可能です。
| ||||
billing_event 列挙 | この広告セットで使う請求イベント。自動化アプリ広告の場合は、 | ||||
campaign_id 数値文字列または整数 | この広告セットの追加先にする有効なAdvantage+アプリキャンペーン広告キャンペーンのID。必須。 | ||||
列挙 | この広告セットで使うキャンペーンアトリビューションのタイプ。
1つのキャンペーンに複数の広告セットがある場合、キャンペーンアトリビューションのタイプがすべての広告セットで同じでなければなりません。 iOS 14以上のキャンペーンを作成する場合、このフィールドは必須です。 | ||||
int64 | アカウントが使用する通貨で定義される日次予算。期間(
| ||||
日時 |
例: | ||||
int64 | 通算予算(アカウントの通貨で定義)。これを指定する場合は、
| ||||
name 文字列 | Advantage+アプリキャンペーン広告セットの名前。必須。 | ||||
optimization_goal 列挙 | 広告セットの最適化対象。Advantage+アプリキャンペーンでサポートされる最適化目標は次のとおりです。
| ||||
promoted_object オブジェクト | この広告セットのすべての広告のプロモーション対象。Advantage+アプリキャンペーンでは、 最適化の目的が
SKAdNetworkキャンペーン以外のすべてのキャンペーンで必須。SKAdNetworkキャンペーンの場合は任意。 | ||||
列挙 | 作成で有効なのは | ||||
日時 | セットの開始時刻。例: | ||||
ターゲットオブジェクト | Advantage+アプリキャンペーン広告セットのターゲット構造体。有効なターゲットオプションは 例: { "geo_location": { "countries": [“US”] }, "locales": [8] } Advantage+アプリキャンペーンでは、オペレーティングシステムターゲット設定がサポートされていませんが、SKAdsNetwork Advantage+アプリキャンペーンはiOS14.5以上のユーザーをターゲットに設定されています。 必須。 | ||||
日時 | この広告セットの実行開始時刻。 | ||||
日時 | この広告セットの実行停止時刻。 |
パラメーター | 説明 |
---|---|
配列 | 必須引数のcountriesによって広告セットのオーディエンスを制限するために使用。有効な値: |
配列 | 指定した地域の共通言語以外の言語の人にターゲットを設定します。このフィールドを使うには、言語のIDを指定します。例えばドイツ語の場合は5になります。詳しくは、ターゲット設定検索、ロケールをご覧ください。 |
curl -X POST \
-F 'name=Advantage+ app campaigns sample ad set' \
-F 'campaign_id={campaign-id}' \
-F 'optimization_goal=APP_INSTALLS' \
-F 'promoted_object={ "application_id": "{app-id}", "object_store_url": "{store-object-id} }' \
-F 'daily_budget=<num>' \
-F 'billing_event=IMPRESSIONS' \
-F 'targeting={"geo_locations": {"countries": ["US"]}}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_{ad-account-id}/adsets
すでに作成した広告セットを更新する場合については、開始後に広告セットを更新するをご覧ください。
広告セットレベルで、最適化の目標、入札戦略、カスタムイベントタイプを指定する必要があります。それらのフィールドの有効な組み合わせの概略を、以下の表に示します。
最適化の目標 | 入札戦略 | カスタムイベントタイプ |
---|---|---|
|
| 該当なし。 |
|
|
|
|
| すべての標準アプリイベント ( |
|
|
|
curl -X POST \ -F 'name=Advantage+ app campaigns sample campaign' \ -F 'objective=APP_INSTALLS' \ -F 'status=ACTIVE' \ -F 'special_ad_categories=[]' \ -F 'smart_promotion_type=SMART_APP_PROMOTION' \ -F 'is_skadnetwork_attribution=true' \ -F 'promoted_object={ "application_id": "{app-id}", "object_store_url": "{object-store-url}" }' \ -F 'access_token={access-token}' \ https://graph.facebook.com/act_{ad-account-id}/campaigns
広告セットが用意されているなら、/act_{ad_account_id}/ads
エンドポイントに投稿することにより広告を作成できます。以下のパラメーターを含めることができます。
パラメーター | 説明 |
---|---|
int64 | 必須。 |
オブジェクトのリスト | 任意。 |
AdCreative | 必須。 クリエイティブは以下の形式で指定できます。 { "creative_id": {creative-id} } クリエイティブ仕様を指定します。 { "creative": { \"name\": \"<NAME>\", \"object_story_spec\": <SPEC> } } |
列挙のリスト | 任意。
呼び出しが検証または審査をパスすると、応答は |
文字列 | 必須。 |
AdCreative 型: 列挙 | 必須。 |
パラメーター | 説明 |
---|---|
AdAssetFeedSpec |
配置アセットのカスタマイズと複数言語広告で、複数の異なる広告配置または複数の異なる言語で表示されるクリエイティブアセットをカスタマイズするために使用。JSON文字列形式にします。 利用可能なフィールドは次のとおりです。
各フィールドについて詳しくは、アセットフィードのオプションをご覧ください。 |
AdCreativeObjectStorySpec | 必須。 広告に画像または動画を添付する場合、またはカルーセル広告形式を使う場合に使用。また、新しい未公開ページ投稿を作成してその投稿を広告にする場合にもこれを使うことができます。 利用可能なフィールドは次のとおりです。
|
AdCreative |
|
クリエイティブ仕様の形式でクリエイティブを指定する場合は次のようになります。
curl -X POST \
-F 'name=Advantage+ app campaigns sample ad' \
-F 'adset_id={adset-id}' \
-F 'creative={"name": {name}, "object_story_spec": {specifications}}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_{ad-account-id}/ads
creative_id
を使う場合は、まず/adcreatives
の呼び出しによりクリエイティブを指定する必要があります。
curl -X POST \
-F 'object_story_spec={object-story-specifications}' \
-F 'asset_feed_spec={asset-feed-specifications}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_act_{ad-account-id}/adcreatives
成功した場合、前の呼び出しからは、/ads
の呼び出しで使うことのできるcreative_id
が返されます。
curl -X POST \
-F 'name=Advantage+ app campaigns sample ad' \
-F 'adset_id={adset-id}' \
-F 'creative={creative-id}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_{ad-account-id}/ads
すでに作成した広告を更新する場合については、開始後に広告を更新するをご覧ください。
curl -X POST \
-F 'name=Advantage+ app campaigns static image/video sample ad' \
-F 'adset_id={adset-id}' \
-F 'creative={
"media_type": "SINGLE_IMAGE",
"object_story_spec": {
"instagram_actor_id": "{instagram-actor-id}",
"page_id": "{page-id}",
"link_data": {
"call_to_action": {
"type": "INSTALL_MOBILE_APP"
},
"image_hash": "{image-hash}",
"link": "{link}",
"message": "{message}",
"name": "{name}"
}
}
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_{ad-account-id}/ads
さまざまに異なる広告配置に表示するためにクリエイティブアセットをカスタマイズする場合。詳しくは、配置アセットのカスタマイズのページをご覧ください。
curl -X POST \
-F 'object_story_spec={
"instagram_actor_id": "{instagram-actor-id}",
"page_id": "{page-id}"
}' \
-F 'asset_feed_spec={
"ad_formats": [
"SINGLE_IMAGE"
],
"asset_customization_rules": [
{
"customization_spec": {
"publisher_platforms": [
"facebook"
],
"facebook_positions": [
"feed",
"instream_video"
]
},
"image_label": {
"name": "{image-label1}"
}
},
{
"customization_spec": {
"publisher_platforms": [
"instagram"
],
"instagram_positions": [
"stream"
]
},
"image_label": {
"name": "{image-label2}"
}
}
],
"bodies": [
{
"text": "{text}"
}
],
"call_to_action_types": [
"INSTALL_MOBILE_APP"
],
"images": [
{
"hash": "{image-hash1}",
"adlabels": [
{
"name": "{image-label1}"
}
]
},
{
"hash": "{image-hash2}",
"adlabels": [
{
"name": "{image-label2}"
}
]
}
],
"link_urls": [
{
"website_url": "{website-url}",
"display_url": "{display-url}",
"deeplink_url": "{deeplink-url}"
}
],
"titles": [
{
"text": "{title}"
}
]
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_act_{ad-account-id}/adcreatives
異なる言語を話す利用者にリーチするため、広告の画像、動画、テキスト、本文など、広告クリエイティブのさまざまなパーツをカスタマイズする場合。詳しくは、複数言語の広告のページをご覧ください。
curl -X POST \
-F 'object_story_spec={
"instagram_actor_id": "{instagram-actor-id}",
"page_id": "{page-id}"
}' \
-F 'asset_feed_spec={
"ad_formats": [
"SINGLE_IMAGE"
],
"asset_customization_rules": [
{
"is_default": true,
"customization_spec": {
"locales": [
24
]
},
"title_label": {
"name": "{title-label-english}"
},
"body_label": {
"name": "{body-label-english}"
},
"link_url_label": {
"name": "{link-label-english}"
},
"image_label": {
"name": "{image-label1}"
}
},
{
"customization_spec": {
"locales": [
9,
44
]
},
"title_label": {
"name": "{title-label-french}"
},
"body_label": {
"name": "{body-label-french}"
},
"link_url_label": {
"name": "{link-label-french}"
},
"image_label": {
"name": "{image-label2}"
}
}
],
"bodies": [
{
"text": "Primary Text in English",
"adlabels": [
{
"name": "{body-label-english}"
}
]
},
{
"text": "Primary Text in French",
"adlabels": [
{
"name": "{body-label-french}"
}
]
}
],
"call_to_action_types": [
"INSTALL_MOBILE_APP"
],
"images": [
{
"hash": "{image-hash1}",
"adlabels": [
{
"name": "{image-label1}"
}
]
},
{
"hash": "{image-hash2}",
"adlabels": [
{
"name": "{image-label2}"
}
]
}
],
"link_urls": [
{
"website_url": "{website-url}",
"display_url": "{display-url}",
"deeplink_url": "{deeplink-url}",
"adlabels": [
{
"name": "{link-label-english}"
}
]
},
{
"website_url": "{website-url}",
"display_url": "{display-url}",
"deeplink_url": "{deeplink-url}",
"adlabels": [
{
"name": "{link-label-french}"
}
]
}
],
"titles": [
{
"text": "English Title",
"adlabels": [
{
"name": "{title-label-english}"
}
]
},
{
"text": "French Title",
"adlabels": [
{
"name": "{title-label-french}"
}
]
}
]
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_act_{ad-account-id}/adcreatives
複数のメインテキストまたはヘッドラインを指定する場合。
curl -X POST \
-F 'object_story_spec={
"instagram_actor_id": "{instagram-actor-id}",
"page_id": "{page-id}"
}' \
-F 'asset_feed_spec={
"asset_feed_spec": {
"optimization_type": "DEGREES_OF_FREEDOM",
"bodies": [
{
"text": "Primary Text 1"
},
{
"text": "Primary Text 2"
},
{
"text": "Primary Text 3"
},
{
"text": "Primary Text 4"
},
{
"text": "Primary Text 5"
}
],
"call_to_action_types": [
"INSTALL_MOBILE_APP"
],
"images": [
{
"hash": "{image-hash}"
}
],
"link_urls": [
{
"website_url": "{website-url}",
"display_url": "{display-url}",
"deeplink_url": "{deeplink-url}"
}
],
"titles": [
{
"text": "Title 1"
},
{
"text": "Title 2"
},
{
"text": "Title 3"
},
{
"text": "Title 4"
},
{
"text": "Title 5"
}
]
}
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_act_{ad-account-id}/adcreatives
curl -X POST \
-F 'object_story_spec={
"instagram_actor_id": "{instagram-actor-id}",
"page_id": "{page-id}"
}' \
-F 'asset_feed_spec={
"ad_formats": [
"SINGLE_IMAGE"
],
"asset_customization_rules": [
{
"customization_spec": {
"publisher_platforms": [
"facebook"
],
"facebook_positions": [
"feed",
"instream_video"
]
},
"image_label": {
"name": "{image-label1}"
},
"body_label": {
"name": "{body-label1}"
},
"title_label": {
"name": "{title-label1}"
}
},
{
"customization_spec": {
"publisher_platforms": [
"instagram"
],
"instagram_positions": [
"stream"
]
},
"image_label": {
"name": "{image-label2}"
},
"body_label": {
"name": "{body-label2}"
},
"title_label": {
"name": "{title-label2}"
}
}
],
"bodies": [
{
"text": "Primary Text 1",
"adlabels": [
{
"name": "{body-label1}"
},
{
"name": "{body-label2}"
}
]
},
{
"text": "Primary Text 2",
"adlabels": [
{
"name": "{body-label1}"
},
{
"name": "{body-label2}"
}
]
},
{
"text": "Primary Text 3",
"adlabels": [
{
"name": "{body-label1}"
},
{
"name": "{body-label2}"
}
]
},
{
"text": "Primary Text 4",
"adlabels": [
{
"name": "{body-label1}"
},
{
"name": "{body-label2}"
}
]
},
{
"text": "Primary Text 5",
"adlabels": [
{
"name": "{body-label1}"
},
{
"name": "{body-label2}"
}
]
}
],
"call_to_action_types": [
"INSTALL_MOBILE_APP"
],
"images": [
{
"hash": "{image-hash1}",
"adlabels": [
{
"name": "{image-label1}"
}
]
},
{
"hash": "{image-hash2}",
"adlabels": [
{
"name": "{image-label2}"
}
]
}
],
"link_urls": [
{
"website_url": "{website-url}",
"display_url": "{display-url}",
"deeplink_url": "{deeplink-url}"
}
],
"titles": [
{
"text": "Title 1",
"adlabels": [
{
"name": "{title-label1}"
},
{
"name": "{title-label2}"
}
]
},
{
"text": "Title 2",
"adlabels": [
{
"name": "{title-label1}"
},
{
"name": "{title-label2}"
}
]
},
{
"text": "Title 3",
"adlabels": [
{
"name": "{title-label1}"
},
{
"name": "{title-label2}"
}
]
},
{
"text": "Title 4",
"adlabels": [
{
"name": "{title-label1}"
},
{
"name": "{title-label2}"
}
]
},
{
"text": "Title 5",
"adlabels": [
{
"name": "{title-label1}"
},
{
"name": "{title-label2}"
}
]
}
]
}' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/act_act_{ad-account-id}/adcreatives
Advantage+アプリキャンペーンの開始後、広告オブジェクトを更新したり読み取ったりすることが必要になるかもしれません。それらの操作を実行する方法については、以下をご覧ください。広告インサイトの情報については、Metaのアセットフィード仕様、インサイトのドキュメントをご覧ください。
自動アプリ広告キャンペーンを更新する必要がある場合は、POST
リクエストを/{campaign_id}
に対して発行します。API呼び出しでは、次のパラメーターを使うことができます。
パラメーター | 説明 |
---|---|
オブジェクトのリスト | Advantage+アプリキャンペーンに関連付ける広告ラベル。 |
列挙のリスト | デフォルト値:
呼び出しが検証または審査をパスすると、応答が |
文字列 | Advantage+アプリキャンペーンに付ける新しい名前。 |
列挙 | 更新API呼び出しには、以下のステータスを使うことができます。
広告キャンペーンが |
数値文字列または整数 | トップラインID。 |
curl -X POST \
-F 'name=Advantage+ app campaigns Update Sample Campaign' \
-F 'status=PAUSED' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/{campaign-id}
自動アプリ広告セットを更新する必要がある場合は、POST
リクエストを/{ad_set_id}
に対して発行します。API呼び出しでは、次のパラメーターを使うことができます。
パラメーター | 説明 |
---|---|
オブジェクトのリスト | このオブジェクトに関連付けるラベルのリストを指定します。任意。 |
整数 |
この広告セットの入札価格上限またはターゲット単価。最小単価入札戦略で使う入札価格上限は、 広告レベルの 入札額の単位は、USDやEURなどの通貨の場合はセント、JPYやKRWなどの通貨の場合は基本単位です。入札額は1回ごとのものであり、最小値は1USセントです。ほかの通貨の場合、最小入札額は指定されたUSドルに類似の値です。 |
列挙 | 特定のビジネス目標に合ったこの広告セットの入札戦略を選択します。戦略ごとにメリットとデメリットがあり、特定の Advantage+アプリキャンペーンセットを更新する場合、以下の戦略が利用可能です。
キャンペーン予算最適化を有効にする場合は、親キャンペーンレベルで |
int64 | アカウントが使用する通貨で定義される日次予算。期間( |
日時 | 終了時刻。 1日の予算が指定された広告セットを作成する場合は、 |
列挙のリスト | 任意。 デフォルト値:
呼び出しが検証または審査をパスすると、応答が |
int64 | 通算予算(アカウントの通貨で定義)。これを指定する場合は、 |
オブジェクト | キャンペーンの特定の目的では必須。 この広告セットのすべての広告のプロモーション対象。 最適化の目的が
|
日時 | セットの開始時刻。UTC UNIXタイムスタンプで指定する必要があります。例: |
列挙 | 更新で使用可能なオプションは次のとおりです。
|
日時 | この広告セットの実行開始時刻。 |
日時 | この広告セットの実行停止時刻。 |
curl -X POST \
-F 'name=Advantage+ app campaigns sample updated ad set' \
-F 'bid_strategy=LOWEST_COST_WITH_BID_CAP' \
-F 'bid_amount=200' \
-F 'access_token={access-token}' \
https://graph.facebook.com/v21.0
/{ad-set-id}
自動アプリ広告を更新する必要がある場合は、POST
リクエストを/{ad_id}
に対して発行します。API呼び出しでは、次のパラメーターを使うことができます。
パラメーター | 説明 |
---|---|
文字列 | 広告の名前。 |
オブジェクトのリスト | この広告に関連する広告ラベル。 |
列挙のリスト | 任意。 デフォルト値:
呼び出しが検証または審査をパスすると、応答が |
列挙 | オプションは次のとおりです。
テスト中に、思いがけない出費になることがないよう、広告のステータスを |
AdCreative | この広告で使う広告クリエイティブのクリエイティブ仕様。有効なフィールドについては、「クリエイティブのフィールド」をご覧ください。クリエイティブ仕様は次のように指定します。 { "creative": { \"name\": \"<NAME>\", \"object_story_spec\": <SPEC> } } |
curl -X POST \ -F 'name=Advantage+ app campaigns sample update ad' \ -F 'creative={"name": {name}, "object_story_spec": {specifications}}' \ -F 'access_token={access-token}' \ https://graph.facebook.com/{ad-id}