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_percentage 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.OUTCOME_LEADS: Use this to achieve an Advantage+ leads campaign. Advantage+ leads campaigns are designed to maximize the performance of your leads campaigns with less set up time and greater efficiency. Using AI, Advantage+ leads campaigns can help you generate qualified leads by delivering your ads to more relevant audiences on more effective ad placements. 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 /v24.0/<CAMPAIGN_ID>?fields=name,objective,advantage_state_info
objective: OUTCOME_SALESadvantage_state_info: {
advantage_state: ADVANTAGE_PLUS_SALES
advantage_budget_state: ENABLED
advantage_audience_state: ENABLED
advantage_placement_state: ENABLED
}
objective: APP_PROMOTIONadvantage_state_info: {
advantage_state: ADVANTAGE_PLUS_APP
advantage_budget_state: ENABLED
advantage_audience_state: ENABLED
advantage_placement_state: ENABLED
}
objective: OUTCOME_LEADSadvantage_state_info: {
advantage_state: ADVANTAGE_PLUS_LEADS
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, ADVANTAGE_PLUS_APP, or ADVANTAGE_PLUS_LEADS.
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, ADVANTAGE_PLUS_APP, or ADVANTAGE_PLUS_LEADS 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.
existing_customer_budget_percentage cannot be migrated to the Advantage+ structure using the Marketing API. Open the campaign in Ads Manager to migrate to the Advantage+ structure. You can copy your Advantage+ shopping campaign into a new campaign in the Advantage+ structure with the migrate_to_advantage_plus parameter.
curl -X POST <AD_CAMPAIGN_ID>/copies?migrate_to_advantage_plus=true
{
"copied_campaign_id": "6877326900432",
"ad_object_ids": [
{
"ad_object_type": "campaign",
"source_id": "6877313029432",
"copied_id": "6877326900432"
}
]
}
When the new campaign (copied_id) is queried, it will reflect a smart_promotion_type of GUIDED_CREATION and will have advantage_state_info details.
existing_customer_budget_percentageCampaigns using existing_customer_budget_percentage can only be migrated to the Advantage+ structure by duplicating the campaign in the Ads Manager. You may open the campaign in Ads Manager for instructions on how to duplicate into the Advantage+ structure. For recreating as a new campaign, see the Replicate Existing Customer Budget Percentage section.
If you would like to keep the same campaign IDs, you can use the migrate_to_advantage_plus field to migrate your Advantage+ shopping campaigns/Advantage+ app campaigns into the Advantage+ format.
curl -X POST <AD_CAMPAIGN_ID>?migrate_to_advantage_plus=true
{
success: <BOOLEAN>
}
The campaign will then reflect a smart_promotion_type of GUIDED_CREATION and will have advantage_state_info details.
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.
Migrating or migrating and copying an ASC/AAC campaign into Advantage+ format, including using the migrate_to_advantage_plus field, will force the campaign into the learning stage. This means that newly copied campaigns will be in the learning stage, as well as campaigns that are migrated only without a copy action. This applies to all campaigns and there is not a workaround for the learnings.
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.
migrate_to_advantage_plus field to migrate or copy and migrate their campaigns. 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. 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 with "advantage_state": "ADVANTAGE_PLUS_SALES" as soon as possible to avoid any disruption with v25.0.migrate_to_advantage_plus field to migrate. This includes campaigns that have more than 50 ads within their adsets, or campaigns that are using existing_customer_budget_percentage.Using smart_promotion_type to create ASC/AAC campaigns on v24.0 will yield an error informing you that you cannot create or edit ASC/AAC on this version. You may revert to v23.0 to create ASC/AAC campaigns with smart_promotion_type, but we recommend creating Advantage+ campaigns instead. ASC/AAC will not be able to be created on any API version with the release of v25.0.
AAC campaigns cannot be copied and migrated, but may be migrated using the migrate_to_advantage_plus field. See the migration instructions above.
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 cannot be migrated to the Advantage+ structure with "advantage_state": "ADVANTAGE_PLUS_SALES" using the API, but can be migrated into Advantage+ structure if you open the campaign in Ads Manager.
ASC campaigns using existing_customer_budget_percentage will still be editable with the release v25.0 but unable to be duplicated. These campaigns will be uneditable with the release of v26.0, so we recommend migrating the campaigns to Advantage+ structure within Ads Manager as soon as possible.
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 after v25.0. These campaigns will not be able to be duplicated with the release of v25.0, and will be uneditable with the release of v26.0. 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 Ads Manager once the ad account is enrolled in the new UI to convert the campaign, or use the migrate_to_advantage_plus field to migrate the campaign via API.
Note: Not all campaigns will be eligible to migrate from ASC to Advantage+ sales. ASC campaigns using existing_customer_budget_percentage cannot be migrated via the API, but can be migrated in Ads Manager. ASC campaigns where the count of ads within the ASC adset is greater than 50 cannot be migrated into Advantage+ sales campaigns at all. These campaigns will remain in the ASC structure but will continue to be editable after v25.0. However, all legacy ASC campaigns with smart_promotion_type will be uneditable with the release of v26.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.
Access to Advantage+ Audience, Advantage Custom Audience, and Advantage Detailed Targeting for Special Ad Category campaigns related to Housing, Employment, and Financial Products and Services is currently being rolled out to advertisers. If your campaign is eligible at the point of migration, it will be recreated in the Advantage+ structure. If not, it will be migrated into a similar structure using broad targeting. For more details, please see this Help Center article.