Advantage+ verbeteringen op bestaande advertenties controleren via de Marketing API
De interface toont je één advertentie tegelijk. De API toont ze allemaal, en toont wat is toegepast in plaats van wat je hebt aangeklikt. Dit is de leesquery, wat het antwoord betekent, en de valkuilen in Meta's eigen documentatie.
Waarom überhaupt via de API controleren
Advertentiebeheer toont het paneel Verbeteringen voor één advertentie tegelijk, en het toont schakelaars, geen uitkomsten. De API geeft je twee dingen die de interface niet geeft: elke advertentie in één query, en de toegepaste set in plaats van de aangeklikte set, omdat Meta functies die niet geschikt zijn voor een advertentie verwijdert voordat de spec wordt opgeslagen. Voor een wekelijkse batch van veertig advertenties is dat het verschil tussen een steekproef en een volledige controle.
De leesquery
De instelling zit op de advertentiecreative in het veld degrees_of_freedom_spec, dat Meta's Ad Creative-referentie omschrijft als "Specifies the types of transformations that are enabled for the given creative". Lees het rechtstreeks uit:
GET /v26.0/{creative-id}?fields=degrees_of_freedom_spec,asset_feed_spec
of via de advertentie, met standaard Graph-veldexpansie:
GET /v26.0/{ad-id}?fields=name,creative{degrees_of_freedom_spec,asset_feed_spec}
Voor een hele advertentieset:
GET /v26.0/{adset-id}/ads?fields=name,creative{degrees_of_freedom_spec,asset_feed_spec}&limit=200
Een typisch antwoord voor een afbeeldingscreative die met een volledige opt-out is aangemaakt:
{
"degrees_of_freedom_spec": {
"creative_features_spec": {
"image_touchups": { "enroll_status": "OPT_OUT" },
"text_optimizations": { "enroll_status": "OPT_OUT" },
"image_templates": { "enroll_status": "OPT_OUT" },
"image_brightness_and_contrast": { "enroll_status": "OPT_OUT" },
"image_animation": { "enroll_status": "OPT_OUT" },
"image_background_gen": { "enroll_status": "OPT_OUT" },
"image_uncrop": { "enroll_status": "OPT_OUT" },
"enhance_cta": { "enroll_status": "OPT_OUT" },
"text_translation": { "enroll_status": "OPT_OUT" }
}
}
}
Elke aanroep heeft een token met ads_read op het account nodig; dwingt je account app secret proof af, stuur die dan mee zoals bij elke andere Graph-aanroep vanaf de server.
Zo lees je het antwoord
OPT_OUTaanwezig: de functie staat uit voor deze creative.OPT_INaanwezig: aan, en geschikt.- Key afwezig: óf nooit opgegeven, óf opgegeven en verwijderd omdat hij niet geschikt was voor dit formaat. Meta's gids: "Features specified as OPT_IN but ineligible for the given ad setup will be automatically removed from the creative_features_spec parameter." De ontwikkelaarsnotitie van januari 2025 voegt toe dat niet-geschikte functies "removed entirely from the creative_features_spec field" worden. Een afwezige key op een geschikte functie betekent dus dat Meta's standaard geldt, en voor de meeste functies is Meta's standaard aan (sommige verbeteringen staan mogelijk standaard aan, Meta-help;
inline_commentendescription_automationzijn gedocumenteerd als "Default is opt-in"). asset_feed_spec.audios: muziek is geencreative_features_spec-key. Meta's gids: "the music feature ... is implemented with the asset_feed_spec parameter." Leeg of afwezig betekent geen muziekasset;[{"type": "random"}]betekent automatische muziek.
De praktische controleregel: voor elke functie die je belangrijk vindt wil je een expliciete OPT_OUT zien, geen afwezigheid.
Wat er in januari 2025 veranderde
Tot Marketing API v21 reisden de meeste verbeteringen als één bundel, standard_enhancements. Meta heeft die opgeheven: "We will deprecate the Standard Enhancements bundle from the Marketing API, starting with MAPI V22.0 (to be released on January 21, 2025)" en "advertisers can no longer create or update ads with Standard Enhancements specified in the API request" (Meta developer blog, 17 januari 2025). De changelog van v22.0: "Opting ads in to and previewing ads using the STANDARD_ENHANCEMENTS bundle is no longer supported."
Twee gevolgen voor een controle vandaag:
- Creatives van vóór 2025 kunnen de bundelkey nog tonen; die zijn niet fout, ze zijn oud. Nieuwe creatives moeten per functie uitschrijven.
- De bundelkey meesturen bij een create-aanroep laat de hele creative falen. Dat is de error subcode (3858504) die wij tegenkwamen toen we Adlio's opt-out bouwden, en waarom Adlio hem nooit verstuurt.
De valkuilen in Meta's documentatie
Drie dingen die ons tijd kostten, zodat jij ze niet herhaalt:
- De referentietabel en de gids spreken elkaar tegen. Meta's Ad Creative Features Spec-referentie (v26.0) noemt 46 keys, veel voor catalogus- en WhatsApp-formaten, en laat
image_brightness_and_contrast,image_uncrop,enhance_cta,video_auto_cropenvideo_uncropweg; de gids "Get Started with Advantage+ Creative" documenteert precies die keys met hun labels uit Advertentiebeheer. De referentie noemt op haar beurt keys die de gids niet beschrijft (site_extensions,profile_card,music_generation,video_highlights). De enige betrouwbare lijst is de lijst die jouw API-versie accepteert bij een echte create-aanroep. - Relevante reacties is
inline_comment. Een key die letterlijkrelevant_commentsheet, wordt afgewezen;inline_commentis de gedocumenteerde key ("Opt in/opt out of Relevant comments enhancement. Default is opt-in."). Dit hadden we in een eerder artikel fout en hebben we gecorrigeerd. - Veldnamen van leveranciers zijn niet die van Meta. Namen als
image_auto_crop_enableoftext_optimization_enabledie in sommige gidsen rondgaan, komen in geen enkel Meta-document voor; Meta's velden zijn objectkeys met eenenroll_status.
Een minimaal controlescript
Pseudocode, elke taal:
for each ad in GET /{adset-id}/ads?fields=name,creative{degrees_of_freedom_spec,asset_feed_spec}:
spec = ad.creative.degrees_of_freedom_spec.creative_features_spec or {}
audios = ad.creative.asset_feed_spec.audios or []
for key in REQUIRED_OPT_OUT_KEYS:
if spec[key].enroll_status != "OPT_OUT": flag(ad.name, key, "niet expliciet uitgeschreven")
if len(audios) > 0: flag(ad.name, "music", "audio-asset gekoppeld")
Draai het op de gepauzeerde batch voordat je hem live zet, en een week later opnieuw: leveranciers melden dat verbeteringen terugkomen na bewerkingen of dupliceren (JumpFly, augustus 2026: de creative vervangen, het formaat wijzigen of dupliceren "may cause recommended enhancements to appear selected again"). Een leesquery is de enige controle die daarnaar schaalt.
Hoe Adlio dit gebruikt
Adlio schrijft de opt-out bij het aanmaken in elke creative, alleen met keys die tegen de live API zijn geverifieerd, en verstuurt nooit de opgeheven bundelkey. Omdat elke advertentie gepauzeerd landt, kan de controle hierboven draaien vóór de eerste vertoning; het is de API-versie van controle 6 op de checklist voor gepauzeerd lanceren. De volledige controlekaart, inclusief de routes in de interface, staat in Advantage+ verbeteringen uitzetten; de uitzondering voor muziek is uitgewerkt in muziek onder je Meta-advertentie uitzetten.
Hoe dat er vanuit de gebruiker uitziet, map erin en gepauzeerde advertenties eruit, staat op Facebook-advertenties in bulk uploaden vanuit een map.
Veelgestelde vragen
Welk veld lees ik uit?+
degrees_of_freedom_spec op de advertentiecreative. Meta's Ad Creative-referentie noemt het als leesbaar veld ("Specifies the types of transformations that are enabled for the given creative"), en de spec-referentie markeert lezen als ondersteund en aanmaken, bijwerken en verwijderen op het spec-endpoint zelf als niet ondersteund: je zet het bij het aanmaken van de creative en leest het daarna terug.
Waarom ontbreken sommige keys in het antwoord?+
Omdat Meta ze verwijdert. De ontwikkelaarsgids: "Features specified as OPT_IN but ineligible for the given ad setup will be automatically removed from the creative_features_spec parameter." De notitie van januari 2025 herhaalt het: niet-geschikte functies worden "removed entirely". Wat je terugleest is dus de set die op die advertentie echt kan gelden.
Kan ik standard_enhancements nog gebruiken?+
Nee. Meta's ontwikkelaarsnotitie van januari 2025: "beginning with MAPI v22.0 (available January 21, 2025), and all subsequent API versions, advertisers can no longer create or update ads with Standard Enhancements specified in the API request." De key staat nog in de referentietabel, maar wordt niet geaccepteerd bij aanmaken of bijwerken; schrijf per functie uit.
Waar staat muziek in het antwoord?+
Niet in creative_features_spec. Meta implementeert muziek via asset_feed_spec.audios, dus lees dat veld ook uit: een lege of afwezige audios-lijst betekent dat er geen muziekasset is gekoppeld. Relevante reacties is daarentegen een gewone key: inline_comment, "Default is opt-in" volgens Meta's referentie.
Bronnen
Adlio team
Gebouwd door media buyers die Meta-advertenties in volume lanceren. Vragen of correcties: support@adlio.ai.
Onderwerpcluster
Advantage+ uit
Meta's automatische creatieve verbeteringen uit houden, op elke advertentie, en dat kunnen bewijzen.
- Advantage+ "Tekstverbeteringen": wat Meta in je tekst verandert, en hoe je het uitzet
- Advantage+ "Afbeelding uitbreiden" en video-uitbreiding: de gegenereerde pixels rond je creative, uitgelegd
- Advantage+ "Visuele aanpassingen" en "Helderheid en contrast aanpassen": de bewerkingen die veranderen hoe je product eruitziet
- Advantage+ "Overlays toevoegen", dynamische overlays en standaardlabels: de tekst die Meta bovenop je beeld zet
- Advantage+ "Muziek toevoegen": welke advertenties een soundtrack krijgen, hoe je het uitzet, en waarom de API het anders regelt
- Advantage+ verbeteringen op bestaande advertenties controleren via de Marketing API
- Advantage+ creatief versus Advantage+ sales-campagnes (voorheen shopping): vijf dingen die Advantage+ heten, uitgelegd
- Helpen Advantage+ verbeteringen echt? Wat Meta heeft gepubliceerd, wat mediabuyers melden, en hoe je het zelf test
Gerelateerde gidsen
- How-toAdvantage+ verbeteringen uitzetten: per advertentie, in bulk en permanent
- How-toAdvantage+ "Muziek toevoegen": welke advertenties een soundtrack krijgen, hoe je het uitzet, en waarom de API het anders regelt
- ChecklistElke Meta-advertentie gepauzeerd lanceren: de checklist vóór je een bulk-batch live zet