curl
-F 'name=Instant Experiences Collection Sample Image Creative'
-F 'object_story_spec={
"link_data": {
"link": "https://fb.com/canvas_doc/<ELIGIBLE_CANVAS_ID>",
"message": "<AD_MESSAGE>",
"name": "<NAME>",
"picture": "<IMAGE_URL>",
"collection_thumbnails": [
{"element_crops": {"100x100": [[0, 0], [100, 100]]},"element_id": "<PHOTO_ELEMENT_WITH_PRODUCT_TAGS_ID>",},
{"element_child_index": 0,"element_id": "",},
{"element_child_index": 1,"element_id": "<PRODUCT_LIST_ELEMENT_ID>",},
],
},
"page_id": "<PAGE_ID>"
}'
-F 'access_token=<ACCESS_TOKEN>'
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adcreatives
curl
-F 'name=Instant Experiences Collection Sample Video Creative'
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"video_data": {
"call_to_action": {
"type":"LEARN_MORE",
"value":{
"link":"https://fb.com/canvas_doc/<ELIGIBLE_CANVAS_ID>"
}
},
"image_url": "<IMAGE_URL>",
"collection_thumbnails": [
{"element_crops": {"100x100": [[0, 0], [100, 100]]},"element_id": "<PHOTO_ELEMENT_NO_PRODUCT_TAGS_ID>",},
{"element_child_index": 0,"element_id": "<PHOTO_ELEMENT_WITH_PRODUCT_TAGS_ID>",},
{"element_child_index": 1,"element_id": "<PRODUCT_LIST_ELEMENT_ID>",},
],
"title": "<VIDEO_TITLE>",
"video_id": "<VIDEO_ID>"
}
}'
-F 'access_token=<ACCESS_TOKEN>'
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adcreatives
| Name | Description |
|---|---|
link
string
| Required Redirects the viewer to an Instant Experience. |
collection_thumbnails
array
| Required An array of thumbnails. Four thumbnails are required. |
collection_thumbnails fields| Name | Description |
|---|---|
element_id
numeric string
| Required The Canvas photo element ID or the product list element ID. The Canvas photo needs to be associated with the Instant Experience attached to this collection ad. An image associated with this ID appears in the Instant Experience after someone clicks the ad. Note: A hero image element ID is invalid. |
element_child_index
integer
| Required for a photo element with product tags and product list element The product index from an array of photo element IDs with product tags. Or a product index from an array of product_id_list, which contains the product list elements.Note: Must be a positive integer. |
Required for a photo element A JSON object defining crop dimensions for the image specified. Note: Only 100x100 crop key is allowed. |
show_in_feed set to true.curl \
-F 'canvas_photo={
"photo_id": "<PHOTO_ID>",
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/<PAGE_ID>/canvas_elements
curl \
-F 'canvas_video={
"video_id": "<VIDEO_ID>",
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/<PAGE_ID>/canvas_elements
curl -X POST \
-F canvas_template_video={
"name": "Cover Image or Video",
"bottom_padding": "0",
"top_padding": "0",
"product_set_id": <Product_Set_ID>,
"template_video_spec": {
"customization": {
"text_color": "FFFFFF",
"text_background_color": "000000",
"name_template": "{{product.name}}",
"body_template": "{{product.current_price strip_zeros}}"
},
}
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/<PAGE_ID>/canvas_elements
canvas_product_set with a product_set_id from your product catalog. You must set show_in_feed to true to create a collection ad.curl -X POST \
-F 'canvas_product_set={
"max_items": 50,
"product_set_id": "<PRODUCT_SET_ID>",
"item_headline": "{{product.name}}",
"item_description": "{{product.current_price}}"
"image_overlay_spec": {
"overlay_template": "pill_with_text",
"text_type": "price",
"text_font": "dynads_hybrid_bold",
"position": "top_left",
"theme_color": "background_e50900_text_ffffff",
"float_with_margin": true,
},
"storefront_setting": {
"enable_sections": true,
"customized_section_titles": [
{
"title_id": "popular", "customized_title": "My Populars"
},
{
"title_id": "favorites", "customized_title": "My Favorites"
}],
"product_set_layout": {
"layout_type": "GRID_3COL"
}
},
"retailer_item_ids": [0, 0, 0],
"show_in_feed": true
}' \
https://graph.facebook.com/v25.0/<PAGE_ID>/canvas_elements
item_headline, item_description, image_overlay_spec, storefront_setting, and retailer_item_ids parameters are all optional fields.image_overlay_spec parameter.storefront_setting parameter supports the product_set_layout, enable_sections, and customized_section_titles fields.product_set_layout field| Name | Description |
|---|---|
layout_type
string
| Required. How the product set will be displayed. Values: GRID_2COL, GRID_3COL, CAROUSEL, HSCROLL_LIST |
customized_section_titles fieldcustomized_section_titles, the enable_sections parameter must be set to true.| Name | Description |
|---|---|
title_id
string
| Required. Enum string representing the default section title string that you would like to replace. Values: keep_shopping, take_another_look, you_may_also_like, related_products, trending, popular, top_items, favorites, most_viewed, top_picks_for_you, suggested_for_you, featured_favorites, just_for_you, explore_more, shop_by_category |
customized_title
string
| Required. Alternative custom string that the viewer should see as the section title. |
curl \
-F 'canvas_button={
"rich_text": {
"plain_text": "See more at www.abc.com."
},
"open_url_action": {
"url": "https://www.abc.com"
}
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/<PAGE_ID>/canvas_elements
curl \
-F 'canvas_footer={
"child_elements": <BUTTON_ELEMENT_ID>
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/<PAGE_ID>/canvas_elements
curl -X POST \
-F 'body_element_ids=[
<PHOTO_OR_VIDEO_ELEMENT_ID>,
<PRODUCT_SET_ELEMENT_ID>,
<FOOTER_ELEMENT_ID>
]' \
-F 'is_published=true' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/<PAGE_ID>/canvases
source_template_id parameter.curl \
-F 'body_element_ids=[
<TEMPLATE_VIDEO_ELEMENT_ID>,
<PRODUCT_SET_ELEMENT_ID>,
<FOOTER_ELEMENT_ID>
]' \
-F 'name="Dynamic Video Instant Experience"' \
-F 'source_template_id="1932289657009030"' \
-F 'is_published=true' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/<PAGE_ID>/canvases
source_template_id = 1932289657009030, it is defined in Instance Experiences: Using templates. The layout for each template is fixed; however, you can replace the default content with your own dynamic videos, products, text and links.object_type to SHARE.curl \
-F 'name=Collection Sample Image Creative' \
-F 'object_story_spec={
"link_data": {
"link": "https://fb.com/canvas_doc/<CANVAS_ID>",
"message": "<AD_MESSAGE>",
"name": "<AD_HEADLINE>",
},
"page_id": "<PAGE_ID>"
}' \
-F 'object_type=SHARE' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adcreatives
object_type to VIDEO.curl \
-F 'name=Collection Sample Video Creative' \
-F 'object_story_spec={
"video_data": {
"call_to_action": {
"type":"LEARN_MORE",
"value":{
"link":"https://fb.com/canvas_doc/<CANVAS_ID>",
}
},
"image_url": "<THUMBNAIL_IMAGE_URL>",
"message": "<AD_MESSAGE>",
"title": "<AD_HEADLINE>",
},
"page_id": "<PAGE_ID>"
}' \
-F 'object_type=VIDEO' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/adcreatives
curl -X POST \
-F 'name="Dynamic Video Collection Ad"' \
-F 'adset_id=<ADSET_ID>' \
-F 'status=PAUSED' \
-F 'creative={
"object_story_spec": {
"instagram_user_id": "<INSTAGRAM_PAGE_ID>",
"page_id": "<MAIN_PAGE_ID>",
"template_data":{
"call_to_action":{
"type":"LEARN_MORE"
},
"format_option":"collection_video",
"link":"https://fb.com/canvas_doc/<CANVAS_ID>",
"name":"Test Dynamic Ads with dynamic video",
"retailer_item_ids":[
"0",
"0",
"0",
"0"
]
}
},
"object_type": "SHARE",
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/ads
ad_format and User access token to generate previews based on your ad or ad creative.curl -X GET \
-d 'ad_format="MOBILE_FEED_STANDARD"' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/<CREATIVE_ID>/previews
BIZ_DISCO_FEED_MOBILE, GROUPS_MOBILE, MOBILE_FEED_STANDARD, SUGGESTED_VIDEO_DESKTOP, SUGGESTED_VIDEO_MOBILE, WATCH_FEED_MOBILE.FB.ui({
display: 'popup',
method: 'instant_experiences_builder',
account_id: 'AD_ACCOUNT_ID'.
business_id: 'BUSINESS_ID',
page_id: 'PAGE_ID',
template_id: 'TEMPLATE_ID'
}, function(response) {
// callback
});
| Name | Description |
|---|---|
display | Required. Value: popup |
method | Required. Value: instant_experiences_builder |
account_id | Required. Your ad account ID. |
business_id | Required. Your business ID. |
page_id | Required. The Page ID you want to associate with the Instant Experience. |
template_id | Required. The ID of the template you want to use. |
product_catalog_id | Required, if product_set_id is provided.The ID of the product catalog to be used in the collection. Note: Once provided, you will not be able to change the collection in the UI. If the parameter is not provided, you can select the catalog and product set in the UI. |
product_set_id | Optional. The ID of the product set to be used in the collection. Note: Once provided, you will not be able to change the collection in the UI. If the parameter is not provided, you can select the catalog and product set in the UI. |
{ "success": true, "id": "<CANVAS_ID>" }
id returned will be an unpublished Instant Experience. It needs to be published before it can be used in ad campaigns.undefined response is returned, it means the dialog was closed before finishing the Instant Experience set up or that the user saved the Instant Experience but did not finished it. You can query to see all the Instant Experiences that belong to a page and see if any are unfinished Instant Experiences.destination_set_id parameter when creating your canvas_photo element, then follow the other standard steps to create your Instant Experience and collection ad.curl -X POST \
-F 'canvas_photo={
"photo_id": "<PHOTO_ID>",
"destination_set_id": "<DESTINATION_SET_ID>",
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/<PAGE_ID>/canvas_elements
object_id to CANVAS_ID, and make a rule to track one of the events.curl -X POST \
-F 'name=Collection Engagement Audience' \
-F 'description=People who opened this Instant Experience' \
-F 'rule=[{
"object_id":"<CANVAS_ID>",
"event_name":"instant_shopping_document_open"
}]' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/customaudiences
curl -X POST \
-F 'name=Collection Engagement Audience' \
-F 'description=People who clicked any links in this Instant Experience' \
-F 'rule=[{
"object_id":"<CANVAS_ID>",
"event_name":"instant_shopping_element_click"
}]' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v25.0/act_<AD_ACCOUNT_ID>/customaudiences