Advantage+ shopping campaigns is a solution that enables ecommerce and retail direct-to-consumer and brand advertisers to potentially achieve better performance, greater personalization and more efficiency. These campaigns provide greater flexibility to control levers such as creative, targeting, placements and budget, and more opportunities to optimize campaigns that drive conversions.
Instead of running several campaigns with segmented audiences, Advantage+ shopping campaigns lets you combine all your audiences for a given market into a single campaign structure. This is designed to simplify creation and management, while reducing audience overlap.
Manual BAU Campaign Setup | Advantage+ Shopping Campaign |
---|---|
Multiple BAU campaigns | BAU portfolio replacement |
Manual Targeting with 7 Targeting levers | Automated targeting, automation to increase setup efficiency with 1 country input |
Strict budget allocations in multiple campaigns | Budget liquidity within 1 campaign |
Test up to 50 creative combinations | Allows both dynamic and static ads with up to 150 creative combinations |
This document outlines the steps you need to follow to set up your integration for Advantage+ shopping campaigns. You will need to:
Learn more about Cross-Channel Conversion Optimization for Advantage+ shopping campaigns.
Advantage+ shopping campaigns allows you to define your existing customers as a collection of custom audience IDs. Your existing customers are users who are already familiar with your business/product. Once this definition is set up, you can use this to segment your budget for Advantage+ shopping campaigns to limit spend on existing customers. We will also provide you with metrics reporting the performance of your campaigns among these different segments.
You can define your ad by posting to the /act_{ad_account_id}
endpoint. You will need to include the following parameter to set up this definition:
Parameter | Description |
---|---|
Array<string> | Array of custom audience IDs that the ad account has access to. Currently the supported sources for the custom audience are website, app activity, customer list, catalog and offline activity. For information on how to create a custom audience, refer to this page. |
curl -X POST \
-F 'existing_customers=[<CUSTOM_AUDIENCE_ID>, <CUSTOM_AUDIENCE_ID>]' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT_ID>
For more information on tracking new and existing audiences in third-party tracking tools, see Audience Type URL Parameters.
Start by creating your ad campaign. To do this, make a POST
request to
/act_{ad_account_id}/campaigns
.
Parameter | Description |
---|---|
| Required |
| Required |
list<Object> | Required |
list<Object> | Optional |
| Optional |
list<enum> | Optional
If the call passes validation or review, the response will be |
| Required |
| Optional If this status is |
curl -X POST \
-F 'name=Advantage+ Shopping Campaign' \
-F 'objective=OUTCOME_SALES' \
-F 'status=ACTIVE' \
-F 'special_ad_categories=[]' \
-F 'smart_promotion_type=AUTOMATED_SHOPPING_ADS' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT_ID>/campaigns
You can update a Campaign by making a POST
request to /{campaign_id}
.
Parameter | Description |
---|---|
| Name for the Advantage+ shopping campaign |
list<Object> | Special ad categories associated with the Advantage+ shopping campaign |
list<Object> | Ad Labels associated with the Advantage+ shopping campaign |
list<enum> | Default value:
If the call passes validation or review, the response will be |
| Topline ID |
| You can use the following status for an update API call:
If an ad campaign is set to |
curl -X POST \
-F 'name=Advantage+ Shopping Update Sample Campaign' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/<CAMPAIGN_ID>
To verify that you have successfully created an Advantage+ shopping campaign, you can make a GET
request to /<AD_CAMPAIGN_ID>
with the field smart_promotion_type
.
A valid Advantage+ shopping campaign will return the field value AUTOMATED_SHOPPING_ADS
.
curl -X GET -G \
-d 'fields=smart_promotion_type' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/<AD_CAMPAIGN_ID>
{ "smart_promotion_type": "AUTOMATED_SHOPPING_ADS", "id": <AD_CAMPAIGN_ID> }
Once you have an ad campaign, create your ad set. Each Advantage+ shopping campaign can only have one ad set associated with it.
To create an ad set, make a POST
request to /act_{ad_account_id}/adsets
.
Parameter | Description |
---|---|
| Required |
| Required |
| Required
Learn more about cross-channel conversion optimization for Advantage+ shopping campaigns. |
| Required |
| Required
|
| Optional Either |
| Optional Either |
| Required when Example: |
| Optional |
| Optional
|
| Required if bid_strategy is |
| Optional
|
| Required |
| Optional |
list<Object> | Optional Specifies a list of labels to be associated with this object. |
| Optional. Example: |
| Optional Time start |
| Optional Time stop |
list<JSON Object> | Optional |
curl -X POST \
-F 'name=Advantage+ Shopping Sample Ad Set' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'promoted_object={ "pixel_id": "<PIXEL_ID>", "CUSTOM_EVENT_TYPE": "PURCHASE" }' \
-F 'daily_budget=<NUM>' \
-F 'existing_customer_budget_percentage=<NUM>' \
-F 'billing_event=IMPRESSIONS' \
-F 'targeting={"geo_locations": {"countries": ["US"]}}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT_ID>/adsets
You can update an Ad Set by making a POST
request to /{ad_set_id}
.
Parameter | Description |
---|---|
list<Object> | Specifies a list of labels to be associated with this object. This field is optional. |
| The daily budget defined in your account currency, allowed only for ad sets with a duration (difference between Either |
| Specifies the maximum percentage of the budget that can be spent on the existing customers associated with this ad account. Lower values may lead to higher costs per conversion. Valid values are between 0-100. |
| End time, required when Example: When creating an ad set with a daily budget, specify UTC UNIX timestamp. |
list<enum> | Default value:
If the call passes validation or review, the response will be |
| The start time of the set. Must be provided in UTC UNIX timestamp. Example: |
| Available options for updates:
If it is set to |
| Lifetime budget, defined in your account currency. If specified, you must also specify an Either |
| Time start |
| Time stop |
| Targeting structure for your ad set. Valid values for targeting are |
| Required
|
list<JSON Object> | Optional |
curl -X POST \
-F 'name=Advantage+ Shopping Sample Updated Ad Set' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/<AD_SET_ID>
Once you have an ad set, you can create your ad by posting to the /act_{ad_account_id}/ads
endpoint. You may include the following parameters
Parameter | Description |
---|---|
| Required |
| Required |
| Required
You can read more about creatives here Provide the creative in the following format:
Or provide a creative spec: { "creative": { "name": <NAME>, "object_story_spec": <SPEC>, "product_set_id": <PRODUCT_SET_ID> } } |
| Optional |
list<Object> | Optional |
list<enum> | Optional
If the call passes validation or review, the response will be |
curl -X POST \
-F 'name=Advantage+ Shopping campaign Sample Ad' \
-F 'adset_id=<ADSET_ID>' \
-F 'creative={"name": <NAME>, "object_story_spec": <SPEC>}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT_ID>/ads
For a full list of Ad Creative fields, see here.
Field | Description |
---|---|
| Required |
| Required |
curl -X POST \
-F 'object_story_spec=<SPEC>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/act_<AD_ACCOUNT_ID>/adcreatives
You can update an Ad by making a POST
request to /{ad_id}
.
Parameter | Description |
---|---|
| New name of the ad |
list<Object> | Ad labels associated with this ad. |
list<enum> | Default value:
If the call passes validation or review, the response will be |
| Options are:
During testing, it is recommended to set ads to a |
| The creative spec of the ad creative to be used by this ad. Valid fields are Provide the creative in the following format: { "creative": { "name": <NAME>, "object_story_spec": <SPEC>, "product_set_id": <PRODUCT_SET_ID> } } |
curl -X POST \
-F 'name=Advantage+ Shopping campaign Sample Update Ad' \
-F 'creative={"name": <NAME>, "object_story_spec": <SPEC>}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v20.0
/<AD_ID>