We are introducing a new and streamlined process for creating campaigns, replacing the existing separate workflows for Manual, Advantage+ shopping campaigns (ASC), and Advantage+ app campaigns (AAC). In this new unified flow, you no longer need to specify the smart_promotion_type
flag to create ASC or AAC campaigns. Instead, you can establish a campaign in the Advantage+ state by configuring it with Advantage+ budget, Advantage+ audience, and Advantage+ placement settings.
Beginning with v25.0, you will no longer be able to use the Advantage+ shopping campaign (ASC) API with the smart_promotion_type=AUTOMATED_SHOPPING_ADS
field to create ASC campaigns, or the Advantage+ app campaign API with the smart_promotion_type=SMART_APP_PROMOTION
field to create AAC campaigns. Instead, you will need to create campaigns with Advantage+ audience, Advantage+ campaign budget, and Advantage+ placements to create campaigns with an advantage_state
that reflects the type of Advantage+ campaign. For more details, please review the blog post here.
The existing_customer_buget_percentag
e field will be deprecated at the same time as the ASC API in v25.0. To replicate this field, refer to the Replicate existing_customer_budget_percentage
Behavior section below.
This guide shows you how to create Advantage+ sales and app campaigns with advantage_state
set to advantage_plus_sales
or advantage_plus_app
. These campaigns will be displayed in Ads Manager as Advantage+ sales (or app) campaign "ON" with the associated performance benefits. Advantage+ sales and app campaigns are the updated, streamlined versions of Advantage+ shopping campaigns and Advantage+ app campaigns.
In this new setup, all sales and app promotion campaigns can benefit from the AI optimizations that drive performance for Advantage+ shopping and app campaigns today. The complete range of ad tools will remain available to meet businesses’ needs.
You will need to ensure the campaign includes Advantage+ audience, Advantage+ campaign budget, and Advantage+ placement for the campaign to have the Advantage+ state enabled, as reflected in the advantage_state
field set to a value other than DISABLED
.
Note: No action is required to opt in to Advantage+ placement, as it is the default setting in the API.
OUTCOME_SALES
: Use this to achieve the same performance results of an Advantage+ shopping campaign when opted into the following automation settings.APP_INSTALLS
: Use this to achieve the same performance results of an Advantage+ app campaign when opted into the following automation settings.You can create an ad campaign that uses the same automation levers as an Advantage+ shopping campaign or Advantage+ app campaign using the following settings:
advantage_state: DISABLED
due to placement restrictions (i.e., advantage_placement_state: DISABLED
).advantage_state
value that is not DISABLED
.Any of the following criteria may be used. Note: The following behavior must be applied to at least one ad set in the ad campaign.
"targeting_automation": {"advantage_audience": 1}
.geo_locations
, which are allowed.advantage_state_info
opt-inOnce opted into these three automation levers, the ad campaign will reflect the following advantage_state
at the ad campaign level in advantage_state_info
depending on the objective.
GET /v23.0
/<CAMPAIGN_ID>?fields=name,objective,advantage_state_info
objective: OUTCOME_SALES
advantage_state_info: { advantage_state: ADVANTAGE_PLUS_SALES advantage_budget_state: ENABLED advantage_audience_state: ENABLED advantage_placement_state: ENABLED }
objective: APP_PROMOTION
advantage_state_info: { advantage_state: ADVANTAGE_PLUS_APP advantage_budget_state: ENABLED advantage_audience_state: ENABLED advantage_placement_state: ENABLED }
DISABLED
stateIf any of the levers advantage_budget_state
, advantage_audience_state
, or advantage_placement_state
are DISABLED
, the advantage_state
within advantage_stage_info
will be DISABLED
.
advantage_state_info: { advantage_state: DISABLED advantage_budget_state: DISABLED advantage_audience_state: ENABLED advantage_placement_state: ENABLED }
A campaign must have advantage_budget_state
, advantage_audience_state
, and advantage_placement_state
set toENABLED
in order to have the advantage_state
set to ADVANTAGE_PLUS_SALES
or ADVANTAGE_PLUS_APP
.
If any of the automation levers return DISABLED
, the advantage_state
will reflect DISABLED
.
The advantage_state
field and its sub-fields advantage_budget_state
, advantage_audience_state
, and advantage_placement_state
are read-only state information flags that can be queried, but are set by configuring the Advantage+ automation levers.
Note: Campaigns created with an advantage_state
of ADVANTAGE_PLUS_SALES
or ADVANTAGE_PLUS_APP
will reflect a smart_promotion_type
of GUIDED_CREATION
.
OUTCOME_SALES
.bid_strategy
with LOWEST_COST_WITHOUT_CAP
(recommended), COST_CAP
, LOWEST_COST_WITH_BID_CAP
, or LOWEST_COST_WITH_MIN_ROAS
.geo_locations
, or opt into Advantage+ audience.existing_customer_budget_percentage
behaviorTo replicate existing_customer_budget_percentage
behavior for your ad campaign, create two ad sets per ad campaign that separate existing customers from new customers.
POST
request to /act_<AD_ACCOUNT_ID/adsets
.
"daily_min_spend_target": "X",
"daily_spend_cap": "X"
custom_audience
settings to include the custom audience that you consider your existing customers. Make sure this is not a suggestion or relaxed by ensuring that targeting_relaxation_types
is set to 0
for custom audiences.
{ "targeting":{ "geo_locations":{ "countries":["US"] }, "custom_audiences":[{ "id":<CUSTOM_AUDIENCE_ID> }], "targeting_relaxation_types":{ "custom_audience":0 } } }
/act_<AD_ACCOUNT_ID>/ads
endpoint.
POST
call in step 3 with the exclusion of your custom audience that represents your existing customers.exclude
./adcopies
endpoint to duplicate your first ad set, then make a POST
call to edit the ad set to exclude the custom audience ID of existing customers.{ "targeting":{ "geo_locations":{ "countries":["US"] }, "age_min":25, "age_max":40, "excluded_custom_audiences":[{ "id":<CUSTOM_AUDIENCE_ID> }], } }
You have created a new ad campaign with a spending limit on existing customers. It will run after review.
We estimate that this rollout will be completed by mid-June 2025.
Advantage+ sales campaigns use the same automation features as Advantage+ shopping campaigns, and they are both built on the principles of liquidity, including the combination of Advantage+ budget, Advantage+ audience, and Advantage+ placements. The Advantage+ campaign experience for Sales also reflects expanded supported use cases not available with the Advantage+ shopping campaign endpoint. Advertisers can now benefit from similar performance with additional features available for manual campaigns, like additional conversion locations, and may now create more than one adset per campaign.
If you keep the same settings in the new Advantage+ campaign experience as you used in your previous Advantage+ shopping campaigns, Advantage+ app campaigns or manual campaigns, then nothing will change. Your campaign will perform similarly to the previous set up.
We typically roll out products at the ad account level, so there is a chance you could see two different experiences across different ad sets during the rollout period. Once the new experience has fully rolled out, all ad accounts will have the same experience. Aim to maintain your existing strategy, regardless of the experience you have within Ads Manager.
Meta will introduce a method for API users for migrating or copying eligible ASC campaigns into the Advantage+ campaign structure. More details to come, but the migration methods will be conveyed as soon as possible and well before the release of v25.0.
With the introduction of v24.0, you will not be able to create ASC campaigns with smart_promotion_type=AUTOMATED_SHOPPING_ADS
, but may revert to v23.0 to do so. The introduction of v25.0 will give an error for all attempts to create ASC campaigns with smart_promotion_type=AUTOMATED_SHOPPING_ADS
on any version of the API.
If not migrated, existing Advantage+ shopping campaigns cannot be edited and will maintain all previous settings with the introduction of v25.0. The exceptions are for ASC campaigns that use existing_customer_budget_percentage
and cannot be migrated, or ASC campaigns that have more than 50 ads within the adset and cannot be migrated - these campaigns will be editable after v25.0 but may not be duplicated. We advise you to begin creating Advantage+ sales campaigns where "advantage_state": "ADVANTAGE_PLUS_SALES"
as soon as possible to avoid any disruption with v25.0.
Yes. Once the ad account has been upgraded into the new Advantage+ experience on Ads Manager, campaigns that were created as Advantage+ shopping campaigns will show as “Advantage+ On” in the Ads Manager whether they were created via API or UI.
If you edit the ASC campaign within the Ads Manager UI in any way and accept turning on Advantage+ campaign budget when prompted, it will be converted to an ADVANTAGE_PLUS_SALES
campaign that shows as "Advantage+ On" through the Ads Manager UI, and "advantage_state": "ADVANTAGE_PLUS_SALES"
when queried on its API settings. The campaign will also change from smart_promotion_type=AUTOMATED_SHOPPING_ADS
to smart_promotion_type=GUIDED_CREATION
. However, you must edit something about the ASC campaign in the Ads Manager in order to prompt this change and accept the Advantage+ campaign budget.
If the ASC campaign was created and edited exclusively through the API, it will continue to reflect as smart_promotion_type=AUTOMATED_SHOPPING_ADS
in the API settings until something is edited about this campaign in the Ads Manager. It will show as "Advantage+ On: through the Ads Manager UI after the ad account has been upgraded into the new Advantage+ experience.
ASC campaigns created through the old ASC experience in Ads Manager will show with "Advantage+ On" settings once the ad account has been upgraded into the new Advantage+ campaign Ads Manager experience.
However, ASC campaigns created on the Ads Manager with the old ASC UI before the ad account has been upgraded into the new Advantage+ campaign UI experience will need to be edited in the Ads Manager and accept turning on Advantage+ campaign budget when prompted in order to reflect Advantage+ Sales being on in the new interface and "advantage_state": "ADVANTAGE_PLUS_SALES"
. This will also then display the budget at the campaign level in reporting and update to smart_promotion_type=GUIDED_CREATION
. Otherwise, the campaign will continue to reflect smart_promotion_type=AUTOMATED_SHOPPING_ADS
on the API settings.
The campaign converts from Advantage+ shopping campaign (i.e., smart_promotion_type=AUTOMATED_SHOPPING_ADS
) to an Advantage+ sales campaign (i.e., "advantage_state": "ADVANTAGE_PLUS_SALES"
) with smart_promotion_type=GUIDED_CREATION
.
ASC campaigns that use existing_customer_budget_percentage
will not be migrated to "advantage_state": "ADVANTAGE_PLUS_SALES"
, even if they are edited in the new Ads Manager UI. The campaigns that use existing_customer_budget_percentage
will remain ASC with smart_promotion_type=AUTOMATED_SHOPPING_ADS
, but will be editable (but unable to be duplicated) after v25.0.
ASC campaigns with ad sets containing more than 50 ads cannot be converted, migrated, or duplicated into Advantage+ sales campaigns. However, these campaigns will maintain their ASC settings (smart_promotion_type=AUTOMATED_SHOPPING_ADS
) and will continue to be editable even after v25.0. These campaigns will not be able to be duplicated. If there are any changes to this behavior, Meta will provide advance notice.
No. Developers will need to follow the criteria above to make a campaign with Advantage+ audience, Advantage+ placement, and Advantage+ budget criteria.
No. Please edit the campaign in the Ads Manager once the ad account is enrolled in the new UI to convert the campaign. More details to come shortly, but Meta will be providing other options for migrating or duplicating eligible ASC campaigns to Advantage+ sales campaigns to API users.
Note: Not all campaigns will be eligible to migrate from ASC to Advantage+ sales. ASC campaigns using existing_customer_budget_percentage
cannot be migrated, nor can ASC campaigns where the count of ads within the ASC adset is greater than 50. These campaigns will remain in the ASC structure but will continue to be editable after v25.0.
"targeting_automation": {"advantage_audience": 1}
for at least one ad set in the campaign, OR"targeting_automation": {"advantage_audience": 0}
or is not set, and at least one ad set in the campaign has:
If you set up your budget, audience, or placement details outside of the criteria listed above, the campaign will reflect advantage_state:DISABLED
.