Back to News for Developers

Instagram Story Ads

April 17, 2017ByJay Yan

Today we release ads in Instagram Stories on the Facebook Marketing API.

This is a new opportunity for your business to connect with your customers. Starting this month, we are enabling "Reach" campaigns for the Instagram Stories ad placement. We expect support for other ad objectives such as website clicks, website conversions, and mobile app installs in the upcoming months. All the targeting and measurement capabilities available across Instagram and Facebook today can be leveraged seamlessly.

To run ads in Instagram Stories, provide your media in the correct format: images or videos need to be portrait, 9:16 or taller, with at least 600 pixels in width. This is the first time we are allowing for full-screen 9:16 on the Instagram platform.

Some aspects of this new format include:

  • Single image or video only, no carousel.
  • Video length no longer than 15 seconds.
  • No standalone text content such as titles, messages, descriptions, captions, and so on.
  • Link or Call To Action button coming soon, but not available at launch.

When you call Facebook Marketing API to create an ad set, use the new subfield in targeting, called instagram_positions. This may include either stream or story. If it is not specified, it means stream only. To place an ad in Instagram Stories, use only story. When you select story there are no other placements you can select. Placement Optimization, the support of Instagram Story placement along with other placements together, is coming soon, but not available at launch.

curl \
-F "name=adset" \
-F "daily_budget=1000" \
-F "bid_amount=10" \
-F "billing_event=IMPRESSIONS" \
-F "targeting= { \
      'geo_locations': {'countries': ['US']}, \
      'publisher_platforms': ['instagram'], \
      'instagram_positions': ['story'], \
    }" \
-F "status=PAUSED" \
-F "campaign_id=<REACH_CAMPAIGN_ID>" \
-F "access_token=<ACCESS_TOKEN>" \<AD_ACCOUNT_ID>/adsets

To preview your new Instagram Story Ad, use the preview API, you can use a new ad format INSTAGRAM_STORY. Because that an Instagram Story ad is not based on a post, there is no URL pointing to this ad as the other ad formats.

curl \
-F "ad_format=INSTAGRAM_STORY" \
-F "access_token=<ACCESS_TOKEN>" \<AD_ID>/previews

You can also get insights on your Instagram Story ads by calling the Insights API.