Anuncios de clic a varios destinos

En esta guía se describe cómo crear y publicar anuncios de clic a varios destinos con la API de marketing.

Los anuncios de clic a varios destinos envían a las personas que hacen clic en ellos directamente a conversaciones con tu empresa en la aplicación o aplicaciones de mensajes (Messenger, Instagram o WhatsApp) desde las que es más probable que respondan. Utilízalos para llegar a personas a gran escala y ofrecer un servicio personalizado y destacado.

Los anuncios de varios destinos implican que el anuncio puede dirigirse a cualquier combinación de destinos: chat de Messenger, chat de Instagram o chat de WhatsApp.

Si quieres crear un anuncio que solo se dirija a un destino, consulta:

Información general sobre la creación de anuncios

En este documento se describen los pasos que tienes que seguir si quieres configurar la integración para los anuncios de clic a varios destinos. Necesitarás lo siguiente:

  1. Crear una campaña publicitaria.
  2. Crear un conjunto de anuncios que vincule los anuncios con la campaña publicitaria.
  3. Crear contenido para el tipo de anuncio de varios destinos que quieras mostrar.
  4. Crear un anuncio vinculando el contenido del anuncio con el conjunto de anuncios.

Paso 1: Crear una campaña publicitaria

Para empezar, crea una campaña publicitaria. Para ello, realiza una solicitud POST al extremo /act_<AD_ACCOUNT_ID>/campaigns, donde <AD_ACCOUNT_ID> es el identificador de la cuenta publicitaria de Meta. La solicitud debe incluir lo siguiente:

Parámetros

NombreDescripción

name

Cadena

Obligatorio.
Nombre de la campaña de clic a varios destinos.

objective

Enumeración

Obligatorio.
Objetivo de la campaña.
Los objetivos admitidos son OUTCOME_ENGAGEMENT, OUTCOME_SALES y OUTCOME_TRAFFIC.

special_ad_categories

Lista<Object>

Obligatorio.
Categorías de anuncios especiales asociadas a la campaña de clic a varios destinos. Actualmente no admitimos categorías de anuncios especiales para los anuncios de clic a varios destinos, por lo que el valor debe ser NONE o una matriz vacía. Consulta la referencia sobre campañas publicitarias para obtener más información.

status

Enumeración

Opcional.
Las opciones válidas son PAUSED y ACTIVE.
Si este estado es PAUSED, todos sus conjuntos de anuncios y anuncios activos se pausarán y tendrán el estado efectivo CAMPAIGN_PAUSED.

Solicitud

curl -X POST \
  -F 'name=Click to Multi Destination Campaign' \
  -F 'objective=OUTCOME_ENGAGEMENT' \
  -F 'status=ACTIVE' \
  -F 'special_ad_categories=[]' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/campaigns

Respuesta

Si la operación se realiza correctamente, la aplicación recibe una respuesta JSON con el identificador de la campaña recién creada.

{
  "id": "<AD_CAMPAIGN_ID>"
}

Actualización

Puedes realizar una solicitud POST a /<AD_CAMPAIGN_ID> para actualizar una campaña.

Lectura

Para comprobar que hayas creado correctamente un campaña de clic a varios destinos, puedes realizar una solicitud GET a /<AD_CAMPAIGN_ID>. Consulta la referencia sobre campañas publicitarias para obtener una lista completa de los parámetros disponibles.

Solicitud

curl -X GET -G \
  -d 'fields=name,status,objective' \
  -d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/<AD_CAMPAIGN_ID>

Respuesta

{
  "name": "Click to Multi Destination Campaign",
  "status": "ACTIVE",
  "objective": "OUTCOME_ENGAGEMENT",
  "id": "<AD_CAMPAIGN_ID>"
}

Paso 2: Crear un conjunto de anuncios

