Get Started with Advantage+ Creative

This guide covers creating ads and ad creatives with opted-in Advantage+ Creative features.

Previously, Advantage+ Creative was only supported through standard enhancements, a bundle of Advantage+ Creative features. Starting with Marketing API v22.0 and applying to all subsequent versions, the opt-in and preview functionality for standard enhancements will be deprecated. Instead, you can opt-in to or preview individual Advantage+ Creative features by following the guidelines outlined in this document.

Note that the support for automatic removal of ineligible features and preview are gradually rolling out to all API versions, and will be available to all developers by February 2025.

Before You Begin

Set up your ad campaigns using the following instructions:

  1. Create an ad campaign
  2. Create an ad set

Step 1: Create an ad or ad creative opted-in to Advantage+ Creative features

You can create an ad through the /ads endpoint or create a standalone creative through the /adcreatives endpoint. In either approach, specify the individual features to opt-in within the creative_features_spec.

Example

To opt-in features image_touchups, inline_comment, and image_templates:

// creative example
curl -X POST \
  -F 'name=Advantage+ Creative Creative' \
  -F 'degrees_of_freedom_spec={
    "creative_features_spec": {
      "image_touchups": {
        "enroll_status": "OPT_IN"
      },
     "inline_comment": {
        "enroll_status": "OPT_IN"
      },
     "image_template": {
        "enroll_status": "OPT_IN"
      }
    }
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v22.0/act_<AD_ACCOUNT_ID>/adcreatives
  
// ad example
curl -X POST \
  -F 'adset_id=<ADSET_ID>' \
  -F 'creative={
    "name": "Advantage+ Creative Adgroup",
    "object_story_spec": {
      "link_data": {
         "image_hash": "<IMAGE_HASH>", 
         "link": "<URL>", 
         "message": "You got this.",
      },
      "page_id": "<PAGE_ID>"
    },
    "degrees_of_freedom_spec": {
      "creative_features_spec": {
        "image_touchups": {
          "enroll_status": "OPT_IN"
        },
       "inline_comment": {
          "enroll_status": "OPT_IN"
        },
       "image_template": {
          "enroll_status": "OPT_IN"
        }
      }
    }
  }' \
https://graph.facebook.com/v22.0/act_<AD_ACCOUNT_ID>/ads

Features

The Advantage+ Creative features that can be opted-in within the creative_features_spec parameter.

NameDescription

inline_comment

Optional.
Opt-in if you want the most relevant comment to be displayed below your ad on Facebook and Instagram.

The enroll_status field can be set to OPT_IN or OPT_OUT.

Note: This feature is labeled Relevant comments in Ads Manager.

image_templates

Optional.
Opt-in if you want overlays added that show text you have provided along with your selected ad creative when it is likely to improve performance. This feature is generated with AI.

The enroll_status field can be set to OPT_IN or OPT_OUT.

Note: This feature is labeled Add overlays in Ads Manager.

image_touchups

Optional.
Opt-in if you want your chosen media to be automatically cropped and expanded to fit more placements. Only applicable to image ads.

The enroll_status field can be set to OPT_IN or OPT_OUT.

Note: This feature is labeled Visual-touch ups in Ads Manager.

video_auto_crop

Optional.
Opt-in if you want your chosen media to be automatically cropped and expanded to fit more placements. Only applicable to video ads.

The enroll_status field can be set to OPT_IN or OPT_OUT.

Note: This feature is labeled Visual-touch ups in Ads Manager.

image_brightness_and_contrast

Optional.
Opt-in if you want the brightness and contrast of your image to be adjusted when likely to improve performance.

The enroll_status field can be set to OPT_IN or OPT_OUT.

Note: This feature is labeled Adjust brightness and contrast in Ads Manager.

enhance_cta

Optional.
Opt-in if you want keyphrases from your ad sources to be paid with your CTA.

The enroll_status field can be set to OPT_IN or OPT_OUT.

The customizations field can be set to below to use potential high-performing phrases identified by AI:

