Anuncios de clic a WhatsApp

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

Los anuncios de clic a WhatsApp redireccionan a las personas que hacen clic en ellos directamente a una conversación con tu negocio en WhatsApp. Usa estos anuncios para llegar a las personas a gran escala y ofrecer un servicio personalizado de calidad.

Los anuncios de clic a WhatsApp admiten anuncios con una imagen, un video, una secuencia o una presentación. También puedes incluir plantillas de llamada en el anuncio.

Si te interesa crear anuncios que envíen a las personas a chats de Messenger o Instagram, consulta Anuncios de clic a Messenger o Anuncios de clic a Instagram para obtener ayuda. También puedes crear anuncios que elijan el destino al que es más probable que el usuario responda. Consulta Anuncios de clic a varios destinos para obtener más información.

Información general sobre la creación de anuncios

En este documento, se describen los pasos que necesitas seguir para configurar la integración de anuncios de clic a WhatsApp.

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 WhatsApp que quieres 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 da por sentado que tienes lo siguiente:

Para realizar llamadas correctas a los puntos de conexión que se mencionan en esta guía, necesitarás lo siguiente:

  • Un token de acceso a la página solicitado por una persona que pueda realizar la tarea ADVERTISE en la página
  • Una persona que use tu app debe otorgar los siguientes permisos:
    • ads_management
    • pages_manage_ads
    • pages_read_engagement
    • pages_show_list

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 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 solicitudes de llamada, el objective debe ser OUTCOME_ENGAGEMENT.

special_ad_categories

Lista de <Object>

Obligatorio.
Categorías de anuncios especiales asociadas a la campaña de anuncios de clic a WhatsApp. 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 y anuncios activos se pausarán y tendrán un 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 llamada

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 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 WhatsApp, 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 WhatsApp Campaign",
  "status": "PAUSED",
  "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 WhatsApp. 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 WhatsApp 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 WHATSAPP en anuncios de clic a WhatsApp con destino único.

end_time

Fecha y hora

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

optimization_goal

Enumeración

Obligatorio.
Lo que 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 se puede optimizar para CONVERSATIONS, y LINK_CLICKS.
OUTCOME_SALES: el objetivo de ventas se puede optimizar para CONVERSATIONS, OFFSITE_CONVERSIONS, LINK_CLICKS, IMPRESSIONS, y REACH.
OUTCOME_TRAFFIC: el objetivo de tráfico se puede optimizar para CONVERSATIONS, LANDING_PAGE_VIEWS, LINK_CLICKS, IMPRESSIONS, REACH, y POST_ENGAGEMENT.

promoted_object

Obligatorio.
El objeto que promociona este conjunto de anuncios en todos los anuncios. En el caso de los anuncios de clic a WhatsApp, promoted_object tiene los siguientes requisitos:

Obligatorio:

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

Opcional:

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

Para obtener más información, consulta Conjunto de anuncios, Objeto promocionado.

start_time

Fecha y hora

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 se configurará en ACTIVE si no se proporciona ningún valor.
Valores:ACTIVE, PAUSED, DELETED, ARCHIVED

targeting

Objeto de segmentación

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

time_start

Fecha y hora

Opcional.
Intercambiable con start_time.

time_stop

Fecha y hora

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 \
  -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 actualizar un conjunto de anuncios si envías una solicitud POST a /<AD_SET_ID>.

Lectura

Para verificar si se creó correctamente un conjunto de anuncios de clic a WhatsApp, puedes enviar una solicitud GET a /<AD_SET_ID>. Consulta la referencia de los conjuntos de anuncios para obtener un listado completo de todos los perímetros.

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

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

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 un 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 para tus anuncios de clic a WhatsApp personalizando el mensaje de bienvenida en el campo page_welcome_message que se encuentra debajo de object_story_spec.

Nota: Si estás utilizando el mensaje de WhatsApp para activar un proceso de bot, asegúrate de trabajar con tu BSP y agencias para actualizarlo y así garantizar que no se interrumpa el proceso.

Ejemplo:

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

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

Agregar un mensaje con una solicitud 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 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

También puedes utilizar tu contenido de Instagram preexistente para el contenido del anuncio.

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 actualizar el contenido del anuncio si envías una solicitud POST a /<AD_CREATIVE_ID>.

Lectura

Para deseas verificar si se creó correctamente el contenido del anuncio de clic a WhatsApp, 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{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 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

Requisito.
El nombre de tu anuncio.

adset_id

Cadena numérica o 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 \
  -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 actualizar un anuncio si envías una solicitud POST a /<AD_ID>.

Lectura

Para verificar si se creó correctamente un anuncio de clic a WhatsApp, 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,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

Verifica que tu anuncio esté en el administrador de anuncios. Cuando tengas todo listo para publicar tus cambios, selecciona tu campaña, el conjunto de anuncios y el anuncio, y haz clic en el botón Publicar.

También puedes publicar tu anuncio utilizando la API. Solo debes enviar una solicitud POST a /<AD_ID> con el parámetro status configurado para ACTIVE donde <AD_ID> sea 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 se entregará el anuncio.