Los anuncios de tiendas son una solución que mejora el rendimiento de los anuncios al enviar clientes potenciales a tu sitio web o tienda, en función de dónde consideramos que es más probable que realicen una compra.
Para crear un anuncio de venta o conversión del catálogo de productos usando la ubicación de conversión del sitio web y la tienda, necesitarás lo siguiente:
Para empezar, crea una campaña publicitaria con una solicitud POST
a /act_{ad_account_id}/campaigns
.
En este momento, tienes que establecer tu objetivo publicitario mediante el campo de objetivo. Para los anuncios de tiendas, los objetivos admitidos son PRODUCT_CATALOG_SALES
y CONVERSIONS
si no pertenecen a las experiencias de anuncios orientados a los resultados (ODAX) y OUTCOME_SALES
si pertenecen a ODAX.
PRODUCT_CATALOG_SALES
, el parámetro promoted_object
es el identificador del catálogo de productos. Ten en cuenta que el catálogo de productos debe estar conectado a una tienda en el sitio para ser apto para los anuncios de tiendas.CONVERSIONS
, el campo promoted_object
no es obligatorio.Ejemplo de creación de una campaña con el objetivo PRODUCT_CATALOG_SALES
curl \
-F 'name=Product Catalog Sales Campaign' \
-F 'objective=PRODUCT_CATALOG_SALES' \
-F 'promoted_object={"product_catalog_id":"<PRODUCT_CATALOG_ID>"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/campaigns
Ejemplo de creación de una campaña con el objetivo CONVERSIONS
curl \
-F 'name=Conversion Campaign' \
-F 'objective=CONVERSIONS' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/campaigns
Ejemplo de creación de una campaña de PRODUCT_CATALOG_SALES
con el objetivo OUTCOME_SALES
curl \
-F 'name=Conversion Campaign' \
-F 'objective=OUTCOME_SALES' \
-F 'promoted_object={"product_catalog_id":"<PRODUCT_CATALOG_ID>"}' \
-F 'status=PAUSED' \
-F 'special_ad_categories=[]' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/campaigns
Ejemplo de creación de una campaña de CONVERSIONS
con el objetivo OUTCOME_SALES
curl \
-F 'name=Conversion Campaign' \
-F 'objective=OUTCOME_SALES' \
-F 'status=PAUSED' \
-F 'special_ad_categories=[]'
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/campaigns
Para los anuncios de tiendas, debes especificar SHOP_AUTOMATIC
como tipo de destino para el conjunto de anuncios.
PRODUCT_CATALOG_SALES
, en promoted_object
tienes que proporcionar un identificador del conjunto de productos para promocionar productos de ese conjunto de productos.CONVERSIONS
, define el parámetro promoted_object
en una cuenta de comercio con el proceso de finalización de compra en el sitio activado.Otros requisitos de los anuncios de tiendas:
PURCHASE
como evento de conversión (CUSTOM_EVENT_TYPE
) en el conjunto de productos (si el objetivo es PRODUCT_CATALOG_SALES
) o en el píxel de Meta (si el objetivo es CONVERSIONS
).OFFSITE_CONVERSIONS
como optimization_goal
).Ejemplo de creación de un conjunto de anuncios de tiendas con una campaña con el objetivo PRODUCT_CATALOG_SALES
que se factura en IMPRESSIONS
.
curl \
-F 'name=Product Catalog Sales Adset' \
-F 'bid_amount=3000' \
-F 'billing_event=IMPRESSIONS' \
-F 'daily_budget=15000' \
-F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={"geo_locations": {"countries":["US"]} }' \
-F 'destination_type=SHOP_AUTOMATIC' \
-F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>","custom_event_type": "PURCHASE"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adsets
Ejemplo de creación de un conjunto de anuncios de tiendas con una campaña con el objetivo CONVERSIONS
que se factura en IMPRESSIONS
.
curl \
-F 'name=Conversion Adset' \
-F 'bid_amount=3000' \
-F 'billing_event=IMPRESSIONS' \
-F 'daily_budget=15000' \
-F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={"geo_locations": {"countries":["US"]}}' \
-F 'destination_type=SHOP_AUTOMATIC' \
-F 'promoted_object={"omnichannel_object":{"onsite":[{"commerce_merchant_settings_id":"<COMMERCE_ACCOUNT_ID>"}],
"pixel":[{"pixel_id": "<PIXEL_ID>","custom_event_type": "PURCHASE"}]}}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<D_ACCOUNT_ID>/adsets
Con los conjuntos de anuncios de tiendas, puedes crear lo siguiente:
CONVERSIONS
).Los anuncios de tiendas no admiten lo siguiente:
PRODUCT_CATALOG_SALES
.CONVERSIONS
.Puedes crear un anuncio por secuencia de la misma manera que creas anuncios que no son de tiendas. Si el objetivo de la campaña es CONVERSIONS
, también puedes crear un anuncio con imagen o vídeo.
Los valores de page_id
o instagram_actor_id
especificados en object_story_spec
deben tener, como mínimo, una tienda que pertenezca a la cuenta de comercio que elegiste promocionar en tu conjunto de anuncios o el catálogo que elegiste promocionar en tu campaña. También deben estar conectados a la misma cuenta de comercio.
Además, para los anuncios de tiendas, debes especificar un destino en el sitio como destino alternativo de tu página de destino fuera del sitio. Para ello, establece el campo onsite_destination
en la asset_feed_spec
del contenido.
El destino en el sitio debe ser una de las siguientes opciones:
Página del escaparate de la tienda
La tienda debe pertenecer a la cuenta de comercio que promocionas en el conjunto de anuncios.
Un conjunto de productos
El conjunto de productos debe pertenecer al catálogo de la cuenta de comercio que promocionas en el conjunto de anuncios y debe contener al menos un producto disponible visible.
Un producto
El producto debe pertenecer al catálogo de la cuenta de comercio que promocionas en el conjunto de anuncios.
Ejemplo del campo onsite_destinations
en la asset_feed_spec
establecido en la página del escaparate de la tienda
asset_feed_spec= { "onsite_destinations": [ { "storefront_shop_id": "<SHOP_STOREFRONT_ID>" } ] }
Ejemplo del campo onsite_destinations
en la asset_feed_spec
establecido en el conjunto de productos
asset_feed_spec= { "onsite_destinations": [ { "shop_collection_product_set_id": "<PRODUCT_SET_ID>" } ] }
Ejemplo del campo onsite_destinations
en la asset_feed_spec
establecido en un producto específico
asset_feed_spec= { "onsite_destinations": [ { "details_page_product_id": "<PRODUCT_ID>" } ] }
Ejemplo de contenido de un anuncio con imagen
curl \
-F 'name=Sample Creative' \
-F 'asset_feed_spec= {
"onsite_destinations": [
{
"storefront_shop_id": "<SHOP_STOREFRONT_ID>"
}
]
}' \
-F 'object_story_spec={
"link_data": {
"image_hash": "<IMAGE_HASH>",
"link": "<OFFSITE_LANDING_URL>",
"message": "try it out"
},
"page_id": "<PAGE_ID>",
"instagram_actor_id" : "<INSTAGRAM_ACTOR_ID>"
}' \
-F 'degrees_of_freedom_spec={
"creative_features_spec": {
"standard_enhancements": {
"enroll_status": "OPT_OUT"
}
}
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adcreatives
Para crear un anuncio por secuencia que promocione productos de un conjunto de productos, sigue las instrucciones en el Paso 3: Proporcionar el contenido del anuncio de Introducción a los anuncios de catálogo de Advantage+.
Los valores de page_id
o instagram_actor_id
especificados en object_story_spec
deben tener, como mínimo, una tienda que pertenezca a la cuenta de comercio que elegiste promocionar en tu conjunto de anuncios o el catálogo que elegiste promocionar en tu campaña. También deben estar conectados a la misma cuenta de comercio.
En relación con el conjunto de productos del contenido:
PRODUCT_CATALOG_SALES
como objetivo, el conjunto de productos que elijas debe pertenecer al catálogo que hayas establecido en la campaña y, a su vez, debe ser el mismo que el conjunto de productos que elijas promocionar en el conjunto de anuncios.CONVERSIONS
como objetivo, el conjunto de productos que elijas debe pertenecer al catálogo de la cuenta de comercio que elijas promocionar en el conjunto de anuncios.Las funciones adicionales compatibles con los anuncios de tiendas son las optimizaciones para tiendas. Si pensamos que podría mejorar el rendimiento de tus anuncios, de forma automática añadiremos diferentes optimizaciones a tus anuncios. Para aceptar esta opción, establece el valor de shops_bundle
en true
en asset_feed_spec
del contenido (aquí se incluyen tanto las etiquetas de productos automatizadas como los motivos para comprar en este momento y, potencialmente, otras optimizaciones en el futuro).
Las optimizaciones de tiendas que se admiten actualmente son las siguientes:
Para aceptar las etiquetas de producto automatizadas, establece el valor de automated_product_tags
en true
en el campo template_data
de object_story_spec
. Para aceptar los motivos para comprar, establece el valor de reasons_to_shop
en true
en el asset_feed_spec
del contenido.
Aceptar el uso de shops_bundle
curl \
-F 'name=Sample Creative' \
-F 'product_set_id="<PRODUCT_SET_ID>"' \
-F 'asset_feed_spec= {
"shops_bundle": true
}'\
-F 'object_story_spec={
"template_data": {
"call_to_action": {
"type": "SHOP_NOW"
},
"link": "<OFFSITE_LANDING_URL>",
"multi_share_end_card": false,
"name": "{{product.name}}"
},
"page_id": "<PAGE_ID>",
"instagram_actor_id": "<INSTAGRAM_ACTOR_ID>"
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adcreatives
Aceptar el uso de automated_product_tags
curl \
-F 'name=Sample Creative' \
-F 'product_set_id="<PRODUCT_SET_ID>"' \
-F 'object_story_spec={
"template_data": {
"automated_product_tags": true
"call_to_action": {
"type": "SHOP_NOW"
},
"link": "<OFFSITE_LANDING_URL>",
"multi_share_end_card": false,
"name": "{{product.name}}"
},
"page_id": "<PAGE_ID>",
"instagram_actor_id": "<INSTAGRAM_ACTOR_ID>"
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adcreatives
Aceptar el uso de reasons_to_shop
curl \
-F 'name=Sample Creative' \
-F 'product_set_id="<PRODUCT_SET_ID>"' \
-F 'asset_feed_spec= {
"reasons_to_shop": true
}'\
-F 'object_story_spec={
"template_data": {
"call_to_action": {
"type": "SHOP_NOW"
},
"link": "<OFFSITE_LANDING_URL>",
"multi_share_end_card": false,
"name": "{{product.name}}"
},
"page_id": "<PAGE_ID>",
"instagram_actor_id": "<INSTAGRAM_ACTOR_ID>"
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adcreatives
Nota:
Los anuncios de tiendas también admiten el contenido de Advantage+ para catálogo. Esta función muestra diferentes formatos y contenidos del anuncio a distintas cuentas del Centro de cuentas en función del contenido al que estas tienen más probabilidad de responder.
Puedes seguir las instrucciones del Paso 3: Proporcionar el contenido del anuncio en Contenido de Advantage+ para catálogo para configurar el contenido.
Los valores de page_id
o instagram_actor_id
especificados en object_story_spec
deben tener, como mínimo, una tienda que pertenezca a la cuenta de comercio que elegiste promocionar en tu conjunto de anuncios o el catálogo que elegiste promocionar en tu campaña. También deben estar conectados a la misma cuenta de comercio.
En relación con el conjunto de productos del contenido:
PRODUCT_CATALOG_SALES
como objetivo, el conjunto de productos que elijas debe pertenecer al catálogo que hayas establecido en la campaña y, a su vez, debe ser el mismo que el conjunto de productos que elijas promocionar en el conjunto de anuncios.CONVERSIONS
como objetivo, el conjunto de productos que elijas debe pertenecer al catálogo de la cuenta de comercio que elijas promocionar en el conjunto de anuncios.Ejemplo de contenido de Advantage+ para catálogo
curl \
-F 'name=Sample Creative' \
-F 'product_set_id="<PRODUCT_SET_ID>"' \
-F 'asset_feed_spec= {
"optimization_type":"FORMAT_AUTOMATION",
"ad_formats": ["CAROUSEL", "COLLECTION"],
"images": [{"hash": "<CUSTOMIZED_IMAGE_HASH>"}],
"descriptions": [{"text": "{{product.description}}", "From {{product.current_price}}", ...]
}
}'\
-F 'object_story_spec={
"template_data": {
"call_to_action": {
"type": "SHOP_NOW"
},
"link": "<OFFSITE_LANDING_URL>",
"multi_share_end_card": false,
"name": "{{product.name}}"
},
"page_id": "<PAGE_ID>",
“instagram_actor_id” : “<INSTAGRAM_ACTOR_ID>”
}' \
-F 'degrees_of_freedom_spec={
"creative_features_spec": {
"standard_enhancements": {
"enroll_status": "OPT_OUT"
}
}
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adcreatives
Finalmente, puedes crear un anuncio haciendo referencia al contenido del anuncio.
curl \
-F 'status=PAUSED' \
-F 'name=Test' \
-F 'adset_id=<ADSET_ID>' \
-F 'creative= {
"creative_id": "<CREATIVE_ID>"
},
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/ads
Los anuncios de tiendas se admiten junto con las campañas de compras de Advantage+, que se cree que impulsan un mayor rendimiento si se combinan.
Para crear una campaña de compras de Advantage+ con anuncios de tiendas, primero sigue las instrucciones del Paso 2: Crear una campaña en Campañas de compras de Advantage+ para crear una campaña.
Al crear un conjunto de anuncios para campañas de compras de Advantage+ con anuncios de tiendas, de forma similar a lo que sucede cuando solo se usan los anuncios de tiendas, establece el valor de destination_type
en SHOP_AUTOMATIC
y especifica tu cuenta de comercio en promoted_object
.
curl \
-F 'name=Advantage+ Shopping Adset' \
-F 'bid_amount=3000' \
-F 'billing_event=IMPRESSIONS' \
-F 'daily_budget=15000' \
-F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={"geo_locations": {"countries":["US"]}}' \
-F 'destination_type=SHOP_AUTOMATIC' \
-F 'promoted_object={"omnichannel_object":{"onsite":[{"commerce_merchant_settings_id":"<COMMERCE_ACCOUNT_ID>"}],"pixel":[{"pixel_id": "<PIXEL_ID>","custom_event_type": "PURCHASE"}]}}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adsets
Consulta Optimización de conversiones multicanal para campañas de compras de Advantage+ para obtener más información.
Al crear contenido y un anuncio para campañas de compras de Advantage+ con anuncios de tiendas, la especificación es la misma que para los anuncios de tiendas solos. Consulta la sección Paso 3: Proporcionar el contenido anterior para obtener más detalles.
Para obtener los identificadores pertinentes para los anuncios de tiendas, necesitas el permiso catalog_management
del cliente.
Para crear anuncios de tiendas para una página, esta debe contar con una tienda visible en el sitio. Puedes hacerlo de la siguiente manera:
curl -i -X GET \
"https://graph.facebook.com/v21.0
/<PAGE_ID>/commerce_merchant_settings?fields=id,shops{id,fb_sales_channel{status,fb_page{id,name}},is_onsite_enabled,shop_status}&access_token=<PAGE_ACCESS_TOKEN>"
Ejemplo de respuesta
{ "id":"<commerce_account_id>", "shops": { "data": [ { "fb_sales_channel": { "status": "STAGING", "fb_page": { "name": "Page 1", "id": "<page_id>" } }, "id": "<shop_id_1>", "is_onsite_enabled": true, "shop_status": "INACTIVE" }, { "fb_sales_channel": { "status": "ENABLED", "fb_page": { "name": "Page 2", "id": "<page_id>" } }, "id": "<shop_id_2>", "is_onsite_enabled": true, "shop_status": "ACTIVE" } ], // … }
En relación con la página con la que quieres crear anuncios de tiendas, comprueba si el valor de is_onsite_enabled
está establecido en true
y shop_status
, en ACTIVE
. Si es así, podrás crear anuncios de tiendas para la página siguiendo las instrucciones que se describen en el resto de esta guía.
Para crear un anuncio de tiendas para una página, necesitas lo siguiente:
Puedes obtener el identificador de la cuenta de comercio y el identificador de la tienda si realizas la consulta anterior.
curl -i -X GET \
"https://graph.facebook.com/v21.0
/<PAGE_ID>/commerce_merchant_settings?fields=id,shops{id,fb_sales_channel{fb_page{id,name}}}&access_token=<PAGE_ACCESS_TOKEN>"
Una cuenta de comercio puede tener varias tiendas. Debes obtener la que tiene la página con la que quieres crear los anuncios de tiendas.
En relación con el identificador del catálogo, el identificador del conjunto de productos y el identificador del producto:
curl -i -X GET \
"https://graph.facebook.com/v21.0
/<PAGE_ID>/commerce_merchant_settings?fields=id,product_catalogs{id,product_sets}&access_token=<PAGE_ACCESS_TOKEN>"
Ejemplo de respuesta
{ "id": "<commerce_account_id>", "product_catalogs": { "data": [ { "id": "<product_catalog_id>", "product_sets": { "data": [ { "id": "<product_set_id>", "name": "Product Set 1", "filter": "{\"product_item_id\":{\"is_any\":[]}}" }, ], } } ] } }