Cuando tengas una campaña publicitaria, crea el conjunto de anuncios. Para crear un conjunto de anuncios, realiza una solicitud POST al extremo /act_<AD_ACCOUNT_ID>/adsets, donde <AD_ACCOUNT_ID> es el identificador de la cuenta publicitaria de Meta. La solicitud debe incluir lo siguiente:

Parámetros

NombreDescripción

bid_amount

Entero de 32 bits sin firmar

Obligatorio si bid_strategy se establece en LOWEST_COST_WITH_BID_CAP o COST_CAP.
Cantidad máxima que quieres pagar por un resultado según el valor de optimization_goal.

bid_strategy

Enumeración

Opcional.
Estrategia de puja de esta campaña para que se ajuste a tus objetivos de negocio específicos. Consulta la referencia sobre campañas publicitarias para obtener más información.
Valores:LOWEST_COST_WITHOUT_CAP, LOWEST_COST_WITH_BID_CAP y COST_CAP.

billing_event

Enumeración

Obligatorio.
Se debe establecer en IMPRESSIONS para los anuncios de clic a varios destinos. Meta te factura cuando el anuncio se muestra a los usuarios.

campaign_id

Cadena numérica o entero

Obligatorio.
Campaña válida de clic a varios destinos a la que quieres añadir este conjunto de anuncios.

daily_budget

Entero de 64 bits

Obligatorio si lifetime_budget no se establece.
Presupuesto diario definido en la divisa de la cuenta. Solo se permite para los conjuntos de anuncios con una duración (diferencia entre end_time y start_time) superior a 24 horas.
El valor de daily_budget o lifetime_budget debe ser mayor que 0.

destination_type

Cadena

Obligatorio.


  • Establece el valor en MESSAGING_INSTAGRAM_DIRECT_MESSENGER_WHATSAPP si quieres usar los tres destinos (Messenger, WhatsApp e Instagram).
  • Establece el valor en MESSAGING_INSTAGRAM_DIRECT_MESSENGER si quieres usar Messenger e Instagram.
  • Establece el valor en MESSAGING_MESSENGER_WHATSAPP si quieres usar Messenger y WhatsApp.
  • Establece el valor en MESSAGING_INSTAGRAM_DIRECT_WHATSAPP si quieres usar WhatsApp e Instagram.

Nota: Si incluyes WhatsApp en los destinos, asegúrate de tener un número empresarial de WhatsApp conectado a la página. Si incluyes Instagram en los destinos, asegúrate de tener una cuenta empresarial de Instagram conectada a la página.

end_time

DateTime

Obligatorio cuando se especifica lifetime_budget.
Al crear un conjunto de anuncios con daily_budget, especifica end_time=0 o deja este campo vacío para definir el conjunto de anuncios como continuo sin fecha de finalización.
Ejemplo:2015-03-12 23:59:59-07:00 o 2015-03-12 23:59:59 PDT. Marca de tiempo UNIX UTC.

lifetime_budget

Entero de 64 bits

Obligatorio si daily_budget no se establece.
Presupuesto total del conjunto de anuncios definido en la divisa de la cuenta. Si se especifica, también debes especificar un valor de end_time.
El valor de daily_budget o lifetime_budget debe ser mayor que 0.

name

Cadena

Obligatorio.
Nombre del conjunto de anuncios de clic a varios destinos.

optimization_goal

Enumeración

Obligatorio.
Para qué se optimiza el conjunto de anuncios. Se debe establecer en CONVERSATIONS para los anuncios de clic a varios destinos. En función del objetivo de la campaña, el conjunto de anuncios puede cumplir los requisitos de diferentes objetivos de optimización.

promoted_object

Obligatorio.
Objeto que promociona este conjunto de anuncios en todos sus anuncios. En el caso de los anuncios de clic a varios destinos, promoted_object tiene las siguientes condiciones:

  • page_id: obligatorio. Identificador de la página de Facebook.

Consulta Conjunto de anuncios, Objeto promocionado para obtener más información.

start_time

DateTime

