Anuncios de clic a WhatsApp

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

Los anuncios de clic a WhatsApp dirigen a las personas que hacen clic en ellos directamente a conversaciones con tu empresa en WhatsApp. Utilízalos para llegar a personas a gran escala y ofrecer un servicio personalizado y destacado.

Los anuncios de clic a WhatsApp admiten anuncios con una imagen, un vídeo, una secuencia o una película. También puedes incluir invitaciones de llamada en el anuncio.

Si te interesa crear anuncios que dirijan a los usuarios a los chats de Messenger o Instagram, consulta Anuncios de clic a Messenger o Anuncios de clic a Instagram para obtener más información. También puedes crear anuncios que elijan el destino en el que es más probable que responda el usuario. Para obtener más información, consulta Anuncios de clic a varios destinos.

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 WhatsApp.

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 WhatsApp que quieras mostrar.
  4. Crear un anuncio vinculando el contenido del anuncio con el conjunto de anuncios.
  5. Publicar el anuncio en Facebook, Instagram y Messenger.

Antes de empezar

En esta guía se presupone lo siguiente:

Para realizar correctamente llamadas a todos los extremos de esta guía, necesitarás lo siguiente:

  • Un identificador de acceso a la página solicitado por una persona que pueda realizar la tarea ADVERTISE en la página.
  • Se deben conceder los siguientes permisos a las personas que utilizan la aplicación:
    • ads_management
    • pages_manage_ads
    • pages_read_engagement
    • pages_show_list

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 WhatsApp.

objective

Enumeración

Obligatorio.
Objetivo de la campaña.
Los objetivos admitidos son OUTCOME_ENGAGEMENT, OUTCOME_SALES y OUTCOME_TRAFFIC.
Nota: En el caso de las campañas con invitaciones de llamada, objective debe ser OUTCOME_ENGAGEMENT.

special_ad_categories

Lista<Object>

Obligatorio.
Categorías de anuncios especiales asociadas a la campaña de clic a WhatsApp. 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 estándar

curl -X POST \
  -F 'name=Click to WhatsApp 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

Solicitud de campaña de llamadas

curl -X POST \
  -F 'name=Click to WhatsApp Calling Campaign' \
  -F 'objective=OUTCOME_ENGAGEMENT' \
  -F 'status=PAUSED' \
  -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 WhatsApp, 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 WhatsApp Campaign",
  "status": "PAUSED",
  "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 WhatsApp. 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 WhatsApp 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.
Se establece en WHATSAPP para los anuncios de clic a WhatsApp de un solo destino.

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 WhatsApp.

optimization_goal

Enumeración

Obligatorio.
Para qué se optimiza el conjunto de anuncios. En función del objetivo de la campaña, el conjunto de anuncios puede cumplir los requisitos de diferentes objetivos de optimización.


OUTCOME_ENGAGEMENT: el objetivo de interacción puede optimizar para CONVERSATIONS y LINK_CLICKS.
OUTCOME_SALES: el objetivo de ventas puede optimizar para CONVERSATIONS, OFFSITE_CONVERSIONS, LINK_CLICKS, IMPRESSIONS y REACH.
OUTCOME_TRAFFIC: el objetivo de tráfico puede optimizar para CONVERSATIONS, LANDING_PAGE_VIEWS, LINK_CLICKS, IMPRESSIONS, REACH y POST_ENGAGEMENT.

promoted_object

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

Obligatorio:

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

Opcional:

  • whatsapp_phone_number: número de teléfono de WhatsApp asociado al conjunto de anuncios de clic a WhatsApp.

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 la 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 WhatsApp. 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 \
  -H "Content-Type: application/json" \
  -d '{
    "access_token":"<ACCESS_TOKEN>",
    "bid_amount":"<BID_AMOUNT>",
    "billing_event":"IMPRESSIONS",
    "campaign_id":"<CAMPAIGN_ID>",
    "daily_budget":"<DAILY_BUDGET>",
    "destination_type":"WHATSAPP",
    "name": "<AD_SET_NAME>",
    "optimization_goal": "IMPRESSIONS",
    "promoted_object": {
      "page_id": "<PAGE_ID>"
    },
    "status": "PAUSED",
    "start_time": "<START_TIME>",
    "targeting": { 
      "geo_locations": { "countries":["US","CA"] },
      "device_platforms": ["mobile", "desktop"]
    } 
  }' \
"https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adsets"

Respuesta

{
  "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 WhatsApp, 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,status' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/<AD_SET_ID>

Respuesta

{
  "name": "Click to WhatsApp Campaign",
  "status": "PAUSED",
  "objective": "OUTCOME_ENGAGEMENT",
  "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

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.

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 de un 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 WhatsApp, puedes adaptar el mensaje de saludo de los anuncios en el campo page_welcome_message en object_story_spec.

Nota: Si usas el mensaje de WhatsApp para activar cualquier proceso de bots, asegúrate de trabajar con el BSP y las agencias para actualizarlo a fin de garantizar que los procesos no se interrumpan.

Ejemplo

Adición de un mensaje de relleno automático 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": "autofill_message",
    "message": {
      "autofill_message": {
        "content": "<AUTOFILL_MESSAGE>"
      },
      "text": "<GREETING_MESSAGE>"
    }
  }
}

