Los anuncios de catálogo de Advantage+ permiten crear anuncios personalizados dirigidos a las audiencias correspondientes en función de un conjunto de productos.
Los anunciantes que ponen en circulación anuncios sobre vivienda, empleo, crédito o temas sociales, elecciones y política tienen un conjunto de restricciones distinto. Consulta Categorías de anuncios especiales para obtener más información.
Para crear una campaña de anuncios de catálogo de Advantage+, necesitas lo siguiente:
De manera opcional, puedes configurar una audiencia de productos dinámicos, pero no es necesario que añadas inclusiones o exclusiones de conjuntos de productos en la configuración de segmentación.
Consulta la documentación sobre las campañas publicitarias para descubrir cómo crear una campaña publicitaria.
En este nivel, debes definir el objetivo publicitario mediante el campo objective
. Para los anuncios de catálogo de Advantage+, los objetivos admitidos son PRODUCT_CATALOG_SALES
, CONVERSIONS
, LINK_CLICKS
o APP_INSTALLS
. Si el valor proporcionado de objective
es CONVERSIONS
, LINK_CLICKS
o APP_INSTALLS
, el campo promoted_object
no es necesario.
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/v19.0
/act_<AD_ACCOUNT_ID>/campaigns
En el caso de los anuncios de catálogo de Advantage+, debes especificar product_set_id
en promoted_object
como nivel del conjunto de anuncios para promocionar productos de dicho conjunto.
Además, también puedes definir tu propio evento de conversión para ese producto. Para ello, especifica custom_event_type
en promoted_object
cuando optimization_goal
esté definido en OFFSITE_CONVERSIONS
. De este modo, tus anuncios se dirigirán a personas que hayan llevado a cabo ese evento en tu aplicación o sitio.
Por ejemplo, si se establece en ADD_TO_CART
, el evento "Añadir al carrito" es el evento de conversión. De forma predeterminada, custom_event_type
está establecido en PURCHASE
. Obtén más información sobre los eventos y valores estándar de custom_event_type
en Seguimiento de las conversiones del píxel de Meta.
Si quieres realizar la optimización para las conversiones fuera del sitio, incluidas las que se completaron desde eventos de la aplicación y desde el píxel de Facebook, así como que la facturación se realice por impresiones:
optimization_goal
en OFFSITE_CONVERSIONS
.billing_event
en IMPRESSIONS
.Se pueden encontrar más detalles sobre las combinaciones válidas de optimization_goal
y billing_event
en Objetivo de optimización y Eventos de facturación.
Ejemplo de creación de un conjunto de anuncios facturado por el valor de IMPRESSIONS
y optimizado para el objeto OFFSITE_CONVERSIONS
:
curl \
-F 'name=Product Catalog Sales Adset' \
-F 'bid_amount=3000' \
-F 'billing_event=IMPRESSIONS' \
-F 'optimization_goal=OFFSITE_CONVERSIONS' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={ "geo_locations": {"countries":["US"]},
"dynamic_audience_ids": ["<DYNAMIC_AUDIENCE_ID>"]
}' \
-F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adsets
El objeto DYNAMIC_AUDIENCE_ID
hace referencia a una audiencia de productos. De manera opcional, puedes omitir dynamic_audience_ids
de la llamada.
Para los casos de uso del comercio electrónico, puedes omitir dynamic_audience_ids
de la llamada y enviar la información de comportamiento de segmentación como parte de los parámetros product_audience_specs
o excluded_product_audience_specs
. Estas especificaciones se definen con los mismos parámetros que usas para crear una audiencia de productos.
Nombre | Descripción |
---|---|
Cadena numérica | Obligatorio. |
Objeto JSON | Obligatorio. |
Entero | Obligatorio. |
Objeto[] | Obligatorio. |
Objeto JSON | Opcional. |
Entero | Obligatorio si se especifica la exclusión. |
Objeto[] | Obligatorio si se especifica la exclusión. |
Cada regla debe incluir un event
con el operador eq
, ya sea como una regla de nivel superior o como parte de una regla and
de nivel superior.
En este ejemplo, nos dirigimos a personas que han visualizado productos entre los últimos tres y cinco días, pero que no han realizado una compra. Las ubicaciones de anuncios son la sección de noticias para móviles y Audience Network. Para crear esta audiencia, sigue estos pasos:
curl \
-F 'name=Product Catalog Sales Adset' \
-F 'bid_amount=3000' \
-F 'billing_event=LINK_CLICKS' \
-F 'optimization_goal=LINK_CLICKS' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={
"publisher_platforms": ["facebook","audience_network"],
"device_platforms": ["mobile"],
"geo_locations": {"countries":["US"]},
"product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_ID>",
"inclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"ViewContent"}}}],
"exclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"Purchase"}}}]
}
],
"excluded_product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_ID>",
"inclusions": [{"retention_seconds":259200,"rule":{"event":{"eq":"ViewContent"}}}]
}
]
}' \
-F 'promoted_object={"product_set_id":<PRODUCT_SET_ID>"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adsets
Ejemplo para anunciar productos que el usuario no ha visto:
curl \ -F 'name=Case 1 Adset' \ -F 'bid_amount=3000' \ -F 'billing_event=IMPRESSIONS' \ -F 'status=ACTIVE' \ -F 'daily_budget=15000' \ -F 'campaign_id=<CAMPAIGN_ID>' \ -F 'targeting= { \ "geo_locations": { \ "countries":["US"], \ }, \ "interests":[ \ {"id":6003397425735,"name":"Tennis"}, \ ], \ }' \ -F 'promoted_object={"product_set_id”:<PRODUCT_SET_ID>}' \ -F 'access_token=<ACCESS_TOKEN>’ \ https://graph.facebook.com/<API_VERSION>/act_<ACCOUNT_ID>/adsets
Para la venta cruzada entre conjuntos de productos, sigue estos pasos:
product_set_id
en el conjunto de productos B en el nivel del contenido del anuncio. Por ejemplo, una empresa quiere aumentar sus ventas de bolsos de mano de PRODUCT_SET_1 mediante la segmentación de un anuncio para los usuarios existentes que han mostrado interés por los zapatos de PRODUCT_SET_2. Establece el parámetro product_set_id
de product_audience_specs
en el identificador o los zapatos de PRODUCT_SET_2 y el parámetro product_set_id
de promoted_object
en el identificador o los bolsos de PRODUCT_SET_1.
curl \
-F 'name=My cross sell ad set' \
-F 'bid_amount=3000' \
-F 'billing_event=LINK_CLICKS' \
-F 'optimization_goal=LINK_CLICKS' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={
"geo_locations": {"countries":["US"]},
"product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_2_ID>",
"inclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"ViewContent"}}}],
"exclusions": [{"retention_seconds":432000,"rule":{"event":{"eq":"Purchase"}}}]
}
],
"excluded_product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_2_ID>",
"inclusions": [{"retention_seconds":259200,"rule":{"event":{"eq":"ViewContent"}}}]
}
]
}' \
-F 'promoted_object={"product_set_id":"<PRODUCT_SET_1_ID>"}' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adsets
También debes establecer el parámetro product_set_id
del contenido como identificador de PRODUCT_SET_1.
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Además de para volver a segmentar y hacer ventas cruzadas a los clientes existentes, los anuncios de catálogo de Advantage+ se pueden usar para dirigirse a audiencias amplias por medio de la segmentación por edad, sexo y otros datos demográficos con productos pertinentes del catálogo. Al utilizar audiencias ampliamente segmentadas combinadas con pujas para conversiones fuera del sitio, los anuncios de catálogo de Advantage+ te permiten expandir enormemente el alcance de tus anuncios de forma eficaz.
Para segmentar audiencias amplias:
customOptimize
para OFFSITE_CONVERSIONS
con señales de intención más fuertes, como Purchase
o InitiateCheckout
.En este ejemplo, creamos un conjunto de anuncios dirigido a mujeres de entre 30 y 65 años en los EE. UU. que excluye a clientas que han realizado una compra en los últimos diez días. Pujaremos 8 USD y usaremos el objeto OFFSITE_CONVERSIONS
para eventos PURCHASE
.
curl \
-F 'name=Broad Audience Targeting' \
-F 'bid_amount=800' \
-F 'billing_event=IMPRESSIONS' \
-F 'daily_budget=15000' \
-F 'campaign_id=<CAMPAIGN_ID>' \
-F 'targeting={
"age_max": 65,
"age_min": 30,
"geo_locations": {"countries":["US"]},
"genders": [2],
"excluded_product_audience_specs": [
{
"product_set_id": "<PRODUCT_SET_ID>",
"inclusions": [{"retention_seconds":864000,"rule":{"event":{"eq":"Purchase"}}}]
}
]
}' \
-F 'promoted_object={"product_set_id":"<PRODUCT_SET_ID>","custom_event_type":"PURCHASE"}' \
-F 'optimization_goal=OFFSITE_CONVERSIONS' \
-F 'status=PAUSED' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adsets
Los anunciantes que ponen en circulación anuncios sobre vivienda, empleo, crédito o temas sociales, elecciones y política tienen un conjunto de restricciones distinto. Consulta Categorías de anuncios especiales para obtener más información.
Las categorías de los anuncios de catálogo de Advantage+ presentan dos nuevas opciones de contenido para la plataforma de anuncios de catálogo de Advantage+. Ambas se pueden usar para personalizar el contenido para compradores que están empezando a tomar una decisión. Con esta función, puedes crear un segundo catálogo de contenido más reducido con las imágenes que representan cada categoría (además del catálogo que ya tienes de imágenes de productos). Asimismo, relacionaremos las categorías de productos con personas en los anuncios igual que relacionamos productos con personas.
Las categorías de los anuncios de catálogo de Advantage+ se pueden usar con cualquier opción de segmentación en el objetivo de tráfico, conversión o ventas del catálogo. Si no dispones de una imagen de alta calidad representativa de cada categoría o marca, Facebook puede generar automáticamente un collage de 2 x 2 de los productos destacados de cada grupo de productos.
Cuando asignes estas imágenes nuevas a catálogos de productos existentes, puedes usar una de las tres columnas de la lista para agrupar artículos: marca, tipo de producto y categoría de producto de Google.
En el catálogo de ejemplo siguiente, la columna Tipo de producto tiene cinco valores únicos. El anunciante puede proporcionar hasta cinco collages o imágenes de estilo de vida (una para cada valor único de product_type
). El tipo de producto es el criterio de categorización de la categoría, que es el nombre del campo del catálogo usado para definir las categorías. El valor del campo del catálogo es el valor del criterio de la categoría.
Una categoría se puede identificar de manera exclusiva por:
Minorista | Nombre identificador | Precio | Tipo de producto | Marca | Categoría |
---|---|---|---|---|---|
| Camiseta | 25 USD | Ropa | Marca A | Categoría A |
| Sudadera con capucha FB | 30 USD | Ropa | Marca B | Categoría A |
| iPhone 6 | 800 USD | Teléfono | Marca C | Categoría B |
| Samsung Galaxy S5 | 750 USD | Teléfono | Marca C | Categoría B |
| Arrocera | 120 USD | Dispositivo | Marca C | Categoría C |
| Sofá Parker | 500 USD | Dispositivo | Marca D | Categoría D |
| Protector solar | 14 USD | Cuidado personal | Marca E | Categoría E |
Puedes asociar cada categoría (por ejemplo, cada grupo de productos según se haya definido con valores únicos en una de las columnas especificadas anteriormente) con los activos:
destination_uri
: URL de la página de destino cuando un usuario hace clic en la categoría.image_url
: opcional. URL de una imagen de estilo de vida que representa la categoría. Si no se especifica el campo image_url
, se generará automáticamente un collage de productos destacados de la categoría.Durante la entrega de anuncios, se relacionará de forma dinámica cada cuenta del Centro de cuentas con las categorías a las que es más probable que responda según los mismos modelos de aprendizaje automático que se usan actualmente en los anuncios de catálogo de Advantage+.
La información de categorías se almacena en el nivel del catálogo, lo que significa que distintos anuncios que promocionen las categorías del mismo catálogo compartirán los activos, igual que los anuncios que promocionen productos compartirán los activos definidos en los catálogos. Se admiten distintas opciones de contenido para personalizar los anuncios de categorías.
A continuación, se indican las API para obtener y actualizar la información sobre categorías.
Solicitud
curl -G \
-d 'fields=["criteria_value","name","description","destination_uri","image_url"]' \
-d 'categorization_criteria=product_type' \
-d 'filter={"price_amount":{"gt":1500}}' \ # optional
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/<PRODUCT_CATALOG_ID>/categories
Se realiza una consulta de todos los productos (se admite un filtro opcional) y se buscan las primeras 1000 categorías (ordenadas por número de productos).
Ejemplo de respuesta
{ "data": [ { "criteria_value": "clothes", "name": "Awesome clothes", "description": "Check out these awesome clothes!", "destination_uri": "http://www.example.com/clothes", "image_url": "http://www.example.com/clothes.jpg" }, ... { "criteria_value": "shoes", "name": "Awesome shoes", "description": "Check out these awesome shoes!", "destination_uri": "http://www.example.com/shoes", "image_url": "http://www.example.com/shoes.jpg" } ] }
En los datos se puede especificar información de varias categorías. Para cada categoría, los campos categorization_criteria
y criteria_value
son obligatorios, mientras que los campos name
, description
, destination_uri
y image_url
son opcionales. Al actualizar información de una categoría por primera vez, debes especificar el campo destination_uri
. Si quieres omitir la entrega de una categoría, el campo destination_uri
debe estar vacío.
Nota: En estos momentos no se admite la eliminación de una categoría.
Solicitud
curl \
-F 'data=[{"categorization_criteria":"product_type","criteria_value":"product_type_value","name":"Name","description":"Description","destination_uri":"http://www.example.com/","image_url":"<IMAGE_URL>"}]' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/<lPRODUCT_CATALOG_ID>/categories
Las categorías para la creación de anuncios de los anuncios de catálogo de Advantage+ son similares a las que se utilizan para la creación de otros anuncios de catálogo de Advantage+, pero la selección del contenido es ligeramente diferente. Sigues promocionando un conjunto de productos con anuncios de categoría dinámica. La diferencia es que mostramos contenidos de categorías en su lugar.
curl \
-F "name=Dynamic Category Ad Creative" \
-F 'object_story_spec={"page_id": "<PAGE_ID>", "template_data": {"description": "{{category.description}}", "link": "https://www.example.com/", "message": "<MESSAGE>", "name": "{{category.name}}"}}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'categorization_criteria=brand' \
-F 'category_media_source=MIXED' \ # optional
-F access_token=<ACCESS_TOKEN> \
https://graph.facebook.com/v19.0
/act_<ACCOUNT_ID>/adcreatives
De esta forma se crea contenido del anuncio de una categoría que se representa en formato por secuencia:
Identificadores de categoría admitidos:
category.name
: nombre de la categoría dentro del conjunto de productos promocionado. category.description
: descripción de la categoría dentro del conjunto de productos promocionado. category.destination_uri
: URI de destino de la categoría.category.min_price
: precio mínimo de esta categoría dentro del conjunto de productos promocionado. Esta información se extrae del catálogo. Parámetros
Nombre | Descripción |
---|---|
| Especifica el tipo de categoría que se va a usar.
|
| Especifica cómo representar la imagen de la secuencia de la categoría.
|
Durante la creación de contenido del anuncio de la categoría, buscamos posibles categorías que se puedan representar.
Nota: Excluimos las categorías sin nombre o URL de destino. También excluimos las categorías sin imágenes si category_media_source = category
.
La creación de contenido no se lleva a cabo correctamente si existen menos de cuatro categorías aptas (por ejemplo, para usar categorías de anuncios de catálogo de Advantage+ como contenido de una campaña determinada, debe haber como mínimo cuatro valores únicos en una columna específica del archivo de lista de datos).
Las plantillas de los anuncios de catálogo de Advantage+ utilizan publicaciones de página en línea para crear contenido de plantilla de catálogo de Advantage+.
El proceso de creación de contenido de plantillas de anuncios de catálogo de Advantage+ es similar al de creación de contenido de anuncios de otro tipo. La diferencia es que puedes añadir parámetros de plantilla que se representen correctamente en tiempo de ejecución según el archivo de lista de datos.
Crea la plantilla de acuerdo con el objeto template_data
del parámetro object_story_spec
y utiliza los campos siguientes:
Nombre | Descripción | Acepta parámetros de plantilla |
---|---|---|
Objeto | Objeto de llamada a la acción. | No |
Cadena | Mensaje para el anuncio, visible en Instagram. | Sí |
Cadena | Enlace a tu sitio web, que se usará para generar el subtítulo del anuncio. | No |
Cadena | Nombre o título del anuncio, visible en Instagram. | Sí |
Cadena | Descripción para el anuncio, no es visible en Instagram. | Sí |
Booleano | Opcional. | No |
Booleano | Muestra varias imágenes de la secuencia para un solo producto. | No |
Booleano | Opcional. | No |
Entero | Indica la imagen de la matriz de imágenes adicionales que debe usarse como imagen del anuncio. Es un índice basado en cero entre 0 y 19. | No |
Matriz | Te permite proporcionar una o más imágenes estáticas en los anuncios de catálogo de Advantage+ para el formato por secuencia. | No |
| Especifica cómo transformar las imágenes cuando se entregan a los usuarios del anuncio. | No |
| Especifica cómo representar superposiciones en una imagen para un artículo dinámico. | No |
Matriz | Selecciona la imagen que se usará si has añadido etiquetas a las imágenes. | No |
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
curl \ -F 'name=Advantage+ Catalog Ads Template Creative Sample' \ -F 'object_story_spec={ "page_id": "<PAGE_ID>", "template_data": { "call_to_action": {"type":"SHOP_NOW"}, "description": "Description {{product.description}}", "link": "<LINK>", "message": "Test {{product.name | titleize}}", "name": "Headline {{product.price}}", "image_layer_specs": [ { "layer_type": "image", "image_source": "catalog" }, { "layer_type": "frame_overlay", "blending_mode": "lighten", "frame_image_hash": "<HASH>", "frame_source": "custom", "opacity": 100, "overlay_position": "center", "scale": 100 }, { "layer_type": "text_overlay", "content": { "type": "price" }, "opacity": 100, "overlay_position": "top_left", "overlay_shape": "rectangle", "shape_color": "DF0005", "text_color": "FFFFFF", "text_font": "open_sans_bold" } ] } }' \ -F 'product_set_id=<PRODUCT_SET_ID>' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/adcreatives
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"force_single_link": true,
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Para generar una vista previa de anuncios de catálogo de Advantage+ con additional_image_index
, debes pasar todo el parámetro object_story_spec
al extremo /generatepreviews
. Si solo pasas el parámetro object_story_id
, no se generará ninguna vista previa.
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"additional_image_index": 0,
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
curl -X POST \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": <PAGE_ID>,
"template_data": {
"message": "Test {{product.name | titleize}}",
"link": "<YOUR_LINK_URL>",
"name": "Headline {{product.price}}",
"description": "Description {{product.description}}",
"multi_share_end_card": false,
"force_single_link": true,
"show_multiple_images": true,
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"child_attachments": [
{
"call_to_action": {"type":"SHOP_NOW"},
"description": "30% off",
"image_hash": "<IMAGE_HASH>",
"link": "https:\/\/www.link.com\/coupon",
"name": "Coupon Static Card",
"static_card": true
},
{
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"name": "Headline {{product.price}}"
}
],
"link": "<LINK>",
"message": "Test Message"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Representamos cada imagen dinámica de la secuencia como una película. Cada película muestra imágenes de un elemento dinámico si este tiene varias imágenes. Si el elemento dinámico solo tiene una imagen, se representa una tarjeta como imagen estática.
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "PAGE_ID",
"template_data": {
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"link": "LINK",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}",
"format_option": "carousel_slideshows"
}
}' \
-F 'product_set_id=PRODUCT_SET_ID' \
-F 'access_token=ACCESS_TOKEN' \
https://graph.facebook.com/v19.0
/AD_ACCOUNT_ID/adcreatives
La respuesta a estas llamadas es el identificador del contenido de una nueva plantilla de anuncios de catálogo de Advantage+.
{"id":"creative_id"}
Al subir un catálogo, puedes especificar etiquetas de cadena alfanumérica arbitrarias para cada imagen en cada propiedad.
<listing> <hotel_id>hotel_1</hotel_id> ... <image> <url>https://media-cdn.tripadvisor.com/media/photo-o/05/ca/40/af/the-epiphany-a-joie-de.jpg (https://l.facebook.com/l.php?u=https%3A%2F%2Fmedia-cdn.tripadvisor.com%2Fmedia%2Fphoto-o%2F05%2Fca%2F40%2Faf%2Fthe-epiphany-a-joie-de.jpg&h=ATPTuLcCa7Vsnmn07cEVa0YseTFl1C2hOax9NezejmXDbR48w3CLdjLlwlpuGCRDQmuafQvk03ybGqfhk-2mBcH7xtuKAsnuuq9xKwBd8DwfuBMZkq3n1qX5MdychRKGy2bo2ax9BZQzgqVDY_AvC1EqE6aAdUEc)</url> <tag>exterior</tag> <tag>first image</tag> <tag>tree</tag> </image> <image> <url>http://www3.hilton.com/resources/media/hi/DFWANHH/en_US/img/shared/full_page_image_gallery/main/HH_exteriorview001_1270x560_FitToBoxSmallDimension_Center.jpg (http://l.facebook.com/l.php?u=http%3A%2F%2Fwww3.hilton.com%2Fresources%2Fmedia%2Fhi%2FDFWANHH%2Fen_US%2Fimg%2Fshared%2Ffull_page_image_gallery%2Fmain%2FHH_exteriorview001_1270x560_FitToBoxSmallDimension_Center.jpg&h=ATPTuLcCa7Vsnmn07cEVa0YseTFl1C2hOax9NezejmXDbR48w3CLdjLlwlpuGCRDQmuafQvk03ybGqfhk-2mBcH7xtuKAsnuuq9xKwBd8DwfuBMZkq3n1qX5MdychRKGy2bo2ax9BZQzgqVDY_AvC1EqE6aAdUEc)</url> <tag>skyline</tag> ... </image> ... </listing>
Al crear el contenido de un anuncio, se puede pasar una matriz de objetos preferred_image_tags
en el parámetro object_story_spec
.
curl \
-F 'name=Ad Creative Test'\
-F 'object_story_spec={
"page_id": '<PAGE_ID>',
"template_data": {
"preferred_image_tags": ["skyline","exterior"],
"call_to_action": {"type":"BOOK_TRAVEL"},
"description": "{{hotel.description}}",
"link": "<URL>",
"message": "Book your stay in {{hotel.city}}",
"name": "{{hotel.name | titleize}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Los pasos principales para crear un anuncio de catálogo de Advantage+ siguen siendo los mismos. Para activar el vídeo, debes incluir datos de vídeo y proporcionarlos en el catálogo. Consulta a continuación los cambios necesarios durante la creación o actualización de catálogos.
En este ejemplo se utiliza un archivo XML, aunque otros formatos deben ser parecidos.
Cuando añades un vídeo al anuncio, se admiten los campos url
y tag
. Actualmente, solo se admite un vídeo por producto.
<?xml version="1.0" encoding="utf-8"?> <listings> <title>Test hotel feed</title> <listing> <hotel_id>hotel_1</hotel_id> <name>Test Hotel 1</name> <description>A very nice hotel</description> <brand>Facebook</brand> <address format="simple"> <component name="addr1">180 Hamilton Ave</component> <component name="city">Palo Alto</component> <component name="city_id">12345</component> <component name="region">California</component> <component name="postal_code">94301</component> <component name="country">United States</component> </address> <latitude>37.4435997</latitude> <longitude>-122.1615219</longitude> <neighborhood>Palo Alto</neighborhood> <neighborhood>Silicon Valley</neighborhood> <margin_level>8</margin_level> <base_price>200.5 USD</base_price> <phone>+1 650 666-3311</phone> <star_rating>2.5</star_rating> <guest_rating> <score>7.8</score> <rating_system>tripAdvisor</rating_system> <number_of_reviewers>300</number_of_reviewers> </guest_rating> <guest_rating> <score>9.8</score> <rating_system>Hotels.com</rating_system> <number_of_reviewers>35000</number_of_reviewers> </guest_rating> <image> <url>https://media-cdn.tripadvisor.com/media/photo-o/05/ca/40/af/the-epiphany-a-joie-de.jpg</url> <tag>front view</tag> <tag>first image</tag> </image> <image> <url>http://www.jdvhotels.com/content/uploads/2014/06/72-1200x800.jpg</url> <tag>room</tag> <tag>bed</tag> </image> <loyalty_program>Starwood</loyalty_program> <url>http://www.jdvhotels.com/hotels/california/silicon-valley-hotels/the-epiphany-hotel/</url> <applink property="ios_url" content="example-ios://electronic"/> <applink property="ios_app_store_id" content="42"/> <applink property="ios_app_name" content="Electronic Example iOS"/> * <video> <url>http://example.com/some_video1.mp4</url> <tag>City</tag> <tag>Package</tag> </video>* </listing> </listings>
Puedes utilizar la API para comprobar los datos subidos. Para cada elemento, habilita las consultas de los “metadatos del vídeo”.
curl -i -X GET \
"https://graph.intern.facebook.com/v19.0
/1234567890?fields=videos_metadata.fields(video,tags,url)&access_token=<ACCESS TOKEN>"
Para activar el contenido de vídeo de producto en los anuncios, consulta la documentación Crear anuncios con contenido multimedia dinámico.
Si haces un seguimiento de los clics en el enlace mediante una herramienta de terceros para el seguimiento de clics antes de redirigir a la URL del producto definitiva, puedes usar el campo template_url_spec
en el contenido del anuncio. De este modo, se puede añadir una plantilla de seguimiento de clics en el anuncio sin tener que usar codificación fija en el archivo de lista de datos. También puedes usar este campo para crear plantillas de enlaces profundos.
En este campo, puedes usar los campos dinámicos, como la URL o el identificador del producto, que deben tener la codificación URL si sus valores pueden contener caracteres que invaliden la URL.
Creación de una plantilla de anuncios de catálogo de Advantage+ por secuencia con la configuración template_url_spec
:
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"description": "Description {{product.description}}",
"link": "<URL>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'template_url_spec={
"ios": {
"app_store_id": "123",
"url": "example:\/\/link\/?nav=item.view&id={{product.retailer_id | urlencode}}&referrer=http:\/\/rover.example.com\/rover\/1\/711-198453-24755-9\/16%3Fitemid={{product.retailer_id | urlencode | urlencode}}"
},
"web": {
"url": "http:\/\/clicktrack.com\/cm325?id={{product.retailer_id | urlencode}}&redirect_url={{product.url | urlencode | urlencode}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Cuando se muestra un anuncio, Facebook reemplaza el contenido en la sección {{ }}
con los valores correctos del archivo de lista de datos. Los valores de plantilla disponibles son:
Nombre | Descripción |
---|---|
| Valor |
| Precio de venta formateado si el producto tiene uno especificado. De manera opcional, puedes especificar fechas de inicio y fin de la venta de un producto, y |
| Valor |
| Valor |
| Columna |
| Valor |
| Valor |
| Valor |
| Valor |
| Valor |
| Valor |
| Valor |
Algunos valores de la plantilla pueden recibir opciones, en cualquier orden y con el formato siguiente:
{{field option1 option2 ...}}
Están disponibles las opciones siguientes:
Opción | Descripción | Compatible con |
---|---|---|
| Omite el símbolo de divisa. |
|
| Omite la parte de los céntimos en la divisa si son ceros. |
|
| Omite el importe decimal de la divisa y redondea el precio al alza. | Todos los campos de precio |
Puedes usar valores de plantilla con transformaciones, que ajustan el valor según este formato:
{{field | transform}}
Usa una de estas transformaciones:
Transformaciones | Descripción |
---|---|
| Formatea el número con un formato predeterminado, con coma (",") como separador de miles y redondeado al entero más próximo (p. ej., 1234.56->"1,235"). El valor que se va a formatear debe ser un número sin formato ("1234", no "1,234"). |
| Cambia la inicial de las palabras a mayúscula para que se vea mejor el título (p. ej., "box" -> "Box"). |
| Codifica el valor de la URL. |
Al mostrar el contenido dinámico, puedes especificar el comportamiento deseado cuando alguien hace clic en el anuncio de la aplicación de Facebook nativa. Existen dos requisitos para poder usar los enlaces profundos:
Si se cumplen ambos requisitos, puedes usar el campo applink_treatment
al crear el contenido de un anuncio para especificar el comportamiento deseado cuando un usuario hace clic en un anuncio.
Nombre | Descripción |
---|---|
| Siempre se envía al usuario a la URL web proporcionada. |
| Si la aplicación está instalada en el teléfono del usuario y tenemos la información de enlaces profundos correspondiente, el usuario se envía a la aplicación. Si alguna de estas condiciones no se cumple, el usuario se envía al sitio web. |
| Valor predeterminado cuando los enlaces de la aplicación están presentes para el producto. Si la aplicación está instalada en el teléfono del usuario y tenemos la información de enlaces profundos correspondiente, el usuario se envía a la aplicación. Si la aplicación no está instalada, se envía el usuario a la tienda de aplicaciones para que la obtenga. |
Creación de una plantilla de anuncios de catálogo de Advantage+ por secuencia con una llamada a la acción que establecerá un enlace profundo a una aplicación nativa si está disponible; en caso contrario, recurrirá a la web:
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'applink_treatment=deeplink_with_web_fallback' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Creación de una plantilla de anuncios de catálogo de Advantage+ por secuencia con etiquetas de URL activadas que establecerá un enlace profundo a una aplicación nativa si está disponible; en caso contrario, recurrirá a la tienda de aplicaciones para obtener la aplicación:
curl \
-F 'name=Advantage+ Catalog Ads Template Creative Sample' \
-F 'applink_treatment=deeplink_with_appstore_fallback' \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"template_data": {
"call_to_action": {"type":"SHOP_NOW"},
"description": "Description {{product.description}}",
"link": "<LINK>",
"message": "Test {{product.name | titleize}}",
"name": "Headline {{product.price}}"
}
}' \
-F 'product_set_id=<PRODUCT_SET_ID>' \
-F 'access_token<ACCESS_TOKEN>' \
https://graph.facebook.com/v19.0
/act_<AD_ACCOUNT_ID>/adcreatives
Consulta los detalles en Catálogo localizado para anuncios de catálogo de Advantage+.
Por último, puedes crear un anuncio. El anuncio hace referencia al contenido de un anuncio.
Enhorabuena. Has creado tu primer anuncio de catálogo de Advantage+. No dudes en reanudarlo para iniciar la entrega.
Cuando se publican como anuncios de Instagram Stories, los anuncios de catálogo de Advantage+ se recortan a un tamaño de 1:1, independientemente de las dimensiones de la imagen original.
Puedes generar vistas previas del contenido dinámico con el extremo de vistas previas del anuncio. Debes especificar el parámetro product_item_ids
o varios valores de product_item_ids
para obtener la vista previa de un anuncio por secuencia.
Nombre | Descripción |
---|---|
matriz[cadena] | Lista de identificadores de Facebook (FBID) del producto o identificadores del identificador de producto codificado mediante Base64 URL. |
Puedes recuperar estadísticas por producto mediante una llamada de GET
al extremo de insights. Añade product_id
al parámetro fields
.
Muestra las estadísticas de todos los productos en los conjuntos de productos de una cuenta que se muestran en los anuncios de catálogo de Advantage+.
En este ejemplo se comunican los valores de clicks
, actions
e impressions
para cada objeto product_id
.
use FacebookAds\Object\AdAccount;
use FacebookAds\Object\Fields\AdsInsightsFields;
use FacebookAds\Object\Values\AdsInsightsActionBreakdownsValues;
use FacebookAds\Object\Values\AdsInsightsDatePresetValues;
use FacebookAds\Object\Values\AdsInsightsBreakdownsValues;
$account = new AdAccount('act_<AD_ACCOUNT_ID>');
$fields = array(
AdsInsightsFields::ACCOUNT_NAME,
AdsInsightsFields::IMPRESSIONS,
AdsInsightsFields::ACTIONS,
);
$params = array(
'date_preset' => AdsInsightsDatePresetValues::LAST_WEEK,
'action_breakdowns' => array(
AdsInsightsActionBreakdownsValues::ACTION_TYPE,
),
'breakdowns' => array(
AdsInsightsBreakdownsValues::PRODUCT_ID,
),
);
$stats = $account->getInsights($fields, $params);
from facebookads.adobjects.adaccount import AdAccount
from facebookads.adobjects.adsinsights import AdsInsights
account = AdAccount('act_<AD_ACCOUNT_ID>')
fields = [
AdsInsights.Field.account_name,
AdsInsights.Field.impressions,
AdsInsights.Field.actions,
]
params = {
'date_preset': 'last_week',
'actions_group_by': ['action_type'],
'breakdowns': [
AdsInsights.Breakdowns.product_id,
],
}
stats = account.get_insights(fields=fields, params=params)
APINodeList<AdsInsights> adsInsightss = new AdAccount(act_<AD_ACCOUNT_ID>, context).getInsights()
.setDatePreset(AdsInsights.EnumDatePreset.VALUE_LAST_WEEK)
.setActionBreakdowns("[\"action_type\"]")
.setBreakdowns("[\"product_id\"]")
.requestField("account_name")
.requestField("impressions")
.requestField("actions")
.execute();
curl -G \
-d 'date_preset=last_week' \
-d 'action_breakdowns=["action_type"]' \
-d 'breakdowns=["product_id"]' \
-d 'fields=account_name,impressions,actions' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v2.8/act_<AD_ACCOUNT_ID>/insights
{ "data": [ { "account_id": "123456", "product_id": "60750", "date_start": "2015-02-03", "date_stop": "2015-02-03", "impressions": 880, "clicks": 8, "actions": [ { "action_type": "link_click", "value": 6 }, { "action_type": "offsite_conversion.other", "value": 5 }, { "action_type": "offsite_conversion", "value": 5 } ], "account_name": "My Account" }, ], ... }
Puedes recuperar los comentarios, los Me gusta y el product_id
de una publicación de anuncios de catálogo de Advantage+. Realiza una llamada GET
con un valor de post_id
como se indica a continuación. post_id
es el identificador effective_object_story_id
de un contenido del anuncio con el formato PageID_PostID
.
Nota: No se puede utilizar este extremo para recuperar comentarios de Instagram.
curl -G \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/<POST_ID>/dynamic_posts
Este extremo devuelve objetos de publicación dinámica.
Cuando obtengas publicaciones dinámicas, puedes recuperar comments
, likes
, product_id
y child_attachments
para el formato por secuencia, si corresponde.
El perímetro dynamic_posts
no devolverá los anuncios de personalización de activos de ubicación.