Opcional.
Hora de inicio del conjunto de anuncios. Este campo adoptará de forma predeterminada la hora actual si no se proporciona ningún valor.
Ejemplo:2015-03-12 23:59:59-07:00 o 2015-03-12 23:59:59 PDT. Marca de tiempo UNIX UTC.

status

Enumeración

Opcional.
Estado del conjunto de anuncios. Puede ser diferente del estado efectivo debido a su campaña principal. Este campo adoptará de forma predeterminada ACTIVE si no se proporciona ningún valor.
Valores:ACTIVE, PAUSED, DELETED y ARCHIVED.

targeting

Objeto de segmentación

Obligatorio.
Estructura de segmentación de un anuncio de clic a Instagram. Consulta Segmentación para obtener más información.

time_start

DateTime

Opcional.
Se puede intercambiar por start_time.

time_stop

DateTime

Obligatorio cuando se especifica lifetime_budget.
Se puede intercambiar por end_time.

Consulta la referencia sobre conjuntos de anuncios de cuentas publicitarias para obtener una lista completa de los parámetros disponibles.

Solicitud

curl -X POST \
  -F 'access_token=<ACCESS_TOKEN>' \
  -F 'bid_strategy=LOWEST_COST_WITHOUT_CAP' \
  -F 'billing_event=IMPRESSIONS' \
  -F 'campaign_id=<CAMPAIGN_ID>' \
  -F 'daily_budget=<DAILY_BUDGET>' \
  -F 'destination_type=<DESTINATION_TYPE>' \
  -F 'name=<AD_SET_NAME>' \
  -F 'optimization_goal=CONVERSATIONS' \
  -F 'promoted_object={
      "page_id": "<PAGE_ID>"
    }' \
  -F 'status=ACTIVE' \
  -F 'start_time=<START_TIME>' \
  -F 'targeting={ 
        "geo_locations": { "countries":["US","CA"] },
        "device_platforms": ["mobile", "desktop"]
  }' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adsets

Respuesta

Si la operación se realiza correctamente, la aplicación recibe una respuesta JSON con el identificador del conjunto de anuncios recién creado.

{
  "id": "<AD_SET_ID>"
}

Actualización

Puedes realizar una solicitud POST a /<AD_SET_ID> para actualizar un conjunto de anuncios.

Lectura

Para comprobar que hayas creado correctamente un conjunto de anuncios de clic a varios destinos, puedes realizar una solicitud GET a /<AD_SET_ID>. Consulta la referencia sobre conjuntos de anuncios para obtener una lista completa de los parámetros disponibles.

Solicitud

curl -X GET -G \
  -d 'fields=name,destination_type,optimization_goal,bid_strategy' \
  -d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/<AD_SET_ID>

Respuesta

{
  "name": "<AD_SET_NAME>",
  "destination_type": "<DESTINATION_TYPE>",
  "optimization_goal": "CONVERSATIONS",
  "bid_strategy": "LOWEST_COST_WITHOUT_CAP'"
  "id": "<AD_SET_ID>"
}

Paso 3: Crear el contenido del anuncio

El contenido del anuncio te permite añadir activos a los anuncios. Para crear el contenido del anuncio, realiza una solicitud POST al extremo /act_<AD_ACCOUNT_ID>/adcreatives, donde <AD_ACCOUNT_ID> es el identificador de la cuenta publicitaria de Meta. La solicitud debe incluir lo siguiente:

Parámetros

NombreDescripción

asset_feed_spec

Obligatorio.
Especifica los destinos de los anuncios de clic a varios destinos.

Obligatorio:

  • optimization_type: se debe establecer en DOF_MESSAGING_DESTINATION para los anuncios de clic a varios destinos.
  • call_to_actions: matriz de los destinos seleccionados de los anuncios de clic a varios destinos. Tiene que coincidir con el valor de destination_type especificado en el conjunto de anuncios.

Messenger

