Anuncios de clic a varios destinos

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

Los anuncios de clic a múltiples destinos dirigen a las personas que hacen clic en ellos a una conversación con tu negocio en la app de mensajes o en las apps que suelen utilizar para responder (Messenger, Instagram o WhatsApp). Usa estos anuncios para llegar a las personas a gran escala y ofrecer un servicio personalizado de calidad.

Como el nombre lo indica, el anuncio puede ir a una combinación de destinos: chat de Messenger, de Instagram o de WhatsApp.

Si quieres crear un anuncio que solo vaya a un destino, consulta lo siguiente:

Información general de la creación de anuncios

En este documento, se describen los pasos que debes seguir para configurar la integración de anuncios de clic a varios destinos. Debes hacer 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 un contenido del anuncio correspondiente al tipo de anuncio de varios destinos que quieres mostrar
  4. Crear un anuncio vinculando el contenido del anuncio con el conjunto de anuncios

Paso 1: Crear una campaña publicitaria

Empieza por crear tu campaña publicitaria. Para hacerlo, envía una solicitud POST al punto de conexión /act_<AD_ACCOUNT_ID>/campaigns, donde <AD_ACCOUNT_ID> es el identificador de tu cuenta publicitaria de Meta. En la solicitud, debes incluir los siguientes parámetros:

Parámetros

NombreDescripción

name

cadena

Obligatorio.
Nombre de la campaña de anuncios 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

<Object> de lista

Obligatorio.
Categorías de anuncios especiales asociadas a la campaña de anuncios de clic a varios destinos. Por el momento, no admitimos categorías de anuncios especiales en relación con anuncio de clic a varios destinos, por lo que debe ser NONE o una matriz vacía. Consulta la referencia de la campaña publicitaria 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 activos y anuncios se pausarán y tendrán un 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 procesa correctamente, la app recibirá una respuesta JSON con el identificador de la campaña que se creó recientemente.

{
  "id": "<AD_CAMPAIGN_ID>"
}

Actualización

Puedes actualizar una campaña si envías una solicitud POST a /<AD_CAMPAIGN_ID>.

Lectura

Para verificar si se creó correctamente una campaña de clic a varios destinos, puedes enviar una solicitud GET a /<AD_CAMPAIGN_ID>. Consulta la referencia de la campaña publicitaria para obtener un listado completo de todos los perí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

Una vez que tienes una campaña de anuncios, crea tu conjunto de anuncios. Para hacerlo, envía una solicitud POST al punto de conexión /act_<AD_ACCOUNT_ID>/adsets, donde <AD_ACCOUNT_ID> sea el identificador de tu cuenta publicitaria de Meta. En la solicitud, debes incluir los siguientes parámetros:

Parámetros

NombreDescripción

bid_amount

int32 sin firmar

Obligatorio si bid_strategy se configuró en LOWEST_COST_WITH_BID_CAP o COST_CAP.
El número máximo que deseas pagar por un resultado en función de tu optimization_goal.

bid_strategy

enumeración

Opcional.
Una estrategia de puja relacionada a esta campaña, que se adapte a tus objetivos comerciales específicos. Consulta la referencia de la campaña de anuncios 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 configurar en IMPRESSIONS si se trata de anuncios de clic a varios destinos. Meta te envía una factura cuando el anuncio se muestra a las personas.

campaign_id

cadena numérica o número entero

Obligatorio.
Una campaña de clic a varios destinos válida que deseas agregar a este conjunto de anuncios.

daily_budget

int64

Obligatorio si lifetime_budget no está configurado.
El presupuesto diario definido en la divisa de tu cuenta. Permitido solo para los conjuntos de anuncios con una duración (diferencia entre end_time y start_time) superior a las 24 horas.
daily_budget o lifetime_budget debe ser mayor que 0.

destination_type

cadena

Obligatorio.


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

Nota: Si incluyes WhatsApp en los destinos, asegúrate de tener el número de WhatsApp Business conectado a tu página. Si incluyes Instagram en los destinos, asegúrate de tener una cuenta de empresa de Instagram conectada a tu página.

end_time

datetime

Obligatorio si se establece lifetime_budget.
Al crear un conjunto de anuncios con un valor daily_budget, configura end_time=0 o deja libre este campo para que el conjunto de anuncios quede configurado como en curso 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 en UTC.

lifetime_budget

int64

Obligatorio si el valor daily_budget no está configurado.
El presupuesto total definido en la divisa de tu cuenta. Si está configurado, debes establecer una end_time.
daily_budget o lifetime_budget debe ser mayor que 0.

name

cadena

Obligatorio.
El nombre del conjunto de anuncios de clic a varios destinos.

optimization_goal

enumeración

Obligatorio.
Lo que optimiza el conjunto de anuncios. Se debe configurar en CONVERSATIONS si se trata de 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.
El objeto que promociona este conjunto de anuncios en todos los anuncios. En relación con los anuncios que hacen clic a varios destinos, promoted_object presenta las siguientes condiciones.

  • page_id: Obligatorio. El identificador de la página de Facebook.

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

start_time

datetime

Opcional.
La hora de inicio del conjunto de anuncios. De forma predeterminada, este campo mostrará 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 en UTC.

status

enumeración

Opcional.
El estado del conjunto de anuncios. Puede ser diferente del estado efectivo debido a la campaña principal. Este campo tendrá configurado el valor ACTIVE de manera predeterminada si no se proporciona ningún valor.
Valores:ACTIVE, PAUSED, DELETED y ARCHIVED.

targeting

Objeto de segmentación

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

time_start

datetime

Opcional.
Intercambiable con start_time.

time_stop

