En este documento, se describe cómo usar la API de marketing para crear anuncios con el objetivo de generar clientes potenciales mediante la API Graph.
Para crear y publicar un anuncio para clientes potenciales, es necesario seguir estos pasos:
En esta guía, se asume que leíste el Resumen de la plataforma de Messenger y que implementaste los componentes necesarios para enviar y recibir mensajes y notificaciones.
Necesitarás lo siguiente:
ADVERTISE
en la páginaSi quieres crear una campaña publicitaria para tus anuncios de generación de clientes potenciales, envía una solicitud POST
al punto de conexión /
act_AD_ACCOUNT_ID
/campaigns
con los siguientes parámetros:
access_token
configurado con el token de acceso a la páginabuying_type
configurado en AUCTION
name
configurado con el nombre de la campañaobjective
configurado en OUTCOME_LEADS
status
configurado como PAUSED
curl -X POST "https://graph.facebook.com/v21.0
/act_AD_ACCOUNT_ID/campaigns" \
-H "Content-Type: application/json" \
-d '{
"access_token":"YOUR_PAGE_ACCESS_TOKEN",
"buying_type":"AUCTION",
"name":"YOUR_LEADADS_CAMPAIGN_NAME",
"objective":"OUTCOME_LEADS",
"special_ad_categories":["NONE"],
"status":"PAUSED"
}'
Si la operación se realiza con éxito, la app recibirá un objeto JSON, que contiene el identificador de la campaña. Este identificador se usará cuando se cree un conjunto de anuncios en el siguiente paso.
{ "id": "YOUR_CAMPAIGN_ID" }
Consulta la referencia de las campañas publicitarias para obtener más información.
Para crear un conjunto de anuncios, envía una solicitud POST
al punto de conexión act_ad_account_id/adsets
, donde ad_account_id es el identificador de tu cuenta publicitaria de Meta. En la solicitud, debes incluir los siguientes parámetros:
access_token
configurado con el token de acceso a la páginabid_amount
configurado en el monto máximo que deseas pagarbilling_event
configurado en IMPRESSIONS
campaign_id
configurado con el identificador de la campaña publicitaria del paso 1daily_budget
configurado con el monto que deseas gastar por díaname
configurado en el nombre del conjunto de anunciosoptimization_goal
configurado en LEAD_GENERATION
o QUALITY_LEAD
destination_type
configurado en ON_AD
promoted_object
configurado con el identificador de la página de Facebook de tu negociostatus
configurado en PAUSED
Nota: Si configuraste un origen de datos de CRM y eliges QUALITY_LEAD
como objetivo de optimización, puedes agregar el pixel_id
al promoted_object
para seguir optimizando la calidad. Ten en cuenta que no necesitas proporcionar una pixel_rule
junto con el pixel_id
.
curl -X POST "https://graph.facebook.com/v21.0
/act_AD_ACCOUNT_ID/adsets"
-H "Content-Type: application/json"
-d '{
"access_token":"YOUR_PAGE_ACCESS_TOKEN",
"bid_amount":"YOUR_BID_AMOUNT",
"billing_event":"IMPRESSIONS",
"campaign_id":"YOUR_CAMPAIGN_ID",
"daily_budget":"YOUR_DAILY_BUDGET",
"name:"YOUR_LEADADS_ADSET_NAME",
"optimization_goal":"LEAD_GENERATION",
"destination_type":"ON_AD",
"promoted_object":"YOUR_PAGE_ID",
"status":"PAUSED"
}'
Si la operación se procesa correctamente, tu app recibirá la siguiente respuesta JSON con el identificador del conjunto de anuncios.
{ "id": "YOUR_ADSET_ID" }
Consulta la referencia de los conjuntos de anuncios para obtener más información.
Si deseas crear un formulario, envía una solicitud POST
al punto de conexión /
PAGE_ID
/leadgen_forms
con los siguientes parámetros:
access_token
configurado con el token de acceso a la páginaname
configurado en el nombre del formularioquestions
configurado en una matriz de objetos que definen el tipo de preguntas y el orden en el que aparecerán en el formulario con el parámetro key
label
options
con un menú desplegable de respuestas
curl -X POST "https://graph.facebook.com/v21.0
/PAGE_ID/leadgen_forms" \
-H "Content-Type: application/json" \
-d '{
"access_token": "YOUR_PAGE_ACCESS_TOKEN",
"name": "YOUR_LEADADS_FORM_NAME",
"questions": "[
{"type":"FULL_NAME", "key": "question1"},
{"type":"EMAIL", "key": "question2"},
{"type":"PHONE", "key": "question3"},
{"type":"CUSTOM", "key": "question4" "label": "Do you like rainbows?"}
{"type":"CUSTOM", "key": "question5" "label": "What is your favorite color?",
"options": [
{value: "Red", key: "key1"},
{value: "Green", key: "key2"},
{value: "Blue", key: "key2"},
]}
]"
}'
Los formularios que desees usar en un anuncio en una conversación de Messenger deben contener lo siguiente:
questions.type
solo puede configurarse en alguno de los siguientes valores:
|
|
|
Si el formulario tiene un questions.type
configurado en un valor distinto de los anteriores, no será apto.
block_display_for_non_targeted_viewer
esté configurado en false
. De esta manera, el formulario se marca como Contenido compartido abierto.
curl -X POST "https://graph.facebook.com/v21.0
/PAGE_ID/leadgen_forms" \
-H "Content-Type: application/json" \
-d '{
"access_token": "YOUR_PAGE_ACCESS_TOKEN"
"block_display_for_non_targeted_viewer": "false"
"name": "LeadAds Form for Messenger Conversation Name"
"questions": "[
{"type":"FULL_NAME", "key": "question1"},
{"type":"EMAIL", "key": "question2"},
{"type":"PHONE", "key": "question3"},
{"type":"CUSTOM", "key": "question4" "label": "Do you like rainbows?"}
{"type":"CUSTOM", "key": "question5" "label": "What is your favorite color?",
"options": [
{value: "Red", key: "key1"},
{value: "Green", key: "key2"},
{value: "Blue", key: "key2"},
]}
]"
}'
Además de los tipos de preguntas típicos que se muestran en la [sección Crear un formulario para clientes potenciales]{#create-a-lead-form}, puedes agregar tipos de preguntas más especializados en los siguientes casos de uso:
Una pregunta de programación de citas muestra un selector de fecha y hora con una selección de horas limitada y un mensaje de confirmación debajo de la pregunta.
Para agregar una pregunta de programación de citas, agrega un objeto de pregunta con el parámetro type
configurado en DATE_TIME
. También puedes agregar un mensaje de confirmación en el parámetro inline_context
, que se mostrará directamente debajo del campo de pregunta y brindará más contexto, si es necesario.
... "questions": "[ ... {"type": "DATE_TIME", "label": "Appointment time", "inline_context": "We will verify and call you to confirm your appointment." }, ...
Una pregunta referida al documento de identificación nacional muestra una pregunta en función del país en el que vive una persona y valida el formato del documento de identificación ingresado. La pregunta puede hacerse para los siguientes países:
ID_AR_DNI
"}ID_CPF
ID_CL_RUT
ID_CO_CC
ID_EC_CI
ID_PE_DNI
Para agregar una pregunta de identificación nacional, agrega un objeto de pregunta con el parámetro type
configurado en el tipo de país de la persona.
DNI
de Perú, tu público objetivo debe estar limitado a Perú. Solo se aprueban los anuncios que cumplen con este criterio.... "questions": "[ ... {"type": "ID_AR_DNI" }, ...
Una pregunta referida a la localización de tiendas muestra un selector de localización de tiendas según el código postal que haya introducido la persona.
Deberás configurar una estructura de páginas de la tienda para usar esta pregunta. Obtén información sobre cómo hacerlo en Configurar la estructura de páginas de una tienda en Facebook – Servicio de ayuda de Meta para empresas
Para agregar una pregunta de localización de tiendas, agrega un objeto de pregunta con el parámetro type
configurado en STORE_LOOKUP
y el parámetro context_provider_type
en LOCATION_MANAGER
.
... "questions": "[ ... {"type": "STORE_LOOKUP", "label": "Which store do you want to visit?", "context_provider_type": "LOCATION_MANAGER" }, ...
Obtén clientes potenciales de mayor calidad agregando una o más de las siguientes opciones de configuración del formulario:
Agrega el campo tracking_parameters
en el formulario, que te ayudará a hacer el seguimiento del origen de los clientes potenciales, y configura allí una lista de pares clave-valor de parámetros de los que deseas hacer seguimiento. Estos parámetros no aparecen en tu anuncio, pero permiten que Meta te proporcione metadatos sobre los clientes potenciales generados a partir de un formulario.
... "name": "YOUR_LEADADS_FORM_NAME", "tracking_parameters": {"your_tracking_parameter_name":"your_tracking_parameter_value"}, "questions": "[ ...
De forma predeterminada, los anuncios para clientes potenciales se optimizan en función del volumen de clientes potenciales. Sin embargo, puedes crear formularios que permiten obtener clientes potenciales con mayor grado de intención. Estos tipos de clientes potenciales pueden dirigirse a personas que puedan estar interesadas en un producto o servicio específico, como reservar una prueba de manejo en un concesionario. Esta configuración del formulario agrega un paso al proceso de envío del formulario cuando una persona revisa y confirma las respuestas antes enviarlo.
Con el fin de sumar este proceso de confirmación al formulario, agrega el parámetro is_optimized_for_quality
configurado en true
cuando crees el formulario.
... "name": "YOUR_LEADADS_FORM_NAME", "is_optimized_for_quality": "true", "questions": "[ ...
Para filtrar clientes potenciales orgánicos, agrega el parámetro block_display_for_non_targeted_viewer
a true
cuando crees el formulario.
... "name": "YOUR_LEADADS_FORM_NAME", "block_display_for_non_targeted_viewer": "true", "questions": "[ ...
Si la operación se procesa correctamente, la app recibirá una respuesta JSON que contiene el identificador del formulario que se usará cuando se cree el anuncio.
{ "id": "leadgen_form_id", }
Para crear el contenido del anuncio con una imagen y tu formulario, envía una solicitud POST
al punto de conexión /act_AD_ACCOUNT_ID/adcreatives
con los siguientes parámetros:
access_token
configurado con el token de acceso a la páginaobject_story_spec
, que incluye un objeto link_data
con los siguientes parámetros:
call_to_action
configurado en un objeto que contenga type
, y value
configurado en el identificador del formulario de clientes potencialesdescription
configurado en la descripción del contenidoimage_hash
configurado en el resumen croptográfico (hash) de la imagen del contenido del anunciomessage
configurado en el texto del contenido del anunciopage_id
configurado en el identificador de la página de FacebookNota: Al crear link_data
, el valor asociado con el campo link
solo puede ser https//fb.me/
.
El parámetro link_data.call_to_action
debe configurarse en alguno de los siguientes valores:
APPLY_NOW
DOWNLOAD
GET_QUOTE
LEARN_MORE
SIGN_UP
SUBSCRIBE
curl -X POST "https://graph.facebook.com/LATEST-API-VERSION/act_AD_ACCOUNT_ID/adcreatives" \ -H "Content-Type: application/json" \ -d '{ "access_token":"YOUR_PAGE_ACCESS_TOKEN", "object_story_spec":{ "link_data": { "call_to_action": { "type":"SIGN_UP", "value":{ "lead_gen_form_id":"YOUR_FORM_ID" } }, "description": "YOUR_AD_CREATIVE_DESCRIPTION", "image_hash": "YOUR_IMAGE_HASH", "link": "http:\/\/fb.me\/", "message": "YOUR_AD_CREATIVE_MESSAGE" }, "page_id": "YOUR_PAGE_ID" }'
Puedes crear un anuncio para clientes potenciales por secuencia usando la misma object_story_spec
, pero con un campo lead_gen_form_id
adicional definido en el parámetro child_attachments
.
Solo podrás especificar el mismo <FORM_ID>
para todos los adjuntos secundarios.
curl \ -F 'object_story_spec={ "page_id": "<PAGE_ID>", "link_data": { "message": "My description", "link": "http:\/\/www.google.com", "caption": "WWW.EXAMPLE.COM", "child_attachments": [ { "link": "http:\/\/www.google.com", "image_hash": "<IMAGE_HASH>", "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} }, { "link": "http:\/\/www.google.com", "image_hash": "<IMAGE_HASH>", "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} }, { "link": "http:\/\/www.google.com", "image_hash": "<IMAGE_HASH>", "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} }, { "link": "http:\/\/www.google.com", "image_hash": "<IMAGE_HASH>", "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} } ], "multi_share_optimized": true, "call_to_action": {"type":"SIGN_UP","value":{"lead_gen_form_id":"<FORM_ID>"}} } }' \ -F 'access_token=<ACCESS_TOKEN>' \ https://graph.facebook.com/LATEST-API-VERSION/act_<AD_ACCOUNT_ID>/adcreatives
También puedes usar un video en el contenido del anuncio para clientes potenciales en lugar de una foto. Primero, sube el video a tu biblioteca de videos para anuncios y, luego, úsalo en el parámetro object_story_spec
:
curl -X POST \
-F 'object_story_spec={
"page_id": "<PAGE_ID>",
"video_data": {
"link_description": "try it out",
"image_url": "<IMAGE_URL>",
"video_id": "<VIDEO_ID>",
"call_to_action": {
"type": "SIGN_UP",
"value": {
"link": "http://fb.me/",
"lead_gen_form_id": "<FORM_ID>"
}
}
}
}' \
-F 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0
/act_<AD_ACCOUNT_ID>/adcreatives
Si la operación se procesa correctamente, tu app recibirá la siguiente respuesta JSON con el identificador del contenido del anuncio.
{ "id": "YOUR_AD_CREATIVE_ID" }
Para crear el anuncio, debes asociar el contenido del anuncio y el conjunto de anuncios. Para crear el anuncio, envía una solicitud POST
al punto de conexión /act_AD_ACCOUNT_ID/ads
. En la solicitud, debes incluir los siguientes parámetros:
access_token
configurado con el token de acceso a la páginaadset_id
(del paso 2)creative_id
(del paso 4)
curl -X POST "https://graph.facebook.com/v21.0
/act_AD_ACCOUNT_ID/ads"
-H "Content-Type: application/json"
-d '{
"access_token"="YOUR_PAGE_ACCESS_TOKEN",
"name":"YOUR_LEADADS_AD_NAME",
"adset_id"="YOUR_AD_SET_ID",
"creative"={ "creative_id": "YOUR_AD_CREATIVE_ID" },
"status"="PAUSED"
}'
Si la operación se procesa correctamente, tu app recibirá la siguiente respuesta JSON con el identificador del anuncio.
{ "id": "YOUR_AD_ID" }
Verifica que el anuncio esté en el administrador de anuncios. Haz clic en el botón Revisar y publicar, en la esquina superior derecha. Selecciona la campaña, el conjunto de anuncios de la campaña y el anuncio.
Puedes publicar el anuncio desde el administrador de anuncios o mediante la API. Para publicarlo mediante la API, repite el paso 4 con el parámetro status
configurado como ACTIVE
.
Meta revisará el anuncio y el estado será PENDING_REVIEW
. Una vez aprobado, el estado será ACTIVE
y se entregará el anuncio.
Obtener una lista de los formularios y las preguntas del formulario específicas, y archivar formularios antiguos.
Para obtener una lista de tus formularios de generación de clientes potenciales, envía una solicitud GET
al punto de conexión /
page_id
/leadgen_forms
con los siguientes parámetros:
access_token
configurado con el token de acceso a la páginafields
(opcional) configurado en una lista de campos separados por coma para obtener información específica, como el nombre y el identificador del formulario
curl -X GET "https://graph.facebook.com/v21.0
/PAGE_ID/leadgen_forms
?fields=name,id
&access_token": "YOUR_PAGE_ACCESS_TOKEN"
Si la operación se realiza con éxito, la app recibirá una respuesta JSON con una lista de tus formularios. Puedes usar un identificador de formulario para obtener las preguntas para ese formulario o para archivar el formulario.
Solo algunos formularios que contienen requisitos específicos son aptos para enviarse en una conversación de Messenger.
Para obtener una lista de los formularios para clientes potenciales elegibles, envía una solicitud GET
al punto de conexión /
page_id
/leadgen_forms
con los siguientes parámetros:
access_token
configurado con el token de acceso a la páginafields
configurado en is_eligible_for_in_thread_forms
curl -X GET "https://graph.facebook.com/v21.0
/PAGE_ID/leadgen_forms
?fields=is_eligible_for_in_thread_forms
&access_token": "YOUR_PAGE_ACCESS_TOKEN"
Si la operación se realiza con éxito, la app recibirá una respuesta JSON con una lista de identificadores de los formularios elegibles.
{ "data": [ { "id": "eligible_form_1_id" }, { "id": "eligible_form_2_id" } ], ... }
Si deseas obtener una lista de preguntas para un formulario de generación de clientes potenciales específico, envía una solicitud GET
al punto de conexión /
page_id
/
leadgen_form_id
con los siguientes parámetros:
access_token
configurado con el token de acceso a la páginafields
configurado en questions
curl -X GET "https://graph.facebook.com/v21.0
/page_id/leadgen_form_id
?fields=questions
&access_token=page_access_token"
Si la operación se realiza con éxito, la app recibirá una respuesta JSON con una lista de preguntas.
Los formularios para clientes potenciales solo pueden archivarse. La eliminación no se admite. Una vez que archivas un formulario:
Para archivar un formulario de generación de clientes potenciales específico, envía una solicitud POST
al punto de conexión /
page_id
/
leadgen_form_id
con los siguientes parámetros:
access_token
configurado con el token de acceso a la páginastatus
configurado en ARCHIVED
curl -X GET "https://graph.facebook.com/v21.0
/page_id/leadgen_form_id
?status=ARCHIVED
&access_token=page_access_token"
Si la operación se realiza con éxito, la app recibirá una respuesta JSON con un objeto donde success
será true
.
Un formulario archivado se puede volver a activar enviando una solicitud con status
configurado como ACTIVE
.
Consulta nuestras otras guías para obtener más información sobre los componentes descritos en este documento.