{
  "type": "MESSAGE_PAGE",
    "value": {
       "app_destination": "MESSENGER",
       "link": "https://fb.com/messenger_doc/"
    }
} 

WhatsApp

{
  "type": "WHATSAPP_MESSAGE",
    "value": {
       "app_destination": "WHATSAPP",
       "link": "https://api.whatsapp.com/send"
    }
}

Instagram

{
  "type": "INSTAGRAM_MESSAGE",
    "value": {
       "app_destination": "INSTAGRAM_DIRECT",
       "link": "https://www.instagram.com"
    }
}

name

Cadena

Obligatorio.
Nombre del contenido del anuncio.

object_story_spec

Obligatorio.
Objeto con información sobre un mensaje. Consulta la especificación de historias del objeto de contenido del anuncio para obtener más información.


Obligatorio:

  • page_id: identificador de la página de Facebook.
  • instagram_actor_id: identificador de la cuenta de Instagram. Existen tres formas de obtener el identificador de una cuenta de Instagram: cuenta de Instagram propiedad de Business Manager, cuenta de Instagram conectada a la página y cuenta de Instagram respaldada por la página.

Opcional:

  • link_data: especificación de una publicación de la página de enlace o anuncio por secuencia.
  • photo_data: especificación de una publicación de la página de foto.
  • text_data: especificación de una publicación de la página de texto.
  • video_data: especificación de una publicación de la página de vídeo.

degrees_of_freedom_spec

Opcional.
Consulta Mejoras estándar para contenido de Advantage+ para obtener más información.

Consulta la referencia sobre el contenido del anuncio para obtener una lista completa de los parámetros disponibles.

Relleno del mensaje de bienvenida de la página

El mensaje predeterminado que ve un cliente es “Hola. ¿Puedo obtener más información sobre esto?”. Si quieres crear experiencias de usuario más personalizadas para los anuncios de clic a varios destinos, puedes adaptar el mensaje de saludo, las frases para romper el hielo y los mensajes de relleno automático de los anuncios en el campo page_welcome_message en object_story_spec.

Para obtener más información sobre las frases para romper el hielo, consulta la referencia de ice_breakers.

Limitaciones

  • Los títulos de las frases para romper el hielo no deben tener más de 80 caracteres.
  • Las respuestas de las frases para romper el hielo no deben tener más de 300 caracteres.
  • El texto del mensaje no debe tener más de 300 caracteres.

Ejemplo

Crea el objeto page_welcome_message para añadir frases para romper el hielo con un mensaje de saludo.

"page_welcome_message": {
  "type":"VISUAL_EDITOR",
  "version":2,
  "landing_screen_type":"welcome_message",
  "media_type":"text",
  "text_format":{
    "customer_action_type":"ice_breakers",
    "message":{
      "ice_breakers":[
        {"title":"Can I make a purchase?","response":"This is a response 1"},
        {"title":"Can I see a menu?", "response":"This is a response 2"},
        {"title":"Where are you located?", "response":"This is a response 3"}],
      "quick_replies":[],
      "text":"Hi {{user_first_name}}! Please let us know how we can help you."}
  },
  "user_edit":false,
  "surface":"visual_editor_new"
}

Ejemplos de creación de contenido del anuncio

Añade el campo page_welcome_message al contenido de la siguiente forma.

Solicitud

