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.

Adlio team4 min leestijd

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_OUT aanwezig: de functie staat uit voor deze creative.
  • OPT_IN aanwezig: 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_comment en description_automation zijn gedocumenteerd als "Default is opt-in").
  • asset_feed_spec.audios: muziek is geen creative_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:

  1. Creatives van vóór 2025 kunnen de bundelkey nog tonen; die zijn niet fout, ze zijn oud. Nieuwe creatives moeten per functie uitschrijven.
  2. 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_crop en video_uncrop weg; 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 letterlijk relevant_comments heet, wordt afgewezen; inline_comment is 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_enable of text_optimization_enable die in sommige gidsen rondgaan, komen in geen enkel Meta-document voor; Meta's velden zijn objectkeys met een enroll_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.