Los anuncios del catálogo Advantage+ te permiten crear anuncios personalizados que se dirigen a los públicos adecuados según un conjunto de productos.
Los anunciantes que tienen en circulación anuncios relacionados con viviendas, empleo, crédito, temas políticos, elecciones y política tienen diferentes conjuntos de restricciones. Consulta Categorías de anuncios especiales para obtener más información.
Para crear una campaña de anuncios del catálogo Advantage+, necesitas lo siguiente:
De manera opcional, puede configurar un público de productos dinámicos; sin embargo, no es obligatorio involucrar inclusiones o exclusiones de conjuntos de productos en la configuración de la segmentación.
Consulta la documentación sobre las campañas de anuncios para obtener información sobre cómo crear una campaña de este tipo.
En este nivel, debes definir tu objetivo publicitario a través del campo objective
. En el caso de los anuncios del catálogo Advantage+, los objetivos admitidos son PRODUCT_CATALOG_SALES
, CONVERSIONS
, LINK_CLICKS
o APP_INSTALLS
. Si el objective
es CONVERSIONS
, LINK_CLICKS
o APP_INSTALLS
, el campo promoted_object
no es obligatorio.
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 del catálogo Advantage+, debes especificar product_set_id
en promoted_object
a fin de que el nivel del conjunto de anuncios promocione productos de dicho conjunto.
Además, también puedes definir tu propio evento de conversión para ese conjunto de productos. Para hacerlo, especifica custom_event_type
en promoted_object
cuando optimization_goal
sea OFFSITE_CONVERSIONS
. Esto permitirá dirigir tus anuncios a las personas que hayan realizado ese evento en tu app o sitio.
Por ejemplo, si lo configuras en ADD_TO_CART
, el evento "AddToCart" es el evento de conversión. De manera predeterminada, custom_event_type
está configurado en PURCHASE
. Obtén más información sobre los eventos estándares y los valores de custom_event_type
en el píxel de Meta, Seguimiento de las conversiones.
Si deseas optimizar las conversiones fuera del sitio, incluidas las conversiones de eventos de la app y del píxel de Facebook, y que la facturación se realice según las impresiones:
optimization_goal
como OFFSITE_CONVERSIONS
.billing_event
como IMPRESSIONS
.Para obtener más detalles sobre las combinaciones válidas de optimization_goal
y billing_event
, consulta Objetivo de optimización y eventos de facturación.
Ejemplo de creación de un conjunto de anuncios facturado por IMPRESSIONS
y optimizado para 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
DYNAMIC_AUDIENCE_ID
hace referencia a un público de productos. De manera opcional, puedes omitir dynamic_audience_ids
de la llamada.
En el caso de uso del comercio electrónico, puedes omitir dynamic_audience_ids
desde la llamada y, en cambio, enviar la información de segmentación de comportamiento 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 un público de productos.
Nombre | Descripción |
---|---|
cadena numérica | Obligatorio. |
Objeto JSON | Obligatorio. |
Número entero | Obligatorio. |
Objeto[] | Obligatorio. |
Objeto JSON | Opcional. |
Número entero | Obligatorio si se especifica la exclusión. |
Objeto[] | Obligatorio si se especifica la exclusión. |
Las reglas deben incluir unevent
con el operador eq
, ya sea como regla de nivel superior o como parte de una regla and
de nivel superior.
En este ejemplo, nos dirigimos a personas que hayan visualizado productos en los últimos tres a cinco días, pero que no hayan realizado compras. Las ubicaciones de los anuncios están en la lista móvil y Audience Network. Para crear este público:
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 vio:
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 realizar ventas cruzadas entre conjuntos de productos:
product_set_id
en el conjunto de productos B en el nivel del contenido del anuncio. Por ejemplo, una empresa desea aumentar las ventas de carteras de PRODUCT_SET_1 mediante la segmentación de un anuncio a los usuarios existentes que demostraron interés en los zapatos de PRODUCT_SET_2. Configura el product_set_id
en product_audience_specs
como identificador de PRODUCT_SET_2 o zapatos, y el product_set_id
en promoted_object
como identificador de PRODUCT_SET_1 o carteras.
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
Luego, configura el 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 cambiar la segmentación y la venta cruzada a clientes preexistentes, los anuncios del catálogo Advantage+ pueden usarse para dirigirse a públicos amplios mediante la segmentación por edad, sexo y otros datos demográficos con productos adecuados del catálogo de productos. Si se usan públicos ampliamente segmentados junto con pujas para realizar conversiones fuera del sitio, los anuncios del catálogo Advantage+ te permiten expandir enormemente y de manera eficaz el alcance de tus anuncios.
Para segmentar públicos amplios, realiza lo siguiente:
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 estadounidenses entre 30 y 65 años de edad, que excluye a clientes que hayan realizado compras en los últimos diez días. Pujaremos $8 y usaremos OFFSITE_CONVERSIONS
para los 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 tienen en circulación anuncios relacionados con viviendas, empleo, crédito, temas políticos, elecciones y política tienen diferentes conjuntos de restricciones. Consulta Categorías de anuncios especiales para obtener más información.
Las categorías de anuncios del catálogo Advantage+ incorporan dos opciones de contenido nuevas para la plataforma de anuncios, que pueden usarse para personalizar el contenido para los compradores en las etapas iniciales del proceso de decisión. Con esta función, puedes crear lo que en términos prácticos es un segundo catálogo de contenido, más pequeño, con imágenes que representan cada categoría (además del catálogo que ya tienes con imágenes de productos), y asignamos las categorías de productos a las personas en tus anuncios de forma similar a como asignamos los productos a las personas.
Las categorías de anuncios del catálogo Advantage+ pueden usarse con cualquier opción de segmentación en el objetivo de tráfico, conversión o ventas de catálogo. Si no tienes una imagen de calidad alta que represente cada categoría o marca, Facebook puede generar automáticamente un collage 2x2 de los productos principales de cada grupo de productos.
Cuando asignan las nuevas imágenes a los catálogos de productos preexistentes, los anunciantes pueden usar alguna de las tres columnas de sus listas para agrupar los productos: marca, tipo de producto y categoría de producto de Google.
En el ejemplo del catálogo que se muestra a continuación, la columna Tipo de producto tiene cinco valores únicos. El anunciante puede suministrar hasta cinco collages o imágenes de estilo de vida: uno por cada valor único en product_type
. El tipo de producto es el criterio de categorización de la categoría, que es el nombre de campo del catálogo usado para definir las categorías. El valor del campo del catálogo es el valor de criterios de la categoría.
Una categoría puede identificarse de manera unívoca mediante:
Minorista | Nombre de identificador | Precio | Tipo de producto | Marca | Categoría |
---|---|---|---|---|---|
| Camiseta | 25 USD | Indumentaria | Marca A | Categoría A |
| Buzo con capucha de FB | 30 USD | Indumentaria | 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 | Artículos para el hogar | Marca C | Categoría C |
| Sofá Parker | 500 USD | Artículos para el hogar | Marca D | Categoría D |
| Filtro solar | 14 USD | Cuidado personal | Marca E | Categoría E |
Puedes asociar cada categoría (por ejemplo, cada grupo de productos definido según los valores únicos en una de las columnas anteriores) a activos:
destination_uri
: la URL de la página de destino a la que llegan los usuarios que hacen clic en la categoría.image_url
(opcional): la URL de una imagen de estilo de vida que represente la categoría. Si no se proporciona un image_url
, autogeneramos un collage con los principales productos de la categoría.Durante el tiempo de entrega de anuncios, coincidimos dinámicamente cada cuenta del Centro de Cuentas con las categorías a las que es más probable que respondan utilizando los mismos modelos de aprendizaje automático que impulsan los anuncios de catálogo Advantage+ hoy.
La información de las categorías se guarda a nivel del catálogo, lo que significa que distintos anuncios que promocionen las categorías del mismo catálogo compartirían activos, tal como los anuncios que promocionan productos comparten activos definidos en los catálogos. Admitimos distintas opciones de contenido para personalizar los anuncios de categoría.
Las siguientes son las API para recibir y actualizar 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
Hacemos una búsqueda de todos los productos (se admite un filtro opcional) y presentamos las 1.000 categorías principales (ordenadas según la cantidad 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" } ] }
Puedes especificar varios tipos de información de categoría en los datos. En 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. Cuando se actualiza por primera vez la información de una categoría, es preciso especificar la destination_uri
. Si quieres saltear la entrega de una categoría, basta con dejar la destination_uri
vacía.
Nota: Actualmente no es posible borrar 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
Crear anuncios de categoría de anuncios del catálogo Advantage+ es similar a crear otros anuncios de este tipo, pero la selección de contenido difiere un poco. Sigues promocionando un conjunto de productos con anuncios de categorías dinámicas, pero la diferencia radica en que, esta vez, se muestra el contenido de las categorías.
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
Esto crea un contenido de categoría en formato por secuencia:
Tokens de categoría admitidos:
category.name
: nombre de la categoría dentro del conjunto de productos promocionado. category.description
: descripción de categoría dentro del conjunto de productos promocionado. category.destination_uri
: URI de destino de categoría.category.min_price
: precio mínimo de esta categoría dentro del conjunto de productos promocionado. Esta información se obtiene del catálogo. Parámetros
Nombre | Descripción |
---|---|
| Especifica qué tipo de categoría se debe usar.
|
| Especifica cómo renderizar la tarjeta de la secuencia de categorías.
|
Durante la creación de contenido de la categoría, buscamos categorías posibles que se puedan mostrar.
Nota: Descartamos las categorías sin nombre o sin URL de destino. También descartamos las categorías sin imágenes si category_media_source = category
.
La creación de contenido no funciona si hay menos de cuatro categorías admisibles (por ejemplo, para usar categorías de anuncios del catálogo Advantage+ como contenido para una campaña determinada, es preciso que haya al menos cuatro valores únicos en una columna determinada del archivo de lista de datos).
En las plantillas de anuncios del catálogo Advantage+ se usan publicaciones de página directas para crear contenido de plantillas del catálogo Advantage+.
Crear contenido de plantillas de anuncios del catálogo Advantage+ es similar a crear otro tipo de contenido de anuncios. La diferencia radica en que puedes agregar parámetros de plantilla que se muestren correctamente en el tiempo de ejecución según el archivo de lista de datos.
Crea la plantilla de acuerdo con el objeto template_data
de object_story_spec
y utiliza los siguientes campos:
Nombre | Descripción | Acepta parámetros de plantilla |
---|---|---|
Objeto | Objeto de llamada a la acción. | No |
Cadena | Mensaje del anuncio, visible en Instagram. | Sí |
Cadena | Enlace al sitio web que se usa para generar el texto del anuncio. | No |
Cadena | Nombre o título del anuncio, visible en Instagram. | Sí |
Cadena | Descripción del anuncio, no visible en Instagram. | Sí |
Booleano | Opcional. | No |
Booleano | Muestra varias imágenes de la secuencia para un solo producto. | No |
Booleano | Opcional. | No |
Número entero | Indica qué imagen de la matriz de imágenes adicionales debe usarse como imagen del anuncio. Es un índice basado en cero entre 0 y 19. | No |
Matriz | Permite proporcionar una o varias tarjetas estáticas en los anuncios del catálogo Advantage+ del formato por secuencia. | No |
| Especifica cómo transformar las imágenes cuando se entregan a los usuarios en el anuncio. | No |
| Especifica cómo representar superposiciones en una imagen vinculadas a un artículo dinámico. | No |
Matriz | Selecciona la imagen que se va a usar si agregaste etiquetas a tus 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 obtener una vista previa de anuncios del catálogo Advantage+ con additional_image_index
, debes pasar todo el parámetro object_story_spec
al punto de conexión /generatepreviews
. Si solo pasas el parámetro object_story_id
, no se generará una 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
Cada tarjeta dinámica de la secuencia se genera como una presentación. Cada presentación muestra imágenes de un artículo dinámico si el artículo contiene varias imágenes. Si el artículo dinámico contiene una sola imagen, se genera una tarjeta como una 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 de contenido de una nueva plantilla de anuncios del catálogo Advantage+.
{"id":"creative_id"}
Al subir un catálogo, puedes especificar etiquetas de cadenas alfanuméricas arbitrarias en 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>
Cuando se crea el contenido de un anuncio, es posible pasar una matriz de preferred_image_tags
en 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 anuncios del catálogo Advantage+ siguen siendo los mismos. Para habilitar el video, debes incluir datos de video y proporcionar esos datos dentro del catálogo. Consulta a continuación los cambios que es necesario realizar cuando se crean o actualizan catálogos.
En este ejemplo, se utiliza un archivo XML; otros formatos se comportan de forma similar.
Al agregar un video a la lista, se admiten los campos url
y tag
. Actualmente, solo se admite un video 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 usar la API para comprobar los datos subidos. Permite para cada elemento la consulta de sus "metadatos de video".
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 video a nivel de producto en los anuncios, consulta la documentación Crear anuncios con contenido multimedia dinámico.
Si realizas un seguimiento de clics en enlaces a través de un rastreador de clics de terceros antes de que se produzca el redireccionamiento a la URL del producto final, puedes usar el campo template_url_spec
en el contenido del anuncio. Esto permite agregar una plantilla de rastreador de clics en el nivel del anuncio sin tener que integrarla como parte del código del archivo de lista de datos. También puedes usar este campo para crear plantillas de enlaces profundos.
En este campo, puedes usar campos dinámicos, como la URL o el identificador del producto, que deben tener codificación URL si sus valores pueden contener caracteres que invaliden la URL.
Para crear una plantilla de anuncios del catálogo Advantage+ por secuencia con la opción de 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 los siguientes:
Nombre | Descripción |
---|---|
| El valor |
| El precio de venta con formato si el producto tiene uno especificado. De manera opcional, puedes especificar fechas de inicio y fin de la venta de un producto, y |
| El valor |
| El valor |
| La columna |
| El valor |
| El valor |
| El valor |
| El valor |
| El valor |
| El valor |
| El valor |
Algunos valores de la plantilla pueden recibir opciones en cualquier orden y con el siguiente formato:
{{field option1 option2 ...}}
Las siguientes opciones están disponibles:
Opción | Descripción | Compatible con |
---|---|---|
| Omite el símbolo de divisa. |
|
| Omite los centavos en la divisa si son ceros. |
|
| Omite el monto en centavos de la divisa y redondea el precio hacia arriba. | Todos los campos de precios |
Puedes utilizar los valores de la plantilla con transformaciones para ajustar el valor en función de este formato:
{{field | transform}}
Utiliza una de estas transformaciones:
Transformaciones | Descripción |
---|---|
| Formatea el número con el formato predeterminado con coma (",") como separador de miles y redondeado al entero más próximo (por ejemplo, 1234.56->"1,235"). El valor para el formato debe ser un número sin formato ("1234", no "1,234"). |
| Coloca la primera letra de los títulos en mayúscula para que tengan una mejor apariencia (p. ej., "caja" -> "Caja"). |
| Codifica el valor de la URL. |
Cuando muestras contenido dinámico, puedes especificar el comportamiento deseado si una persona hace clic en el anuncio en la app de Facebook nativa. Existen dos requisitos para poder usar los enlaces profundos:
Si se cumplen ambos requisitos, puedes usar el campo applink_treatment
cuando crees el contenido de un anuncio para especificar el comportamiento deseado si un usuario hace clic en un anuncio.
Nombre | Descripción |
---|---|
| Se envía siempre al usuario a la URL web específica. |
| Si la app está instalada en el teléfono del usuario y tenemos la información correspondiente de los enlaces profundos, se envía al usuario a la app. Si no se cumple alguna de estas condiciones, se envía al usuario al sitio web. |
| Valor predeterminado cuando los enlaces de la app están presentes para el producto. Si la app está instalada en el teléfono del usuario y tenemos la información de los enlaces profundos correspondiente, se envía al usuario a la app. Si la app no está instalada, se envía a la persona a la tienda de apps para que la obtenga. |
Crear una plantilla de anuncios del catálogo Advantage+ por secuencia con una llamada a la acción que establecerá un enlace profundo a la app nativa, si está disponible, o dirigirá 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
Crear una plantilla de anuncios del catálogo Advantage+ por secuencia con etiquetas de URL habilitadas que establecerá un enlace profundo a la app nativa, si está disponible, o dirigirá a la tienda de apps para obtener la app:
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
Para obtener información detallada, consulta Catálogo localizado para anuncios del catálogo Advantage+.
Por último, puedes crear un anuncio. El anuncio hace referencia al contenido del anuncio.
¡Felicitaciones! Creaste tu primer anuncio del catálogo Advantage+. No dudes en reanudarlo para iniciar la entrega.
Cuando se publican como anuncios de historias de Instagram, los anuncios del catálogo Advantage+ se recortan al formato 1:1, independientemente de las dimensiones de la imagen original.
Puedes generar vistas previas del contenido dinámico con el punto de conexión de vistas previas de anuncios. Especifica el parámetro product_item_ids
o varios product_item_ids
para generar una vista previa de un anuncio por secuencia.
Nombre | Descripción |
---|---|
matriz [cadena] | Lista de FBID de productos o tokens de identificador de productos codificados como URL Base64. |
Puedes recuperar estadísticas por producto mediante una llamada GET
al punto de conexión de estadísticas. Agrega product_id
al parámetro fields
.
Se muestran las estadísticas de todos los productos en los conjuntos de productos de una cuenta que se muestran en anuncios del catálogo Advantage+.
En el ejemplo se reportan clicks
, actions
e impressions
para cada 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 comentarios, Me gusta y el product_id
de una publicación de anuncios del catálogo Advantage+. Realiza una llamada GET
con un post_id
como se indica a continuación. El post_id
es el effective_object_story_id
de un contenido de un anuncio con el formato PageID_PostID
.
Nota: No puedes usar ese punto de conexión para recuperar comentarios de Instagram.
curl -G \ -d 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/<API_VERSION>/<POST_ID>/dynamic_posts
Este punto de conexión devuelve objetos de publicación dinámica.
Una vez que obtienes 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.