datetime

Obligatorio cuando se establece lifetime_budget.
Intercambiable con end_time.

Consulta nuestra Referencia del conjunto de anuncios de la cuenta publicitaria para obtener la 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 procesa correctamente, la app recibirá una respuesta JSON con el identificador del conjunto de anuncios que se creó recientemente.

{
  "id": "<AD_SET_ID>"
}

Actualización

Puedes actualizar un conjunto de anuncios si envías una solicitud POST a /<AD_SET_ID>.

Lectura

Si deseas verificar si se creó correctamente un conjunto de anuncios de clic a varios destinos, puedes enviar una solicitud GET a /<AD_SET_ID>. Consulta la referencia sobre conjunto 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 agregar activos a los anuncios. Para hacerlo, envía una solicitud POST al punto de conexión /act_<AD_ACCOUNT_ID>/adcreatives, donde <AD_ACCOUNT_ID> es el identificador de tu cuenta publicitaria de Meta. En la solicitud, debes incluir los siguientes parámetros:

Parámetros

NombreDescripción

asset_feed_spec

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

Obligatorio:

  • optimization_type: se debe configurar en DOF_MESSAGING_DESTINATION en relación con los anuncios de clic a varios destinos.
  • call_to_actions: matriz de los destinos seleccionados de los anuncios de clic a varios destinos. Es necesario que coincida con el valor destination_type que se configuró 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.
El nombre del contenido del anuncio.

object_story_spec

Obligatorio.
Un objeto que contiene información sobre un mensaje. Consulta Especificaciones de la historia del objeto del contenido del anuncio para obtener más información.


Obligatorio:

  • page_id: el identificador de la página de Facebook.
  • instagram_actor_id: identificador de la cuenta de Instagram. Hay tres maneras de obtener un identificador de cuenta de Instagram: cuenta de Instagram propiedad del administrador comercial, cuenta de Instagram conectada a la página y cuenta de Instagram respaldada por la página.

Opcional:

  • link_data: la especificación de una publicación de la página con enlace o un anuncio por secuencia
  • photo_data: la especificación de una publicación de la página con foto
  • text_data: la especificación de una publicación de la página con texto
  • video_data: la especificación de una publicación de la página con video

degrees_of_freedom_spec

Opcional.
Consulta Mejoras estándar en el contenido Advantage+ para obtener más detalles.

Consulta nuestra Referencia del contenido del anuncio para obtener la lista completa de los parámetros disponibles.

Completar el mensaje de bienvenida a la página

El mensaje predeterminado que ve el cliente es "¡Hola! Quiero más información.". Puedes crear mejores experiencias del usuario más personalizadas para tus anuncios de clic a varios destinos si personalizas el mensaje de bienvenida, los mensajes para empezar una conversación y los mensajes de autocompletar en el campo page_welcome_message en object_story_spec.

Para obtener más información sobre los mensajes para empezar una conversación, consulta la referencia sobre ice_breakers.

Limitaciones

  • Los títulos de los mensajes para empezar una conversación no deben superar los 80 caracteres.
  • Las respuestas de los mensajes para empezar una conversación no deben superar los 300 caracteres.
  • El texto del mensaje no debe superar los 300 caracteres.

Ejemplo:

Crea el objeto page_welcome_message para agregar mensajes para empezar una conversación con un mensaje de bienvenida.

"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

Agrega el campo page_welcome_message al contenido como se indica a continuación.

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 procesa correctamente, la app recibirá una respuesta JSON con el identificador del contenido del anuncio que se creó recientemente.

{
  "id": "<AD_CREATIVE_ID>"
}

Crear contenido del anuncio con contenido de Instagram

Publicaciones de Instagram

Consulta Usar publicaciones de Instagram 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

Crear contenido del anuncio 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 el formato de postOwnerID_postID y instagram_actor_id es un 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 actualizar el contenido del anuncio si envías una solicitud POST a /<AD_CREATIVE_ID>.

Lectura

Para verificar si se creó correctamente el contenido del anuncio de clic a varios destinos, puedes enviar una solicitud GET a /<AD_CREATIVE_ID>. Consulta el 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 con tus conjuntos de anuncios. Para hacerlo, envía una solicitud POST al punto de conexión /act_<AD_ACCOUNT_ID>/ads, donde <AD_ACCOUNT_ID> sea el identificador de tu cuenta publicitaria de Meta. En la solicitud, debes incluir los siguientes parámetros:

Parámetros

NombreDescripción

name

cadena

Obligatorio.
El nombre del contenido del anuncio.

adset_id

cadena numérica o número entero

Opcional.
El identificador del conjunto de anuncios.

creative

Obligatorio.
El contenido del anuncio que usará este anuncio. Puedes proporcionar el creative_id del contenido de un anuncio preexistente o crear un nuevo contenido del anuncio al incluir todos los campos obligatorios. Consulta Contenido del anuncio para obtener más información.

status

enumeración

Obligatorio.
El 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 procesa correctamente, la app recibirá una respuesta JSON con el identificador del anuncio que se creó recientemente.

{
  "id": "<AD_ID>"
}

Llamada a la acción

También puedes configurar una llamada a la acción cuando crees tu 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"
      }
    }
  ]
}

Consulta la documentación sobre las especificaciones de la lista de activos para obtener más información.

Actualización

Puedes actualizar un anuncio si envías una solicitud POST a /<AD_ID>.

Lectura

Si deseas verificar si se creó correctamente un anuncio de clic a varios destinos, puedes enviar una solicitud GET a /<AD_ID>. Consulta la referencia de los anuncios para obtener un listado completo de todos los perímetros.

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>"
}