Home
Blog
Instagram Partnership Ads

March 25, 2025

Instagram Partnership Ads

By Shravya Garlapati

Partnership ads allow advertisers to run ads with creators, brands, and other businesses. The advertiser and partner accounts are featured in the ad’s header and the ads leverage signals from both accounts for improved ranking and incremental performance.

We’re expanding Marketing API support for partnership ads to make it easier to run creator marketing campaigns alongside their business-as-usual ads.

  • Advertisers can now use existing Instagram posts for partnerships ads in both Placement Asset Customization and Advantage+ Creative when creating ads via API.
  • In addition, partnership ads can now be used for click-to-message destinations.

Creating partnership ads

Creators or partners must have a professional account on Instagram to use partnership ads and must meet our eligibility requirements for Instagram partnership ads and branded content and Facebook partnership ads.

To get started building partnership ads, start with our developer guide for detailed requirements to create a partnership ad. This guide includes a step-by-step explanation on how to obtain permissions from the creator of the branded content through post-level permissions or from the brand through account level permissions.

You can then create ads by boosting existing media or by creating new media.

Boost existing posts as partnership ads with placement asset customization

Placement asset customization enables advertisers to customize the creative assets displayed in different ad placements. With this update, advertisers can now specify existing posts made by creators in placement asset customization for their Instagram ads.

Request

curl \
  -F 'name="My creative title"' \
  -F 'object_id=<PAGE_ID>' \
  -F 'source_instagram_media_id=<IG_MEDIA_ID>' \
  -F 'facebook_branded_content'={
    "sponsor_page_id": "<ADVERTISER_FB_ID>"
  } \
  -F 'instagram_branded_content'={
    "sponsor_id": "<ADVERTISER_IG_ID>"
  }
  -F 'asset_feed_spec={ 
    "optimization_type": "PLACEMENT",
    "asset_customization_rules": [
          {
            "image_label": {
              "name": "<IMAGE-LABEL>"
            },
            "customization_spec": {
              "publisher_platforms": [
                "instagram"
              ],
              "instagram_positions": [
                "stream"
              ]
            }
          }
        ]
       // other asset feed spec fieldS
     }' \
  -F 'access_token=<ACCESS_TOKEN>' \

  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives"

Response

{
  "id": "<CREATIVE_ID>"
}

Enable Advantage+ Creative when boosting existing posts as partnership ads

Advantage+ Creative automatically creates multiple variations of your ad and shows a personalized variation to each Account Center account based on what they're most likely to respond to. Now, you can use existing Instagram posts as partnership ads and enable Advantage+ Creative when creating those ads via the API.

Request using standard enhancements

curl -X POST \
  -F 'name="My creative title"' \
  -F 'object_id=<PAGE_ID>' \
  -F 'source_instagram_media_id=<IG_MEDIA_ID>' \
  -F 'facebook_branded_content'={
    "sponsor_page_id": "<ADVERTISER_FB_ID>"
  } \
  -F 'instagram_branded_content'={
    "sponsor_id": "<ADVERTISER_IG_ID>"
  }
  -F 'degrees_of_freedom_spec={
      "creative_features_spec": {
        "standard_enhancements": {
          "enroll_status": "OPT_IN"
        }
      }
    }' \ 
  -F "access_token=<ACCESS_TOKEN>" \

 https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

Request using product extensions

curl -X POST \
  -F 'name=Product Extension Creative' \
  -F 'object_id=<PAGE_ID>' \
  -F 'source_instagram_media_id=<IG_MEDIA_ID>' \
  -F 'facebook_branded_content'={
    "sponsor_page_id": "<ADVERTISER_FB_ID>"
  } \
  -F 'instagram_branded_content'={
    "sponsor_id": "<ADVERTISER_IG_ID>"
  }
  -F 'creative_sourcing_spec={
    "associated_product_set_id": "<PRODUCT_SET_ID>",
  }' \
  -F 'degrees_of_freedom_spec={
    "creative_features_spec": {
      "product_extensions": {
        "enroll_status": "OPT_IN",
        "action_metadata": {
           "type": "MANUAL",
        },
      },
    },
  }' \ 
  -F 'access_token=<ACCESS_TOKEN>' \

  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

Response

{
  "id": "<CREATIVE_ID>"
}

Set click-to-message destinations with partnership ads

Request

curl -X POST \
  -F 'name="My creative title"' \
  -F 'object_id=<PAGE_ID>' \
  -F 'source_instagram_media_id=<IG_MEDIA_ID>' \
  -F 'facebook_branded_content'={
    "sponsor_page_id": "<ADVERTISER_FB_ID>"
  } \
  -F 'instagram_branded_content'={
    "sponsor_id": "<ADVERTISER_IG_ID>"
  }
  -F 'branded_content'={
    "promoted_page_id": "<ADVERTISER_FB_ID>"
  }
-F ‘call_to_action’={
                "type":"LEARN_MORE",
                   "value": {
                        "app_destination": "MESSENGER",
                         "link": "<LINK_HERE>/"
                    }
} 
  -F "access_token=<ACCESS_TOKEN>" \

 https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

Response

{
  "id": "<CREATIVE_ID>"
}

For more information about these changes please refer to our developer documentation.


Get our newsletter

Sign up for monthly updates from Meta for Developers.

Sign up