Adición de 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": {
        "text": "<GREETING_MESSAGE>",
        "ice_breakers": [
          {
            "title": "<ICEBREAKER>"
          },
          {
            "title": "<ICEBREAKER>"
          },
          {
            "title": "<ICEBREAKER>"
          }
        ]
      }
    }
  }
}

Adición de un mensaje con una invitación de llamada

curl \
  -F 'object_story_spec={
      "page_id": "<PAGE_ID>"
      "link_data": {
     "image_hash":<IMAGE_HASH>
            "call_to_action": {
              	"type": "WHATSAPP_MESSAGE",
              	"value": {
                  	"app_destination": "WHATSAPP"
             	 }
          },
          "link": "https://api.whatsapp.com/send",
          "name": <AD_HEADLINE>",
          "page_welcome_message":
       "type": "VISUAL_EDITOR",
        "version": 2,
        "landing_screen_type": "ctwa_call_prompt",
        "media_type": "text",
        "text_format": {
          "message": {
            "text": "<MESSAGE>"", 
            "call_prompt_data": {
              "call_prompt_message": "<CALL_PROMPT_MESSAGE>"
            }
          }
        },
        "user_edit": false
      },
  https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/adcreatives

Respuesta

{
  "id": "<AD_CREATIVE_ID>"
}

Ejemplos de creación de contenido del anuncio

Solicitud

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
        "name": "Sample ad creative",
        "object_story_spec": {
          "page_id": "<PAGE_ID>",
          "link_data": {
            "name": "<AD_HEADLINE>",
            "message": "<AD_PRIMARY_TEXT>",
            "description": "<AD_DESCRIPTION>",
            "image_hash": "<IMAGE_HASH>",
            "link": "https://api.whatsapp.com/send",
            "page_welcome_message": "<PAGE_WELCOME_MESSAGE>",
            "call_to_action": {
              "type": "WHATSAPP_MESSAGE",
              "value": {
                "app_destination": "WHATSAPP"
              }
            }
          }
        },
        "degrees_of_freedom_spec": {
          "creative_features_spec": {
            "standard_enhancements": {
              "enroll_status": "OPT_IN"
            }
          }
        }
      }' \
"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

También puedes usar tu contenido existente de Instagram para el contenido de los anuncios.

curl -X POST \
  -H "Content-Type: application/json" \
  -d '{
        "source_instagram_media_id": "<INSTAGRAM_MEDIA_ID>",
        "instagram_user_id": "<INSTAGRAM_USER_ID>",
        "object_id": "<PAGE_ID>",
        "call_to_action": {
          "type": "WHATSAPP_MESSAGE",
            "value": {
              "link": "https://api.whatsapp.com/send",
              "app_destination": "WHATSAPP"
            }
          }
        },
        "degrees_of_freedom_spec": {
          "creative_features_spec": {
            "standard_enhancements": {
              "enroll_status": "OPT_IN"
            }
          }
        }
      }' \
  https://graph.facebook.com/latest-api-version />/act_<AD_ACCOUNT_ID>/adcreatives

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 WhatsApp, 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{link_data{call_to_action,page_welcome_message}}' \
  -d 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/<AD_CREATIVE_ID>

Respuesta

{
  "name": "Sample ad creative",
  "object_story_spec" {
    "page_welcome_message": {
      "type": "VISUAL_EDITOR",
      "version": 2,
      "landing_screen_type": "welcome_message",
      "media_type": "text",
      "text_format": {
        "customer_action_type": "autofill_message",
        "message": {
          "autofill_message": {
            "content": "Sample autofill message"
          },
        "text": "Sample greeting message"
        }
      }
    }
  },
  "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 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 \
  -H "Content-Type: application/json" \
  -d '{
        "name": "Sample ad",
        "adset_id": "<AD_SET_ID>",
        "creative": {
          "creative_id": "<AD_CREATIVE_ID>"
        },
        "status": "PAUSED"
     }' \
  "https://graph.facebook.com/v21.0/act_<AD_ACCOUNT_ID>/ads"

Respuesta

{
  "id": "<AD_ID>"
}

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 WhatsApp, 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,campaign_id \
  -d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/<AD_ID>

Respuesta

{
  "status": "PAUSED",
  "adset_id": "<AD_SET_ID>",
  "campaign_id": "<AD_CAMPAIGN_ID>",
  "id": "<AD_ID>"
}

Paso 5: Publicar el anuncio

Comprueba que el anuncio exista en el Administrador de anuncios. Cuando tengas todo listo para publicar los cambios, selecciona la campaña, el conjunto de anuncios para la campaña y el anuncio y haz clic en el botón Publicar.

También puedes publicar el anuncio con la API. Solo tienes que enviar una solicitud POST a /<AD_ID> con el parámetro status establecido en ACTIVE, donde <AD_ID> es el anuncio que quieres publicar.

Meta revisará el anuncio y el estado será PENDING_REVIEW. Una vez aprobado, el estado se actualizará automáticamente a ACTIVE y el anuncio se entregará.