curl -X POST \
-F 'name=<CREATIVE_NAME>' \
-F 'object_story_spec={
     "page_id": "438346666550309",
     "link_data": {
       "name": "<AD_HEADLINE>",
       "message": "<AD_PRIMARY_TEXT>",
       "image_hash": "<IMAGE_HASH>"
       "link": "https://fb.com/messenger_doc/",
       "page_welcome_message": "<PAGE_WELCOME_MESSAGE>",
       "call_to_action": {
         "type": "MESSAGE_PAGE",
         "value": {
           "app_destination": "MESSENGER"
         }
       }
     }
   }' \
-F 'asset_feed_spec={
     "optimization_type": "DOF_MESSAGING_DESTINATION",
     "call_to_actions": [
       {
         "type": "MESSAGE_PAGE",
         "value": {
           "app_destination": "MESSENGER",
           "link": "https://fb.com/messenger_doc/"
         }
       },
       {
         "type": "WHATSAPP_MESSAGE",
         "value": {
           "app_destination": "WHATSAPP",
           "link": "https://api.whatsapp.com/send"
         }
       },
       {
         "type": "INSTAGRAM_MESSAGE",
         "value": {
           "app_destination": "INSTAGRAM_DIRECT",
           "link": "https://www.instagram.com"
         }
       }
     ]
   }' \
-F 'degrees_of_freedom_spec={
     "creative_features_spec": {
       "standard_enhancements": {
         "enroll_status": "OPT_IN"
       }
     }
   }' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

Respuesta

Si la operación se realiza correctamente, la aplicación recibe una respuesta JSON con el identificador del contenido del anuncio recién creado.

{
  "id": "<AD_CREATIVE_ID>"
}

Creación de contenido de anuncios con contenido de Instagram

Publicaciones de Instagram

Consulta Usar publicaciones como anuncios de Instagram para obtener más información.

curl -X POST \
  -F 'name=Sample ad creative from Instagram post' \
  -F 'object_id=<PAGE_ID>' \
  -F 'instagram_user_id=<INSTAGRAM_USER_ID>' \
  -F 'source_instagram_media_id=<INSTAGRAM_POST_ID>' \
  -F 'call_to_action={
       "type": "INSTAGRAM_MESSAGE",
       "value": {
         "link": "https://www.instagram.com"
       }
     }' \ 
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

Imágenes de Instagram

curl -X POST \
  -F 'name=Sample ad creative from Instagram image' \
  -F 'object_story_spec={
       "page_id": "<PAGE_ID>",
       "instagram_actor_id": "<INSTAGRAM_ACTOR_ID>",
       "link_data": {
         "message": "<AD_PRIMARY_TEXT>",
         "picture": "<IMAGE_URL>"
         "page_welcome_message": "<PAGE_WELCOME_MESSAGE>",
         "call_to_action": {
           "type": "INSTAGRAM_MESSAGE",
           "value": {
             "app_destination": "INSTAGRAM_DIRECT"
           }
         }
       }
     }' \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

Creación de contenido de anuncios con contenido de Facebook

Consulta Usar publicaciones como anuncios de Instagram: publicaciones de Facebook para obtener más información.

curl -i -X POST \
  "https://graph.facebook.com/v21.0/act_<AD_ACCOUNT>/adcreatives
  ?object_story_id=<postOwnerID_postID>
  &instagram_actor_id=<IG_USER_ID>
  &call_to_action="{'type':MESSAGE_PAGE,'value':{'app_destination':'MESSENGER'}}"
  &access_token=<ACCESS_TOKEN>"

Donde object_story_id es el identificador de la publicación en formato postOwnerID_postID y instagram_actor_id es el identificador de la cuenta de Instagram conectada a la página o el identificador de la cuenta de Instagram respaldada por la página. Consulta más información en Configurar cuentas de Instagram con páginas.

Actualización

Puedes realizar una solicitud POST a /<AD_CREATIVE_ID> para actualizar el contenido del anuncio.

Lectura

Para comprobar que hayas creado correctamente el contenido del anuncio de clic a varios destinos, puedes realizar una solicitud GET a /<AD_CREATIVE_ID>. Consulta Contenido del anuncio para obtener una lista completa de los parámetros disponibles.

Solicitud

curl -X GET -G \
  -d 'fields=name,object_story_spec{page_welcome_message},asset_feed_spec' \
  -d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/<AD_CREATIVE_ID>

Respuesta