{
    "text_extraction": {
        "enroll_status": "OPT_IN"
}

Note: This feature is labeled Enhance CTA in Ads Manager.

text_optimizations

Optional.
Opt-in if you want text options you provide appear as primary text, headline or description when it’s likely to improve performance. We may add a caption introduction from your headline options and highlight key sentences when it’s likely to improve performance.

The enroll_status field can be set to OPT_IN or OPT_OUT.

The customizations field can be set to below to use potential high-performing phrases identified by AI:

{
    "text_extraction": {
        "enroll_status": "OPT_IN"
}

Note: This feature is labeled Text improvements in Ads Manager.

image_background_gen

Optional.
Opt-in if you want different backgrounds for eligible product images to be created and the version that your audience is most likely to respond to delivered. This feature is generated with AI.

The enroll_status field can be set to OPT_IN or OPT_OUT.

Note: This feature is labeled Generate backgrounds in Ads Manager.

image_uncrop

Optional.
Opt-in if you want your image to be automatically expanded to fit more placements. This feature is generated with AI.

The enroll_status field can be set to OPT_IN or OPT_OUT.

Note: This feature is labeled Expand image in Ads Manager.

adapt_to_placement

Optional.
Opt-in if you want 9:16 images in your catalog to be displayed in supported placements (Instagram Stories/Instagram Reels/Facebook Stories/Facebook Reels).

The enroll_status field can be set to OPT_IN or OPT_OUT.

Note: This feature is labeled Adapt to placement in Ads Manager.

media_type_automation

Optional.
Opt-in if you want videos from your catalog to be displayed (along with images) in supported placements.

The enroll_status field can be set to OPT_IN or OPT_OUT.

Note: This feature is labeled Dynamic media in Ads Manager.

See Dynamic Media for more information.

product_extensions

Optional.
Opt-in if you want items from your catalog to be shown next to your selected media when it’s likely to improve performance.

The enroll_status field can be set to OPT_IN or OPT_OUT.

Note: This feature is labeled Add catalog items in Ads Manager.

See Product Extensions (Add Catalog Items) Features on Marketing API for more details.

Features specified as OPT_IN but ineligible for the given ad setup will be automatically removed from creative_features_spec. For example, 'image_templates' (or Add Overlays) is not eligible to be applied to video format creatives — if you opt in to this feature on a video ad, it is ineligible and thus will be automatically removed. To confirm the final outcome, you can send a GET request to retrieve the creative_features_spec field.

Do not worry if you see standard_enhancements and some standard enhancements sub-features appended to creative_features_spec when you retrieve it. As long as these sub-features are not set to OPT_IN, they will not be applied. We are in the process of deprecating standard enhancements and this behavior will be phased out once the deprecation is complete.

Most Advantage+ Creative features can be opted-in through creative_features_spec, with the exception of the music feature, which is opted-in through asset_feed_spec.

Example

curl -X POST \
  -F 'name="Advantage+ Creative Music"' \
  -F 'object_story_spec={
       "page_id": "<PAGE_ID>"
     }' \
  -F 'asset_feed_spec={
       "audios": [
         {
           "type": "random"
         }
       ]
     }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v22.0/act_<AD_ACCOUNT_ID>/adcreatives

If the features opted-in include features generated with AI, it's necessary to create the ad with a PAUSED status, then follow Step 2 and Step 3 below to complete the publishing process. When creating an ad through the /ads endpoint, the status field on the ad is set to PAUSED by default. On the other hand, if no AI-generated features are included, Step 2 and Step 3 are optional and you can directly create the ad with an ACTIVE status.

Step 2: Preview for Advantage+ Creative

See the Ad Previews reference for more information on the existing functionality of previews.

To preview an Advantage+ Creative feature, add the creative_feature parameter to your existing preview request and specify the desired feature name.

Features that support preview include image_templates, image_touchups, video_auto_crop, enhance_cta, text_optimizations, image_background_gen, and image_uncrop.

Example request

curl -X GET -G \
  -d 'ad_format="DESKTOP_FEED_STANDARD"' \
  -d 'creative_feature=<FEATURE_NAME> \
  -d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v22.0/<AD_ID>/previews

Example response

{
  "data": [
    {
      "body": "<iframe src='<PREVIEW_URL>'></iframe>",
      "transformation_spec": {
        "<FEATURE_NAME>": [
          {
            "body": "<iframe src='<PREVIEW_URL>'></iframe>",
            "status": "eligible"
          }
        ]
      }
    }
  ]
}

Click on the link to see the previews.

Note: If a transformation_spec node is not shown, that means the creative is not eligible for the Advantage+ Creative feature on the given placement, and therefore the feature will not be applied.

Once the previews have been reviewed and appear acceptable to publish, move on to Step 3 to set the ad to ACTIVE if it is not already. If any of the previews are not acceptable, create a new ad or creative without opt-in to the corresponding features.

Step 3: Set the ad status to ACTIVE

After you have verified the previews, you can set the status of the ad to ACTIVE.

Example

curl -X POST \
  -F 'status=ACTIVE' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v22.0/<AD_ID>

Learn More

Some Advantage+ Creative features have already been covered in other Marketing API docs:

Advantage+ Creative was previously available as standard enhancements on Marketing API:

Others