Los anuncios de tiendas son una solución que ayuda a mejorar el rendimiento de tus anuncios dirigiendo de forma automática a los clientes potenciales a tu sitio web o a tu tienda, según dónde consideremos que tienen más probabilidades de hacer una compra.
Para crear una venta del catálogo de productos o un anuncio de conversión mediante el sitio web o una ubicación de conversión de la tienda, necesitarás lo siguiente:
Comienza creando una campaña publicitaria con una solicitud POST
en /act_{ad_account_id}/campaigns
.
En este nivel, debes establecer tu meta publicitaria mediante el campo objetivo. En lo que respecta a los anuncios de tiendas, los objetivos admitidos son PRODUCT_CATALOG_SALES
y CONVERSIONS
en relación con la experiencia de anuncios no basados en resultados (ODAX) y el objetivo OUTCOME_SALES
en relación con ODAX.
PRODUCT_CATALOG_SALES
, el promoted_object
es el identificador del catálogo de productos. Ten en cuenta que el catálogo de productos tiene que estar conectado a una tienda en el sitio para que cumpla con los requisitos de los anuncios de tiendas.CONVERSIONS
en relación con el objetivo promoted_object
.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 OUTCOME_SALES
con el objetivo PRODUCT_CATALOG_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 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
En cuanto a los anuncios de tiendas, debes especificar el tipo de destino como SHOP_AUTOMATIC
en relación con tu conjunto de anuncios.
PRODUCT_CATALOG_SALES
, debes proporcionar un identificador en promoted_object
para promocionar productos de un conjunto de productos.CONVERSIONS
, define tu promoted_object
para que sea una cuenta de comercio con la función de finalización de compra en el sitio activada.Otros requisitos aplicables a 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 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 tu campaña es CONVERSIONS
, también puedes crear un anuncio de imágenes o videos.
El page_id
y/o instagram_actor_id
configurado en object_story_spec
debe tener al menos 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, en relación con los anuncios de tiendas, debes especificar un destino en el sitio como destino alternativo de tu página de destino fuera del sitio. Para hacerlo, configura el campo onsite_destination
en la asset_feed_spec
de tu contenido.
El destino en el sitio debe ser alguno de los siguientes:
Página de la tienda
La tienda debe pertenecer a la cuenta de comercio que promocionas en tu conjunto de anuncios.
Un conjunto de productos
El conjunto de productos debe pertenecer al catálogo de la cuenta de comercio que promocionas en tu conjunto de anuncios y debe contener al menos un producto disponible a la vista.
Un producto
El producto debe pertenecer al catálogo de la cuenta de comercio que promocionas en tu conjunto de anuncios.
Ejemplo del campo onsite_destinations
en asset_feed_spec
configurado en la página de la tienda
asset_feed_spec= { "onsite_destinations": [ { "storefront_shop_id": "<SHOP_STOREFRONT_ID>" } ] }
Ejemplo del campo onsite_destinations
en asset_feed_spec
configurado en el conjunto de productos
asset_feed_spec= { "onsite_destinations": [ { "shop_collection_product_set_id": "<PRODUCT_SET_ID>" } ] }
Ejemplo del campo onsite_destinations
en asset_feed_spec
configurado en un producto específico
asset_feed_spec= { "onsite_destinations": [ { "details_page_product_id": "<PRODUCT_ID>" } ] }
Ejemplo de contenido de un anuncio de 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 promocionando productos a partir de un conjunto de productos, puedes seguir Primeros pasos en el uso de los anuncios del catálogo Advantage+; paso 3: Proporcionar contenido del anuncio.
El page_id
y/o instagram_actor_id
configurado en object_story_spec
debe tener al menos 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 configuraste en la campaña y, a su vez, debe ser el mismo que el conjunto de productos que elegiste promocionar en tu conjunto de anuncios.CONVERSIONS
como objetivo, el conjunto de productos que elijas debe pertenecer al catálogo de la cuenta de comercio que elegiste para promocionar en tu conjunto de anuncios.Las características adicionales admitidas de los anuncios de tiendas son optimizaciones para tiendas. Si pensamos que podría mejorar el rendimiento de tu anuncio, agregaremos de forma automática diferentes optimizaciones a tus anuncios. Para aceptar esta función, configura shops_bundle
en true
en la asset_feed_spec
de tu contenido (se incluyen tanto etiquetas de productos automatizadas como motivos para comprar en este momento y, potencialmente, otras optimizaciones en el futuro).
Las optimizaciones actuales de la tienda que se admiten son las siguientes:
Si decides utilizar las etiquetas de productos automatizadas, configura automated_product_tags
en true
en los template_data
de la object_story_spec
. Si decides utilizar los motivos para comprar, configura reasons_to_shop
en true
en la asset_feed_spec
de tu contenido.
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
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
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 de tiendas también admiten contenido Advantage+ para catálogo. Esta opción muestra diferentes formatos y contenidos del anuncio en diferentes cuentas del centro de cuentas en función de lo que más capta la atención de las personas.
Puedes seguir las instrucciones en Contenido Advantage+ para catálogo, paso 3: Proporcionar el contenido del anuncio para configurar tu contenido.
El page_id
y/o instagram_actor_id
configurado en object_story_spec
debe tener al menos 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 configuraste en la campaña y, a su vez, debe ser el mismo que el conjunto de productos que elegiste promocionar en tu conjunto de anuncios.CONVERSIONS
como objetivo, el conjunto de productos que elijas debe pertenecer al catálogo de la cuenta de comercio que elegiste para promocionar en tu conjunto de anuncios.Ejemplo de contenido 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
Se admiten los anuncios de tiendas junto con las campañas de compras Advantage+, que se cree que impulsan un mayor rendimiento si se combinan.
Para crear una campaña de compras Advantage+ con anuncios de tiendas, sigue los pasos en Campañas de compra Advantage+, paso 2: Crear una campaña para crear primero una campaña.
Al crear un conjunto de anuncios para campañas de compras Advantage+ con anuncios de tiendas, similar a lo que sucede con los anuncios de tiendas solo, configura destination_type
para que sea 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 la optimización de conversiones multicanal de las campañas de compra Advantage+ para obtener más información.
Si se desea crear un contenido y un anuncio para campañas de compras Advantage+ con anuncios de tiendas, la especificación es la misma que para los anuncios de tiendas solos. Consulta el Paso 3: Proporcionar un contenido más arriba para obtener más información.
Con el fin de obtener identificadores relevantes de anuncios de tiendas, es necesario que solicites a tu cliente el permiso catalog_management
.
Si deseas crear anuncios de tiendas para una página, esta debe contar con una tienda visible en el sitio, lo que se puede lograr 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 deseas crear anuncios de tiendas, revisa si is_onsite_enabled
está en true
, y shop_status
en ACTIVE
. Si es así, podrás crear anuncios de tiendas para la página mediante las instrucciones que se indican en el resto de esta guía.
Si deseas crear un anuncio de tiendas para una página, necesitas lo siguiente:
Puedes obtener el identificador de la cuenta de comercio y 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 conseguir la que tiene la página con la que quieres crear 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\":[]}}" }, ], } } ] } }