Ads and Commerce
Ads and Commerce
Resources

Promote Existing Posts as Threads Ads

Updated: Apr 21, 2026
You can create Threads ads by promoting existing Facebook or Instagram posts. This allows you to use content that has already been published on Facebook or Instagram as an ad creative with media (image, video, or carousel) from the original post. Social engagement (likes and comments) on the Threads ad does not propagate back to the original post on Facebook or Instagram.

Supported Post Types

Source platform Supported media types
Facebook post
Image, Video, Image Carousel
Instagram post
Image, Video, Image Carousel

Before you begin

Make sure you are familiar with the basic Threads ads creation process and know how to use posts as Instagram ads.

Limitations

  • Existing Threads organic posts cannot be promoted as ads.
  • Only image carousels are supported.
  • Boosting existing posts as partnership ads (branded content) are not supported for Threads.
  • Social engagement on the Threads ad does not propagate back to the original post on the source platform.
  • All standard Threads ads media requirements apply.
  • Media posts containing copyrighted music or interactive elements such as filters cannot be promoted.

Promote an existing Instagram post

To promote an existing Instagram post as a Threads ad, you provide the source_instagram_media_id of the organic Instagram post in your ad creative, along with the required identity fields. This media should be eligible to be boosted as an ad.

Example request

curl -X POST \
  -F 'source_instagram_media_id=<IG_MEDIA_ID>' \
  -F 'object_id=<PAGE_ID>' \
  -F 'instagram_user_id=<IG_USER_ID>' \
  -F 'threads_user_id=<THREADS_USER_ID>' \
  -F 'call_to_action={"type": "LEARN_MORE", "value": {"link": "<LINK_URL>"}}' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adcreatives

Example response

{
  "id": "<CREATIVE_ID>"
}

Promote an existing Facebook post

To promote an existing Facebook post as a Threads ad, you use the object_story_id (<PAGE_ID>_<POST_ID>) to identify the Facebook post, along with the required identity fields.

Example request

curl -X POST \
  -F 'object_story_id=<PAGE_ID>_<POST_ID>' \
  -F 'instagram_user_id=<IG_USER_ID>' \
  -F 'threads_user_id=<THREADS_USER_ID>' \
  -F 'call_to_action={"type": "LEARN_MORE", "value": {"link": "<LINK_URL>"}}' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adcreatives

Example response

{
  "id": "<CREATIVE_ID>"
}

Create the ad

Once you have the ad creative ID, use it to create an ad linking your ad set.

Example request

curl -X POST \
  -F 'name=<AD_SET_NAME>' \
  -F 'adset_id=<ADSET_ID>' \
  -F 'creative={"creative_id": "<CREATIVE_ID>"}' \
  -F 'status=PAUSED' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/ads

Learn More

Did you find this page helpful?
Thumbs up icon
Thumbs down icon