{
  "name": "<CREATIVE_NAME>",
  "object_story_spec": {
    "page_welcome_message": {
      "type": "VISUAL_EDITOR",
      "version": 2,
      "landing_screen_type": "welcome_message",
      "media_type": "text",
      "text_format": {
        "customer_action_type": "ice_breakers",
        "message": {
          "text": "Sample greeting message",
          "ice_breakers": [
            {
              "title": "Sample icebreaker"
            },
            {
              "title": "Sample icebreaker"
            },
            {
              "title": "Sample icebreaker"
            }
          ]
        }
      }
    }
  },
  "asset_feed_spec": {
    "optimization_type": "DOF_MESSAGING_DESTINATION",
    "call_to_actions": [
      {
        "type": "MESSAGE_PAGE",
        "value": {
          "app_destination": "MESSENGER",
          "link": "https://fb.com/messenger_doc/"
        }
      },
      {
        "type": "WHATSAPP_MESSAGE",
        "value": {
          "app_destination": "WHATSAPP",
          "link": "https://api.whatsapp.com/send"
        }
      },
      {
        "type": "INSTAGRAM_MESSAGE",
        "value": {
          "app_destination": "INSTAGRAM_DIRECT",
          "link": "https://www.instagram.com"
        }
      }
    ]
  },
  "id": "<AD_CREATIVE_ID>"
}

Paso 4: Crear un anuncio

Los anuncios te permiten asociar información del contenido del anuncio a los conjuntos de anuncios. Para crear un anuncio, realiza una solicitud POST al extremo /act_<AD_ACCOUNT_ID>/ads, donde <AD_ACCOUNT_ID> es el identificador de la cuenta publicitaria de Meta. La solicitud debe incluir lo siguiente:

Parámetros

NombreDescripción

name

Cadena

Obligatorio.
Nombre del contenido del anuncio.

adset_id

Cadena numérica o entero

Obligatorio.
Identificador del conjunto de anuncios.

creative

Obligatorio.
Contenido que utilizará este anuncio. Puedes indicar el valor de creative_id de un contenido de anuncio existente o incluir todos los campos obligatorios para crear uno nuevo. Consulta Contenido del anuncio para obtener más información.

status

Enumeración

Obligatorio.
Estado configurado del anuncio.
Valores:ACTIVE, PAUSED, DELETED y ARCHIVED.

Solicitud

curl -X POST \
  -F 'name=<AD_NAME>' \
  -F 'adset_id=<AD_SET_ID> \
  -F 'creative={
       "creative_id": "<AD_CREATIVE_ID>"
     }' \
  -F 'status=ACTIVE \
  -F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/ads

Respuesta

Si la operación se realiza correctamente, la aplicación recibe una respuesta JSON con el identificador del anuncio recién creado.

{
  "id": "<AD_ID>"
}

Llamada a la acción

También puedes establecer una llamada a la acción al crear el anuncio.

"asset_feed_spec": {
  "optimization_type": "DOF_MESSAGING_DESTINATION",
  "call_to_actions": [
    {
      "type": "MESSAGE_PAGE",
      "value": {
        "app_destination": "MESSENGER",
        "link": "https://fb.com/messenger_doc/"
      }
    },
    {
      "type": "INSTAGRAM_MESSAGE",
      "value": {
        "app_destination": "INSTAGRAM_DIRECT",
        "link": "https://www.instagram.com"
      }
    }
  ]
}

Obtén más información en la documentación de la especificación de listas de piezas de contenido.

Actualización

Puedes realizar una solicitud POST a /<AD_ID> para actualizar un anuncio.

Lectura

Para comprobar que hayas creado correctamente un anuncio de clic a varios destinos, puedes realizar una solicitud GET a /<AD_ID>. Consulta la referencia sobre anuncios para obtener una lista completa de los parámetros disponibles.

Solicitud

curl -X GET -G \
  -d 'fields=status,adset_id \
  -d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/<AD_ID>

Respuesta

{
  "status": "ACTIVE",
  "adset_id": "<AD_SET_ID>",
  "id": "<AD_ID>"
}