Dynamic Collections Ads Guide
Collection ads can be used to market products dynamically, these Ads can either be made fully Dynamic or partly Dynamic.
- A fully dynamic Collection ad selects both the top snap and the creative elements dynamically based on the associated Product Set.
- A partly dynamic Collection ad will have a static Top Snap Media (Video/Image), only the creative elements will be dynamically picked based on the associated product set.
Both variants of the Dynamic Collection Ad need an Interaction zone with 2-4 Creative Elements, the Creative Elements will dynamically select Products out of an associated Product Set.
Assuming you have an existing Product feed and Product set, the order of creation from the bottom of the hierarchy is:
- Creative Elements
- Interaction Zone
- Creative
- Ad Squad
- Ad entity
Product feed - Interaction support
Before setting up the Creative Elements you should ensure the chosen interaction is supported by the product feed and product set you intend to use. The Product Search method along with the parameter ELIGIBLE_AD_TYPE can be used to evaluate this. Refer to Product Search
The three Ad formats supported by product search and ELIGIBLE_AD_TYPE are APP_INSTALL, DEEP_LINK_ATTACHMENT and REMOTE_WEBPAGE.
curl -X POST \
-H "Authorization: Bearer meowmeowmeow" \
-H "Content-Type: application/json" \
-d '{"filter":{"AND":[{"ELIGIBLE_AD_TYPE":{"EQ":"DEEP_LINK_ATTACHMENT"}},{"PRODUCT_SET_ID":{"EQ":"8dc5f3ff-ab02-460b-bbbd-1ade8bb3da38"}},{"OR":[{"AVAILABILITY":{"EQ":"IN_STOCK"}},{"AVAILABILITY":{"EQ":"PREORDER"}},{"AVAILABILITY":{"EQ":"AVAILABLE_FOR_ORDER"}}]}]}}'
https://adsapi.snapchat.com/v1/catalogs/82225ba6-7559-4000-9663-bace8adff5f8/product_search?limit=0
{
"request_status": "SUCCESS",
"request_id": "5ff70e2b00ff08056236e672d10001737e616473617069736300016275696c642d33343532666138312d312d3431312d300001013d",
"summary": {
"total_products": {
"count": "47",
"relation": "EQ"
}
},
"paging": {},
"products": [
{ ...}
]
}
HTTP Request
POST https://adsapi.snapchat.com/v1/catalogs/{catalog_id}/product_search?limit=0
Creative Elements
The Creative element is a holder for the Product Feed images which will be picked dynamically from the Product set defined in dynamic_render_properties.product_set_id at the Creative level.
The Creative Element also specifies the interaction triggered when the user taps the Element (webview/app install/deep link) via the attribute interaction_type.
Once the Creative Element entity has been created it cannot be updated.
curl -X POST \
-H "Authorization: Bearer meowmeowmeow" \
-H "Content-Type: application/json" \
-d '{"creative_elements":[{"name":"Product tile 1","type":"BUTTON","interaction_type":"WEB_VIEW","render_type":"DYNAMIC"},{"name":"Product tile 2","type":"BUTTON","interaction_type":"WEB_VIEW","render_type":"DYNAMIC"},{"name":"Product tile 3","type":"BUTTON","interaction_type":"WEB_VIEW","render_type":"DYNAMIC"}]}'
https://adsapi.snapchat.com/v1/adaccounts/82225ba6-7559-4000-9663-bace8adff5f8/creative_elements
{
"request_status": "SUCCESS",
"request_id": "5fda1dd300ff0d787cd06ea62b0001737e616473617069736300016275696c642d66306132623635382d312d3430392d3200010160",
"creative_elements": [
{
"sub_request_status": "SUCCESS",
"creative_element": {
"id": "5bc30331-9428-46a6-8d4c-5093124c6d03",
"updated_at": "2020-12-16T14:46:44.152Z",
"created_at": "2020-12-16T14:46:44.152Z",
"name": "Product tile 1",
"ad_account_id": "82225ba6-7559-4000-9663-bace8adff5f8",
"type": "BUTTON",
"interaction_type": "WEB_VIEW",
"render_type": "DYNAMIC"
}
},
{
"sub_request_status": "SUCCESS",
"creative_element": {
"id": "83d7b96d-bdb1-4e46-83b2-1a6d61a36b56",
"updated_at": "2020-12-16T14:46:44.454Z",
"created_at": "2020-12-16T14:46:44.454Z",
"name": "Product tile 2",
"ad_account_id": "82225ba6-7559-4000-9663-bace8adff5f8",
"type": "BUTTON",
"interaction_type": "WEB_VIEW",
"render_type": "DYNAMIC"
}
},
{
"sub_request_status": "SUCCESS",
"creative_element": {
"id": "578e3f05-a87d-4af5-a389-55c086277dad",
"updated_at": "2020-12-16T14:46:44.727Z",
"created_at": "2020-12-16T14:46:44.727Z",
"name": "Product tile 3",
"ad_account_id": "82225ba6-7559-4000-9663-bace8adff5f8",
"type": "BUTTON",
"interaction_type": "WEB_VIEW",
"render_type": "DYNAMIC"
}
}
]
}
HTTP Request
POST https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/creative_elements
Creative Elements Parameters
Attribute | Description | Required | Possible Values |
---|---|---|---|
name | Creative Element name | R | |
type | R | BUTTON | |
title | Creative Element title | O | |
description | Creative Element description | O | |
interaction_type | Defines the behaviour of the Creative Elements | R | WEB_VIEW, APP_INSTALL, DEEP_LINK |
render_type | R | DYNAMIC |
Interaction Zones
The Interaction zone is mainly a holder where the Dynamic Creative Elements will be shown, it also holds the call to action for the Snap Ad under the attribute headline. The 2-4 Creative Elements that are added to the Interaction Zone should have the same interaction_type.
Once created the Interaction Zone entity cannot be updated.
curl -X POST \
-H "Authorization: Bearer meowmeowmeow" \
-H "Content-Type: application/json" \
-d '{"interaction_zones":[{"name":"The Badger Shop Interaction Zone","render_type":"DYNAMIC","creative_element_ids":["5bc30331-9428-46a6-8d4c-5093124c6d03","83d7b96d-bdb1-4e46-83b2-1a6d61a36b56","578e3f05-a87d-4af5-a389-55c086277dad"],"headline":"MORE"}]}'
https://adsapi.snapchat.com/v1/adaccounts/82225ba6-7559-4000-9663-bace8adff5f8/interaction_zones
{
"request_status": "SUCCESS",
"request_id": "5fda1f3300ff0c89632e43f2c20001737e616473617069736300016275696c642d66306132623635382d312d3430392d3200010128",
"interaction_zones": [
{
"sub_request_status": "SUCCESS",
"interaction_zone": {
"id": "51d12f07-8690-4a41-b201-6a99335bbaa2",
"updated_at": "2020-12-16T14:52:36.057Z",
"created_at": "2020-12-16T14:52:36.057Z",
"name": "The Badger Shop Interaction Zone",
"ad_account_id": "82225ba6-7559-4000-9663-bace8adff5f8",
"headline": "MORE",
"creative_element_ids": [
"5bc30331-9428-46a6-8d4c-5093124c6d03",
"83d7b96d-bdb1-4e46-83b2-1a6d61a36b56",
"578e3f05-a87d-4af5-a389-55c086277dad"
],
"render_type": "DYNAMIC"
}
}
]
}
HTTP Request
POST https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/interaction_zones
Interaction Zones Parameters
Attribute | Description | Required | Possible Values |
---|---|---|---|
name | Interaction Zone name | R | |
render_type | R | DYNAMIC | |
creative_elements | An array of 2-4 Creative Element ids, these elements should be of the same interaction_type | R | |
headline | This is used as the CTA for the Collection Ad | R | APPLY_NOW, BOOK_NOW, BUY_TICKETS, DONATE, DOWNLOAD, GET_NOW, INSTALL_NOW, LISTEN, MORE, OPEN_APP, ORDER_NOW, PLAY, READ, RESPOND, SHOP_NOW, SHOW, SHOWTIMES, SIGN_UP, TRY, USE_APP, VIEW, WATCH |
Fully Dynamic Collection Ad Creative
The Top Snap media will be a product picked dynamically based on the Product Catalog (product_set) like in an ordinary Dynamic Product Ad.
The 2-4 Creative Elements displayed at the bottom of the Top Snap are inserted via the Interaction Zone and picked dynamically based on the Product Catalog (product_set).
The collection_properties.default_fallback_interaction_type should match the interaction_type of the Creative Elements used in the Interaction Zone.
curl -X POST \
-H "Authorization: Bearer meowmeowmeow" \
-H "Content-Type: application/json" \
-d '{"creatives":[{"ad_account_id":"82225ba6-7559-4000-9663-bace8adff5f8","name":"Dynamic Collection Ad with Dynamic Top Snap","type":"COLLECTION","headline":"Badger Supplies","brand_name":"Badger Tunneling","shareable":true,"render_type":"DYNAMIC","dynamic_render_properties":{"dynamic_template_id":"013cb00d-7b8a-467a-a6be-614c269dafe2","product_set_id":"b6d35541-d5b6-4e06-a400-03f9937392cc"},"collection_properties":{"interaction_zone_id":"51d12f07-8690-4a41-b201-6a99335bbaa2","default_fallback_interaction_type":"WEB_VIEW"}}]}'
https://adsapi.snapchat.com/v1/adaccounts/82225ba6-7559-4000-9663-bace8adff5f8/creatives
{
"request_status": "SUCCESS",
"request_id": "5fda234d00ff02f5557aba61770001737e616473617069736300016275696c642d66306132623635382d312d3430392d3200010123",
"creatives": [
{
"sub_request_status": "SUCCESS",
"creative": {
"id": "de8a165e-f031-4a94-a56b-d0b5b4e1c20f",
"updated_at": "2020-12-16T15:10:05.566Z",
"created_at": "2020-12-16T15:10:05.566Z",
"name": "Dynamic Collection Ad with Dynamic Top Snap",
"ad_account_id": "82225ba6-7559-4000-9663-bace8adff5f8",
"type": "COLLECTION",
"packaging_status": "SUCCESS",
"review_status": "PENDING_REVIEW",
"shareable": true,
"headline": "Badger Supplies",
"brand_name": "Badger Tunneling",
"render_type": "DYNAMIC",
"dynamic_render_properties": {
"dynamic_template_id": "013cb00d-7b8a-467a-a6be-614c269dafe2",
"product_set_id": "b6d35541-d5b6-4e06-a400-03f9937392cc"
},
"top_snap_crop_position": "MIDDLE",
"ad_product": "SNAP_AD",
"collection_properties": {
"interaction_zone_id": "51d12f07-8690-4a41-b201-6a99335bbaa2",
"default_fallback_interaction_type": "WEB_VIEW"
}
}
}
]
}
HTTP Request
POST https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/creatives
Creative - Collection Creative with Dynamic Top Snap - Parameters
Attribute | Description | Required | Possible Values |
---|---|---|---|
ad_account_id | Ad Account ID | R | |
name | Creative name | R | |
type | Creative type | R | COLLECTION |
headline | 34 characters max | R | |
brand_name | 25 characters max | R | |
shareable | Allow Users to Share with Friends | O | true (default), false |
render_type | DYNAMIC | R | |
dynamic_render_properties.dynamic_template_id | Dynamic Template ID | R | |
dynamic_render_properties.product_set_id | Product Set ID used for Products | R | |
collection_properties.interaction_zone_id | Interaction Zone ID | R | |
collection_properties.default_fallback_interaction_type | Defines Interaction behaviour for the Creative | R | WEB_VIEW, APP_INSTALL, DEEP_LINK |
Partly Dynamic Collection Ad
The Top Snap media is uploaded as a separate Media (image/video) and has its own set of attributes at the Creative level (WEB_VIEW, APP_INSTALL, DEEP_LINK), this attribute should match the interaction_type of the Creative Elements.
The 3-4 Creative Elements displayed at the bottom of the Top Snap are inserted via the Interaction Zone and picked dynamically based on the Product Catalog (product_set).
The collection_properties.default_fallback_interaction_type should match the interaction_type of the Creative Elements used in the Interaction Zone.
curl -X POST \
-H "Authorization: Bearer meowmeowmeow" \
-H "Content-Type: application/json" \
-d '{"creatives":[{"ad_account_id":"82225ba6-7559-4000-9663-bace8adff5f8","name":"Dynamic Collection Ad with Static Top Snap","type":"COLLECTION","headline":"Badger Supplies","brand_name":"Badger Tunneling","shareable":true,"render_type":"STATIC","top_snap_media_id":"e02308fd-ab84-4b6e-8c71-4fe1fc2f1ae2","dynamic_render_properties":{"product_set_id":"b6d35541-d5b6-4e06-a400-03f9937392cc"},"collection_properties":{"interaction_zone_id":"51d12f07-8690-4a41-b201-6a99335bbaa2","default_fallback_interaction_type":"WEB_VIEW","web_view_properties":{"url":"https://www.example.com/bookingfolder/linkedpage.html","allow_snap_javascript_sdk":false,"use_immersive_mode":false,"deep_link_urls":[],"block_preload":false}}}]}'
https://adsapi.snapchat.com/v1/adaccounts/82225ba6-7559-4000-9663-bace8adff5f8/creatives
{
"request_status": "SUCCESS",
"request_id": "5fda252200ff00ff08972bb0da7a0001737e616473617069736300016275696c642d66306132623635382d312d3430392d3200010119",
"creatives": [
{
"sub_request_status": "SUCCESS",
"creative": {
"id": "8eec06bd-d3fd-4841-b330-d04b82dfd862",
"updated_at": "2020-12-16T15:17:54.396Z",
"created_at": "2020-12-16T15:17:54.396Z",
"name": "Dynamic Collection Ad with Static Top Snap",
"ad_account_id": "82225ba6-7559-4000-9663-bace8adff5f8",
"type": "COLLECTION",
"packaging_status": "SUCCESS",
"review_status": "PENDING_REVIEW",
"shareable": true,
"headline": "Badger Supplies",
"brand_name": "Badger Tunneling",
"render_type": "STATIC",
"top_snap_media_id": "e02308fd-ab84-4b6e-8c71-4fe1fc2f1ae2",
"dynamic_render_properties": {
"product_set_id": "b6d35541-d5b6-4e06-a400-03f9937392cc"
},
"top_snap_crop_position": "MIDDLE",
"ad_product": "SNAP_AD",
"collection_properties": {
"interaction_zone_id": "51d12f07-8690-4a41-b201-6a99335bbaa2",
"default_fallback_interaction_type": "WEB_VIEW",
"web_view_properties": {
"url": "https://www.example.com/bookingfolder/linkedpage.html",
"allow_snap_javascript_sdk": false,
"use_immersive_mode": false,
"deep_link_urls": [],
"block_preload": false
}
}
}
}
]
}
HTTP Request
POST https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/creatives
Creative - Collection Creative with uploaded Top Snap - Parameters
Attribute | Description | Required | Possible Values |
---|---|---|---|
ad_account_id | Ad Account ID | R | |
name | Creative name | R | |
type | Creative type | R | COLLECTION |
headline | 34 characters max | R | |
brand_name | 25 characters max | R | |
shareable | Allow Users to Share with Friends | O | true (default), false |
render_type | R | STATIC | |
top_snap_media_id | Media ID of Top Snap, the Media type can be either VIDEO or IMAGE | R | |
dynamic_render_properties.product_set_id | Product Set id | R | |
collection_properties.interaction_zone_id | Interaction Zone id | R | |
collection_properties.default_fallback_interaction_type | Defines Interaction behaviour for the Creative | R | WEB_VIEW, APP_INSTALL, DEEP_LINK |
For a partly dynamic Collection Ad you need to specify the properties for the top snap, these properties are defined within the JSON of the collection_properties and
Webview attributes
Attribute | Description | Required | Possible Values |
---|---|---|---|
collection_properties.web_view_properties.url | Web view URL | R | |
collection_properties.web_view_properties.allow_snap_javascript_sdk | O | true, false (default) | |
collection_properties.web_view_properties.use_immersive_mode | O | true, false (default) | |
collection_properties.web_view_properties.block_preload | Block Snapchat from preloading the web page | O | true, false (default) |
App Install attributes
| Attribute | Description | Required | | ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- | -------- | --- | | collection_properties.app_install_properties.app_name | App name | R | | | collection_properties.app_install_properties.ios_app_id | iOS App ID | R | | | collection_properties.app_install_properties.android_app_url | Google Play Store ID | R | | | collection_properties.app_install_properties.icon_media_id | Icon Media ID | R | | | collection_properties.app_install_properties.product_page_id | iOS App Store Custom Product Page ID | O | |
Deep Link attributes
Attribute | Description | Required | Possible Values |
---|---|---|---|
collection_properties.deep_link_properties.deep_link_uri | Deep link URL for App | R | |
collection_properties.deep_link_properties.app_name | App name | R | |
collection_properties.deep_link_properties.ios_app_id | iOS App ID | R | |
collection_properties.deep_link_properties.android_app_url | Google Play Store ID | R | |
collection_properties.deep_link_properties.icon_media_id | Icon Media ID | R | |
collection_properties.deep_link_properties.fallback_type | Behaviour for user that doesn’t have app installed | R | APP_INSTALL, WEB_SITE |
collection_properties.deep_link_properties.web_view_fallback_url | Required if fallback_type is WEB_SITE | R | |
collection_properties.deep_link_properties.deep_link_uri | Deep link URL for App | R | |
collection_properties.deep_link_properties.product_page_id | iOS App Store Custom Product Page ID | O |
Ad Squad
The Ad Squad follows the exact requirements of an Ad Squad used for Dynamic Product Ads, there are no additional parameters for using Dynamic Collection Ads. Refer Create Ad Squad
Ad
The Ad entity links the Creative and the Ad Squad together, the type and render_type needs to use the below specified values, the only attribute that differs from Dynamic Product Ads is the type attribute which needs to be set to the value COLLECTION.
curl -X POST \
-H "Authorization: Bearer meowmeowmeow" \
-H "Content-Type: application/json" \
-d '{"ads":[{"id":"6fca9a40-08e9-44e4-8ac2-de40d604af1f","name":"Dynamic Collection Ad with Dynamic Top Snap","ad_squad_id":"ea47539a-dd29-4957-b24c-2624957fa7e7","creative_id":"de8a165e-f031-4a94-a56b-d0b5b4e1c20f","status":"ACTIVE","type":"COLLECTION","render_type":"DYNAMIC"}]}'
https://adsapi.snapchat.com/v1/adsquads/ea47539a-dd29-4957-b24c-2624957fa7e7/ads
{
"request_status": "SUCCESS",
"request_id": "5fda26e300ff0eeb712b8d14d80001737e616473617069736300016275696c642d66306132623635382d312d3430392d3200010160",
"ads": [
{
"sub_request_status": "SUCCESS",
"ad": {
"id": "e88eb5f7-d4da-4c8e-b1c8-d98f81ae3801",
"updated_at": "2020-12-16T15:25:25.109Z",
"created_at": "2020-12-16T15:25:25.109Z",
"name": "Dynamic Collection Ad with Dynamic Top Snap",
"ad_squad_id": "ea47539a-dd29-4957-b24c-2624957fa7e7",
"creative_id": "de8a165e-f031-4a94-a56b-d0b5b4e1c20f",
"status": "ACTIVE",
"type": "COLLECTION",
"render_type": "DYNAMIC",
"review_status": "PENDING",
"review_status_reasons": [],
"delivery_status": [
"INVALID_EFFECTIVE_INVALID",
"INVALID_PENDING_REVIEW_STATUS"
]
}
}
]
}
Attribute | Description | Required | Possible Values |
---|---|---|---|
name | Ad name | R | |
ad_squad_id | Ad squad ID | R | |
creative_id | Creative ID | R | |
status | Ad status | R | ACTIVE, PAUSED |
type | Ad type | R | COLLECTION |
render_type | Rendering type | R | DYNAMIC |
Please refer to the FAQ section for FAQs on Dynamic Collection Ads
Carousel and Slideshow Templates
The Dynamic Collection Ad supports two different Creative experiences via Dynamic Templates, these experiences are activated by specifying
CAROUSEL or SLIDESHOW as the layout
type.
layout | Description |
---|---|
CAROUSEL | Product images are displayed as thumbnails and rotated in a main image slot |
SLIDESHOW | Product images are rotated in a main image slot |
Example 1 - Create a CAROUSEL Dynamic Template
curl -X POST \
-d '{"dynamic_templates": [{"ad_account_id": "82225ba6-7559-4000-9663-bace8adff5f2","name": "Dynamic Collection Carousel Template","ios_url": "https://ads-interfaces.sc-cdn.net/adformats/templates/V2/index.html","android_url": "https://ads-interfaces.sc-cdn.net/adformats/templates/V2/index.html","layout": "CAROUSEL","text_fields": ["title","price"]}]}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
https://adsapi.snapchat.com/v1/adaccounts/22225ba6-7559-4000-9663-bace8adff5f2/dynamic_templates
The above command returns JSON structured like this:
{
"request_status": "SUCCESS",
"request_id": "5ee4011200ff030f7b28c958f70001737e616473617069736300016275696c642d32313965343130312d312d3335382d310001010a",
"dynamic_templates": [
{
"sub_request_status": "SUCCESS",
"dynamic_template": {
"id": "a523ad2d-226a-40c1-8645-4420cac49b76",
"updated_at": "2020-06-12T22:26:26.638Z",
"created_at": "2020-06-12T22:26:26.638Z",
"name": "Dynamic Collection Carousel Template",
"ad_account_id": "82225ba6-7559-4000-9663-bace8adff5f2",
"ios_url": "https://ads-interfaces.sc-cdn.net/adformats/templates/V2/index.html",
"android_url": "https://ads-interfaces.sc-cdn.net/adformats/templates/V2/index.html",
"layout": "CAROUSEL",
"text_fields": ["title", "price"]
}
}
]
}
This request creates a Dynamic Template for a Dynamic Collection Ad using the CAROUSEL layout.
HTTP Request
POST https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/dynamic_templates
URL Parameters
Parameter | Description |
---|---|
ad_account_id | The ID of the Ad Account where the Dynamic Template will be created |
Example 2 - Create a SLIDESHOW Dynamic Template
curl -X POST \
-d '{"dynamic_templates": [{"ad_account_id": "82225ba6-7559-4000-9663-bace8adff5f2","name": "Dynamic Collection Carousel Template","ios_url": "https://ads-interfaces.sc-cdn.net/adformats/templates/V2/index.html","android_url": "https://ads-interfaces.sc-cdn.net/adformats/templates/V2/index.html","layout": "SLIDESHOW","text_fields": ["title","price"]}]}' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer meowmeowmeow" \
https://adsapi.snapchat.com/v1/adaccounts/22225ba6-7559-4000-9663-bace8adff5f2/dynamic_templates
The above command returns JSON structured like this:
{
"request_status": "SUCCESS",
"request_id": "5ee4011200ff030f7b28c958f70001737e616473617069736300016275696c642d32313965343130312d312d3335382d310001010a",
"dynamic_templates": [
{
"sub_request_status": "SUCCESS",
"dynamic_template": {
"id": "a523ad2d-226a-40c1-8645-4420cac49b76",
"updated_at": "2020-06-12T22:26:26.638Z",
"created_at": "2020-06-12T22:26:26.638Z",
"name": "Dynamic Collection Carousel Template",
"ad_account_id": "82225ba6-7559-4000-9663-bace8adff5f2",
"ios_url": "https://ads-interfaces.sc-cdn.net/adformats/templates/V2/index.html",
"android_url": "https://ads-interfaces.sc-cdn.net/adformats/templates/V2/index.html",
"layout": "SLIDESHOW",
"text_fields": ["title", "price"]
}
}
]
}
This request creates a Dynamic Template for a Dynamic Collection Ad using the CAROUSEL layout.
HTTP Request
POST https://adsapi.snapchat.com/v1/adaccounts/{ad_account_id}/dynamic_templates
URL Parameters
Parameter | Description |
---|---|
ad_account_id | The ID of the Ad Account where the Dynamic Template will be created |
Showcase Experience
The Showcase Experience for DPA collection Ads is a new format which delivers a native commerce experience on Snapchat. It allows users to swipe up to a collection of products, rendered natively, for a seamless, delightful shopping experience.
The setup for the Showcase Experience is identical to the DPA collection ads setup with creative elements, interaction zones, ad squads and ad objects. The primary difference is in the setup of the creative object.
Showcase Creative
The showcase creative is a creative of type COLLECTION and render_type DYNAMIC. It contains a new property within collection_properties called showcase_properties.
curl -X POST \
-H "Authorization: Bearer meowmeowmeow" \
-H "Content-Type: application/json" \
-d '{
"creatives": [
{
"ad_account_id": "497979f0-ed17-4971-8288-0548abcdcbca",
"name": "Dynamic Collection Ad with Dynamic Top Snap for showcase API",
"type": "COLLECTION",
"headline": "Badger Supplies",
"brand_name": "Badger Tunneling",
"shareable": true,
"render_type": "DYNAMIC",
"dynamic_render_properties":
{
"dynamic_template_id": "186491f9-abcd-4322-9bf5-42bc0b2a79b8",
"product_set_id": "0ae60e22-5764-abcd-88ad-5f77f8f286dd"
},
"collection_properties":
{
"interaction_zone_id": "618ef9f7-abcd-abcd-abcd-9b2eda44eb04",
"default_fallback_interaction_type": "SHOWCASE",
"showcase_properties": {
"product_set_id": "0ae60e22-abcd-abcd-88ad-5f77f8f286dd",
"interaction_type": "WEB_VIEW",
"callout_text": "20% off",
"web_view_properties": {
"url": "http://www.bananas.com"
}
}
}
}]
}'
https://adsapi.snapchat.com/v1/adaccounts/497979f0-ed17-4971-8278-054883f1cbca/creatives
{
"request_status": "SUCCESS",
"request_id": "60bff16b00ff09d211e5b48ed40001737e616473617069736300016275696c642d63313332343265352d312d3435332d3000010155",
"creatives": [
{
"sub_request_status": "SUCCESS",
"creative": {
"id": "5970d72e-abcd-abcd-90f8-496f6091bb3b",
"updated_at": "2021-06-08T22:38:35.974Z",
"created_at": "2021-06-08T22:38:35.974Z",
"created_by_app_id": "faaabe40-abcd-abcd-abcd-b88f802dc3d2",
"created_by_user": "9b50736f-abcd-abcd-abcd-21f99554aa31",
"last_updated_by_app_id": "faaabe40-abcd-abcd-837d-b88f802dc3d2",
"last_updated_by_user": "9b50736f-abcd-abcd-abcd-21f99554aa31",
"name": "Dynamic Collection Ad with Dynamic Top Snap for showcase API",
"ad_account_id": "497979f0-abcd-abcd-abcd-054883f1cbca",
"type": "COLLECTION",
"packaging_status": "SUCCESS",
"review_status": "PENDING_REVIEW",
"shareable": true,
"headline": "Badger Supplies",
"brand_name": "Badger Tunneling",
"render_type": "DYNAMIC",
"dynamic_render_properties": {
"dynamic_template_id": "186491f9-abcd-abcd-abcd-42bc0b2a79b8",
"product_set_id": "0ae60e22-abcd-abcd-abcd-5f77f8f286dd"
},
"top_snap_crop_position": "MIDDLE",
"ad_product": "SNAP_AD",
"collection_properties": {
"interaction_zone_id": "618ef9f7-abcd-abcd-abcd-9b2eda44eb04",
"default_fallback_interaction_type": "SHOWCASE",
"showcase_properties": {
"product_set_id": "0ae60e22-abcd-abcd-abcd-5f77f8f286dd",
"interaction_type": "WEB_VIEW",
"callout_text": "20% off",
"web_view_properties": {
"url": "http://www.baanas.com",
"allow_snap_javascript_sdk": false,
"use_immersive_mode": false,
"deep_link_urls": [],
"block_preload": false
}
}
}
}
}
]
}
Property Name | Required | Description | Possible Values |
---|---|---|---|
product_set_id | R | The product set ID to be associated to generate the Showcase unit | Product set ID eg: 0ae60e22-5764-4d34-88ad-5f77f8f286ad |
interaction_type | R | WEB_VIEW, DEEP_LINK | |
callout_text | O | Text shown in the banner at the top of the Showcase experience Max length: 30 | |
web_view_properties | Required when interaction_type is web_view | Defines the url for “Shop Now” button Required when interaction_type == WEB_VIEW. Only url in web_view_properties can be used | refer to web_view_properties table |
deep_link_properties | Required when interaction_type is deep_link | Defines the url for “Shop Now” button Required when interaction_type == DEEP_LINK. Only deeplinkUri, iosAppId, AndroidAppUrl and webViewFallbackUrl in deep_link_properties can be used. FallbackType must be WEB_SITE | refer to deep_link_properties table |
Validations
Some important validations to take note of.
- showcase_properties cannot be null
- For Web_view and Deep_link interaction types, the corresponding web_view and deep_link Properties are required
- The interaction_type in the creativeElement should match the interaction_type in showcase_properties
- The product set ID must be the same in ad squad and the creative
- Ad Squad type must be SNAP_ADS
- The ad squad targeting must be set to US only
- The ad squad optimization goal can be one of the following - IMPRESSIONS || SWIPES || VIDEO_VIEWS || VIDEO_VIEWS_15_SEC || PIXEL_PURCHASE || PIXEL_SIGNUP || PIXEL_PAGE_VIEW || PIXEL_ADD_TO_CART
- The Ad Squad Billing Event must be IMPRESSIONS