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.
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:
En esta guía se presupone lo siguiente:
Para realizar correctamente llamadas a todos los extremos de esta guía, necesitarás lo siguiente:
ads_management
pages_manage_ads
pages_read_engagement
pages_show_list
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:
Nombre | Descripción |
---|---|
Cadena | Obligatorio. |
Enumeración | Obligatorio. |
Lista<Object> | Obligatorio. |
Enumeración | Opcional. |
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
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
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>" }
Puedes realizar una solicitud POST
a /<AD_CAMPAIGN_ID>
para actualizar una campaña.
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.
curl -X GET -G \
-d 'fields=name,status,objective' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/<AD_CAMPAIGN_ID>
{ "name": "Click to WhatsApp Campaign", "status": "PAUSED", "objective": "OUTCOME_ENGAGEMENT", "id": "<AD_CAMPAIGN_ID>" }
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:
Nombre | Descripción |
---|---|
Entero de 32 bits sin firmar | Obligatorio si bid_strategy se establece en |
Enumeración | Opcional. |
Enumeración | Obligatorio. |
Cadena numérica o entero | Obligatorio. |
Entero de 64 bits | Obligatorio si |
Cadena | Obligatorio. |
DateTime | Obligatorio cuando se especifica |
Entero de 64 bits | Obligatorio si |
Cadena | Obligatorio. |
Enumeración | Obligatorio.
|
| Obligatorio. Obligatorio:
Opcional:
Consulta Conjunto de anuncios, Objeto promocionado para obtener más información. |
DateTime | Opcional. |
Enumeración | Opcional. |
Objeto de segmentación | Obligatorio. |
DateTime | Opcional. |
DateTime | Obligatorio cuando se especifica |
Consulta la referencia sobre conjuntos de anuncios de cuentas publicitarias para obtener una lista completa de los parámetros disponibles.
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"
{ "id": "<AD_SET_ID>" }
Puedes realizar una solicitud POST
a /<AD_SET_ID>
para actualizar un conjunto de anuncios.
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.
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>
{ "name": "Click to WhatsApp Campaign", "status": "PAUSED", "objective": "OUTCOME_ENGAGEMENT", "id": "<AD_SET_ID>" }
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:
Nombre | Descripción |
---|---|
Cadena | Obligatorio. |
| Obligatorio. Obligatorio:
Opcional:
|
| Opcional. |
Consulta la referencia sobre el contenido del anuncio para obtener una lista completa de los parámetros disponibles.
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.
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>" } } }
"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>" } ] } } } }
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
{ "id": "<AD_CREATIVE_ID>" }
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"
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>" }
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
Puedes realizar una solicitud POST
a /<AD_CREATIVE_ID>
para actualizar el contenido del anuncio.
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.
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>
{ "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>" }
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:
Nombre | Descripción |
---|---|
Cadena | Obligatorio. |
Cadena numérica o entero | Obligatorio. |
| Obligatorio. |
Enumeración | Obligatorio. |
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"
{ "id": "<AD_ID>" }
Puedes realizar una solicitud POST
a /<AD_ID>
para actualizar un anuncio.
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.
curl -X GET -G \
-d 'fields=status,adset_id,campaign_id \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/<AD_ID>
{ "status": "PAUSED", "adset_id": "<AD_SET_ID>", "campaign_id": "<AD_CAMPAIGN_ID>", "id": "<AD_ID>" }
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á.