Asset Feed Options

Use these parameters to represent creative assets for the following solutions:

The spec's format is different for each use case. See also Reference, Asset Feed Spec.

Property Name Description Type Required


Array of eligible images. Images provided in this array should be included in the ad account's image library.

array of list of {"url": "{IMAGE_URL}", "hash": "{IMAGE_HASH}", "url_tags": "{TAG}"}. Either url or hash is required



Array of video_ids. video_ids provided in this array should belong to the ad account.

array of list of {"video_id": "{VIDEO_ID}", "thumbnail_url": "{THUMBNAIL_URL}", "url_tags": "{TAG}"}

Yes. For SINGLE_VIDEO format.


Array of bodies. The primary message or copy of the ad.

array of list of {"text": "{BODY_TEXT}", "url_tags": "{TAG}"}



Array of call-to-action-type values

array of list of {"{CALL_TO_ACTION}"}. You can provide multiple values, up to five.

Yes. For all objectives, except REACH and BRAND AWARENESS.


Array of titles. A title is a short headline in the ad, generally shown next to a link, image or video.

array of list of {"text": "{TITLE}", "url_tags": "{TAG}"}



Array of secondary description text, displayed less prominently than bodies or titles. Generally appears next to a link, image or video. If not specified, Facebook scrapes the link you provided to generate it. Use an empty string with single space for blank description, if you do not want to use the scraped text.

array of list of {"text": "{DESCRIPTION}", "url_tags": "{TAG}"}



Array of link URLs

array of list of {"website_url": "{URL}"}



Array of Facebook ad formats we should create the ads in. Supported formats are: SINGLE_IMAGE, CAROUSEL_IMAGE, SINGLE_VIDEO

array of strings ["{AD_FORMAT}"]



Optimization type used in asset feed. Possible values are ASSET_CUSTOMIZATION, LANGUAGE, PLACEMENT, and REGULAR.



asset_feed_spec Restrictions

Ad Formats

  • Three ad_formats are supported: SINGLE_IMAGE, CAROUSEL_IMAGE, and SINGLE_VIDEO.
  • Only one ad_format is allowed per asset feed.
  • ad_format counts as one asset in an asset feed.

Number of Assets:

  • Maximum of 30 total assets. For example, you have 28 assets with 10 images, 5 bodies, 5 titles, 5 description, 1 ad_format, 1 link_url, and 1 call_to_action_types.
  • Total number of images: <= 10.
  • Total number of videos: <= 10. If you use Instagram as your placement, only square videos or landscape videos allowed.
  • Total number of bodies: <= 5.
  • Total number of call-to-actions: <= 5.
  • Total number of titles: <= 5.
  • Total number of links: <= 5.
  • Total number of descriptions: <= 5.

Image requirements:

  • Recommended image specs: 1.9:1.
  • Recommended image size: 1,200 x 628 pixels.
  • For CAROUSEL_IMAGE format, you must provide at least 2 images.
  • If you use Instagram as your placement, use square images for better performance.

Text requirements:

  • Title and description text: maximum length of 255 characters.
  • Body text: maximum length of 1024 characters.
  • If you do not specify any description, we scrape the link you provided to retrieve a description.
  • For CAROUSEL_IMAGE, titles are optional.

url_tags are optional and only available for images, videos, bodies, descriptions, and titles. Facebook appends url_tags to the link URL as parameters for each asset in an ad.

For example, a valid asset feed combination setup for SINGLE_IMAGE format is:

  • 5 images
  • 3 bodies
  • 3 titles
  • 3 descriptions
  • 1 format: SINGLE_IMAGE
  • 2 link_urls
"link_urls=[{'website_url':'<WEBSITE_URL>'}, {'website_url':'<WEBSITE_URL>'}]" 

Use Deep Links

You can use deeplinks in asset feed specs for campaigns with the following objectives:


Add deeplink_url in link_urls when you create your asset_feed_spec.

-F 'object_story_spec={
       "page_id": "<PAGE_ID>"
       "instagram_actor_id" : "<INSTAGRAM_ACTOR_ID>",
-F "asset_feed_spec={'images': [{'hash':'image_hash'}], 'bodies': [{'text':'Body 1'}, {'text':'Body 2'}], 'titles': [{'text':'Title 1'}, {'text':'Title 2'}], 'descriptions': [{'text':' '}], 'ad_formats': ['SINGLE_IMAGE'], 'link_urls': [{'website_url':'App's object store URL','deeplink_url':'deeplink URL'}]}"
-F 'access_token=<ACCESS_TOKEN>'<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives