Meta breaking change: Meta Business SDK v24.0.0
What changed
Facebook video feeds ad placement removed; CTMLG third-party creation discontinued
From the upstream announcement:
In this release, there are major changes like Dynamic Media will be enabled by default for Advantage+ Catalog ads via the Marketing API, requiring developers to explicitly opt out if desired. The daily budget flexibility is increased from 25% to 75%, allowing higher spend on days with better opportunities while maintaining weekly spend limits. A new feature allows up to 20% of an ad set’s daily budget to be shared with other ad sets in the same campaign for improved performance without campaign budget optimization. The Facebook video feeds ad placement is no longer available in Marketing API v24.0, and attempts to use it will result in errors. Third-party access to create Click to Messenger Lead Gen (CTMLG) ads through the Marketing API is discontinued, though Ads Manager creation remains available. Full Changelog : v23.0.3...v24.0.0
Who is affected
The mechanical part is deleting the retired placement value from ad set targeting: remove 'video_feeds' entries from facebook_positions (and equivalent placement arrays) in adset create/update payloads - requests that still send it error out under v24.0.
To find out whether your repo is hit — file and line number, no code leaving your machine:
npx mendapi scan --repo .
How to fix it
Migration path:
The mechanical part is deleting the retired placement value from ad set targeting: remove 'video_feeds' entries from facebook_positions (and equivalent placement arrays) in adset create/update payloads - requests that still send it error out under v24.0. Delivery automatically redistributes to remaining placements, so deletion is the safe conservative rewrite. The CTMLG discontinuation in the same release is a platform capability withdrawal (create those ads in Ads Manager instead) and is not code-fixable; this asset covers the placement removal, which is the part that breaks existing request payloads.
Before:
targeting: { facebook_positions: ['feed', 'video_feeds', 'story'] }
After:
targeting: { facebook_positions: ['feed', 'story'] }
With your own LLM key configured (BYO compute — mendapi never proxies your credentials), npx mendapi llmfix turns this guide into a reviewable draft patch for your repo.
Detected and tracked by mendapi — Dependabot for every API you depend on. Scans run locally; your code never leaves your machine.
Related
- All monitored providers — live change counts for meta and 19 others.
- Migration pack catalog — every deterministic fix mendapi ships.
- Getting started — scan your repo in 30 seconds, no code leaves your machine.