Branded content ads are now called partnership ads.
Advertisers can now boost more types of organic Instagram content as partnership ads, including branded content with the paid partnership label, Instagram Collab posts, @mentions, people tags, product tags, and other content without the paid partnership label, but advertisers can still use the ad code or an existing media ID to create partnership ads for all types of contents. This document shows you how to:
Review the requirements for creating partnership ads.
To get all media that an advertiser is tagged in, that are available to be used in an ad, send a GET
request to the /<INSTAGRAM_ID>/branded_content_advertisable_medias
endpoint where the INSTAGRAM_ID
is the ID for the Instagram Professional account for your brand.
Name | Dexcription |
---|---|
| Optional. |
| Optional. |
| Optional. |
| Optional. |
curl -i -X GET \
-d 'creator_username=<CREATOR_USERNAME>' \
-d 'access_token=<PAGE_ACCESS_TOKEN>' \
-d 'permalinks=[<’PERMALINK1’,’PERMALINK2’>]' \
-d 'only_fetch_allowlisted=<BOOLEAN>' \
-d 'ad_code=<CREATOR_AD_CODE>' \
'https://graph.facebook.com/v22.0
/<INSTAGRAM-ID>/branded_content_advertisable_medias?fields=eligibility_errors%2Cowner_id%2Cpermalink%2Cid&access_token=123,has_permission_for_partnership_ad'
Upon success, your app will receive a list of media containing the media id, eligibility errors (if any), permalink, if advertiser has permissions to boost the post and owner ID of the media that can be used in ads.
{ "data": [ { "eligibility_errors": [ "Cannot use Reels containing tappable elements can't be used for ads. Choose a different post to create an ad." ], “has_permission_for_partnership_ad”:true "owner_id": "16502228360082", "permalink": "https://www.instagram.com/reel/CzboAd3R91-/", "id": "16502230933174" }, { "owner_id": "90010135660647", "permalink": "https://www.instagram.com/p/CywLmKWu6Zs/", "id": "90013017840068", “has_permission_for_partnership_ad”:true }, { "owner_id": "90010489752294", "permalink": "https://www.instagram.com/p/CyWe6-ExB7p/", "id": "90012928652981", “has_permission_for_partnership_ad”:false }, { "eligibility_errors": [ "Can’t use GIF stickersRemove or choose a different sticker." ], "owner_id": "90010135660647", "permalink": "https://www.instagram.com/reel/CyEb6q4OuoN/", "id": "90012872006248" }, ... ], "paging": { "cursors": { "before": "QVFIUkR6amZAhLVVVWGpfTlRBenRsOUJCQ3lR==", "after": "QVFIUlhBX1hoQzI4SkVFaTRoeEpTdEpJMFdIUh==" }}
To create ads, you will use the Marketing API as you normally would for ads creation.
Send a POST
request to the /act_<AD_ACCOUNT_ID>/adcreatives
endpoint with the object_id
field set to the ID for the Facebook Page for your brand and the source_instagram_media_id
field set to the ID for the Instagram Post for the branded content you want to use in your ad.
Formatted for readability.
curl -X POST \
-F 'object_id=<PAGE_ID>' \
-F 'source_instagram_media_id=<IG_MEDIA_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
-F 'facebook_branded_content'={
"sponsor_page_id": "<ADVERTISER_FB_ID>"
} \
-F 'instagram_branded_content'={
"sponsor_id": "<ADVERTISER_IG_ID>"
}
'https://graph.facebook.com/v22.0
/act_<AD_ACCOUNT_ID>/adcreatives'
Upon success, your app will receive an ID for the ad creative.
{ "id": "<CREATIVE_ID>" }
To create ads using a Partnership Ad Code, you will use the Marketing API as you normally would for ads creation.
Send a POST
request to the /act_<AD_ACCOUNT_ID>/adcreatives
endpoint with the object_id
field (creator Facebook Page ID) set to the ID for the Facebook Page for your brand and the instagram_boost_post_access_token
given by the creator.
These are the required fields to be passed in the API call (example in JavaScript):
curl -X POST \
-F 'object_id=<BRAND_PAGE_ID>' \
-F 'branded_content ={
"instagram_boost_post_access_token": "<AD_CODE>"
}' \
-F 'access_token=<ACCESS_TOKEN>' \
-F 'facebook_branded_content'={
"sponsor_page_id": "<ADVERTISER_FB_ID>"
} \
-F 'instagram_branded_content'={
"sponsor_id": "<ADVERTISER_IG_ID>"
}
'https://graph.facebook.com/v22.0
/act_<AD_ACCOUNT_ID>/adcreatives'
Upon success, your app will receive an ID for the ad creative.
{ "id": "<CREATIVE_ID>" }
Next, you will use the ad creative, to create the ad.
Send a POST
request to the /act_<AD_ACCOUNT_ID>/ads
endpoint with the name
field set to the name for your ad, the adset_id
field set to the ID for your ad set, the creative
field with the creative_id
parameter set to the ID for your ad creative, and the status
intially set PAUSED
.
curl -X POST \
-F 'name": "My Ad's Name"' \
-F 'adset_id: <ADSET_ID>' \
-F 'creative: {"creative_id": <CREATIVE_ID>}' \
-F 'status: "PAUSED"' \
-F 'access_token=<ACCESS_TOKEN>' \
'https://graph.facebook.com/v22.0
/act_<AD_ACCOUNT_ID>/ads'
Upon success, your app will receive an ID for the ad.
{ "id": "<AD_ID>" }
You can use this ad ID to publish your ad.
If you are working on boosting video media, you might encounter the error "Instagram Video Must Be Uploaded To Facebook". A workaround for this would be to use the following API call:
curl -X POST \
-F 'source_instagram_media_id=<MEDIA-ID>' \
'https://graph.facebook.com/v22.0
/act_<AD_ACCOUNT_ID>/advideos
Upon success, your app will receive an ID for the video.
{ "id": "<VIDEO-ID>" }