Threads Ads Creation
Updated: Jan 30, 2026
Some updates to Threads Ads may not be available to all users yet.
With Marketing API you can create, measure, and optimize ads on Threads in the main feed. To create your ads:
- There is a 1000 character limit on captions for ads targeting Threads. If your ad is over this limit, the request to create an ad will succeed for Instagram, but it will not be delivered on Threads.
- Threads images must be at least 500px in width.
- There is a limit of 30 hashtags per ad.
Step 1: Get a Threads account ID
You need to know your Threads account’s ID before you start creating ads. Depending on your account’s type, you have different ways of getting an account ID:
Step 2: Create an ad campaign
Creating ad objects for Threads is the same as it is for Instagram and Facebook ads. To start,
create an ad campaign and specify your objective.
Threads compatible objectives vary according to your chosen ad placement:
|
Ad Placement
|
Compatible Objectives
|
|---|
Ads in Threads Feed (threads_stream) | OUTCOME_AWARENESS, OUTCOME_TRAFFIC, OUTCOME_ENGAGEMENT, OUTCOME_SALES
|
To deliver ads to Threads, include both
instagram and
threads under
publisher_platforms in your ad set. Then, use the Threads
threads_stream placement; remember you must select the Instagram
stream placement too. If you choose multiple platforms, Meta optimizes delivery based on your target audience on each platform with
placement optimization.
Create an ad set with Threads as a placement
curl \
-F 'name=Threads Adset' \
-F 'optimization_goal=LINK_CLICKS' \
-F 'billing_event=IMPRESSIONS' \
-F 'bid_amount=2' \
-F 'daily_budget=1000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={
"geo_locations": {"countries":["US"]},
"publisher_platforms": ["instagram", "threads"],
"user_os": ["iOS"]
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adsets
Create an ad set with Threads threads_stream as a targeted placement
curl \
-F 'name=Threads Adset' \
-F 'optimization_goal=LINK_CLICKS' \
-F 'billing_event=IMPRESSIONS' \
-F 'bid_amount=2' \
-F 'daily_budget=1000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={
"geo_locations": {"countries":["US"]},
"publisher_platforms": ["instagram", "threads"],
"instagram_positions": ["stream"],
"threads_positions": ["threads_stream"],
"user_os": ["iOS"]
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adsets
Step 4: Provide an ad creative
When you
provide the ad creative, we create an unpublished post. You can see the unpublished post from the Page when you query the promotable feed using the Page ID.
Your Page information does not appear anywhere on your Threads ad.If the Threads account is associated with an Instagram account in the Business Portfolio (i.e., matching usernames) or is an Instagram-backed Threads Account, that Instagram account needs to be used.
Note: Businesses with an Instagram-associated Threads account created before Jaunary 29, 2026, will have their Threads account automatically added to their Business Portfolio with the same user access and permissions managed from the Instagram account. Developers can continue to use the same Instagram-associated Threads account IDs as they were using prior to January 29, 2026. New Threads accounts created after January 29, 2026, will need to be manually added to the Business Portfolio and managed like other account types.
When new media setups and ad formats become compatible with Threads, both existing and newly created campaigns using them will automatically leverage your Threads profile or Instagram account to deliver to threads_stream if that placement is included. You can review and update your ad placements at any time.
There is a limit of 30 hashtags per ad.
There is a 1000 character limit on captions for ads targeting Threads. If your ad is over this limit, the request to create an ad will succeed for Instagram, but it will not be delivered on Threads. 80 to 160 characters is recommended.
Note: Hashtags and URLs are not supported in the caption.
Aspect Ratio
1.91:1 to 9:16 are supported. Images with a taller ratio than 4:5 will be cropped and vertically centered to 4:5. Images with a ratio of 1.91:1 to 4:5 will not be cropped or altered.
Size
Threads images must be at least 500px in width.
Aspect Ratio
1.91:1 to 9:16 are supported. Videos with a taller ratio than 4:5 will be cropped and centered to 4:5. Images with a ratio of 1.91:1 to 4:5 will not be cropped or altered.
Aspect Ratio for images
1.91:1 to 9:16 are supported. Images with a ratio outside of 1:1 will be center cropped to 1:1. Images with a ratio of 1:1 will not be cropped or altered.
Step 5: Schedule ad delivery
For Threads ads, you can get a preview of: