Meta's API will block legacy Advantage+ app and shopping campaigns on May 19
Marketing API v25.0 blocks creating, duplicating and updating legacy Advantage+ app and shopping campaigns. Migrate on your schedule now, before it is forced on every API version in May.
Meta published Marketing API v25.0 on February 18. Its changelog says creating, duplicating and updating Advantage+ shopping campaigns (ASC) and Advantage+ app campaigns (AAC) is no longer allowed on v25.0 and later, and that the same block applies to all API versions on May 19, 2026. If you run app install or app event campaigns through a bidding tool, a reporting platform or your own scripts, this is a migration deadline, not a background developer note.
What the change covers and what it does not
The block is on the API write path, specifically the endpoints that create a campaign in an ad account and that copy an existing campaign, for the legacy campaign types. It does not say that existing legacy campaigns are switched off. Meta's earlier guidance, reported when Marketing API v24.0 arrived in October 2025, was that existing ASC and AAC campaigns keep running during the transition, and that new legacy-style campaigns could no longer be created through the legacy API setup from v24.0 onward.
The replacement is the unified Advantage+ campaign structure. According to that October coverage, a campaign gets an Advantage+ state only when three things are all enabled: an Advantage+ campaign budget with a supported bid strategy, Advantage+ audience, and Advantage+ placements. Turn off any one and the campaign is treated as a manual one. For an app advertiser, that means the old split between "app campaign" and "everything else" is replaced by one structure with an app objective inside it.
One detail matters for editing in the interface. Meta's guidance says that changing something like the name or budget on a legacy campaign in the newer Ads Manager experience can convert it to the Advantage+ structure when you publish. So a routine edit may migrate a campaign without anyone deciding to.
Decide how you want to migrate, because there are three paths
Meta lists three ways to move:
- Copy and migrate (ASC only), which uses a migration field on the copies endpoint and creates a new campaign ID.
- Migrate in place, which keeps the original campaign ID, so your reporting history and any ID-based rules stay attached.
- Manual migration by editing in Ads Manager.
Our default would be in-place migration for campaigns that are performing and have a long history, because the campaign ID is the thing your dashboards, spend pacing and rules key on. We would use a new campaign for anything you want to A/B test against the old version, since you want the old one untouched as the control. Either way, do not migrate your biggest campaign on a Friday afternoon.
Audit what writes to your account
The real exposure is usually not your own team clicking in Ads Manager. It is every tool that creates or duplicates campaigns programmatically.
- List every integration with write access to the ad account: bidding or budget tools, creative testing platforms, internal scripts, and your measurement vendor's connectors if they create campaigns.
- Ask each vendor which API version they call and whether they have shipped the Advantage+ structure. A tool that quietly fails to duplicate a campaign will not always tell you.
- Find any automation that clones a winning campaign to scale it. That is the pattern most likely to break, because duplication of legacy campaigns is blocked.
Meta's guidance also notes special cases. Campaigns that use the existing-customer budget percentage setting have to be rebuilt or duplicated in Ads Manager, and the suggested workaround is two ad sets: one with a custom audience of existing customers and one for new customers, under a campaign-level budget. ASC campaigns with more than 50 ads in one ad set cannot be duplicated through the API, though they remain editable.
What to compare when you migrate
A structure change can move results, so plan the comparison before you migrate rather than after.
- Pick a start date and keep creative, budget and bid strategy constant for at least two weeks on either side.
- Track cost per install and a downstream measure you pay for, such as cost per subscription start or revenue per install from your measurement partner. Install cost alone can look better while quality gets worse.
- Check which controls you keep. The unified structure requires Advantage+ audience and placements to reach an Advantage+ state, so if your legacy setup relied on placement exclusions or tight audience limits, confirm what survives before you migrate.
- If you can, migrate half of your campaigns first and leave the rest as a control until mid-April.
Timeline to work backward from
May 19 is the hard date, but the practical deadline is earlier: your tools need time to update, and you need clean before and after data. Inventory by the end of February, test migrations in March, and move the rest in April, leaving May for fixing what broke.
The takeaway: assume anything that creates or copies legacy app or shopping campaigns will fail after May 19, find those tools now, and migrate campaigns on your own timeline with a defined test.