En este documento se describe cómo usar la API de marketing a fin de crear anuncios para generar clientes potenciales con la API Graph.
Para crear y publicar un anuncio para clientes potenciales, sigue los pasos a continuación:
En esta guía se da por sentado que has leído la información general sobre la plataforma de Messenger e implementado los componentes necesarios para enviar y recibir mensajes y notificaciones.
Necesitarás lo siguiente:
ADVERTISE
en la páginaA fin de crear una campaña publicitaria para los anuncios de generación de clientes potenciales, envía una solicitud POST
al extremo /
act_AD_ACCOUNT_ID
/campaigns
con los siguientes parámetros:
access_token
establecido en el identificador de acceso a la página.buying_type
establecido en AUCTION
.name
establecido en el nombre de la campaña.objective
establecido en OUTCOME_LEADS
.status
establecido en 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 correctamente, la aplicación recibirá un objeto JSON con el identificador de la campaña. Este identificador se usará al crear un conjunto de anuncios en el siguiente paso.
{ "id": "YOUR_CAMPAIGN_ID" }
Consulta la referencia sobre campañas publicitarias para obtener más información.
Para crear un conjunto de anuncios, envía 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:
access_token
establecido en el identificador de acceso a la página.bid_amount
establecido en la cantidad máxima que quieres pagar.billing_event
establecido en IMPRESSIONS
.campaign_id
establecido en el identificador de la campaña del paso 1.daily_budget
establecido en la cantidad que quieres gastarte al día.name
establecido en el nombre del conjunto de anuncios.optimization_goal
establecido en LEAD_GENERATION
o QUALITY_LEAD
. destination_type
establecido en ON_AD
.promoted_object
establecido en el identificador de la página de Facebook de la empresa.status
establecido en PAUSED
.Nota: Si has configurado un origen de datos CRM y eliges QUALITY_LEAD
como objetivo de optimización, puedes añadir el valor de pixel_id
en el parámetro promoted_object
para optimizar más la calidad. Ten en cuenta que no debes proporcionar ningún parámetro pixel_rule
junto con el valor de 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 realiza correctamente, la aplicación recibe la siguiente respuesta JSON con el identificador del conjunto de anuncios.
{ "id": "YOUR_ADSET_ID" }
Consulta la referencia sobre conjuntos de anuncios para obtener más información.
Para crear un formulario, envía una solicitud POST
al extremo /
PAGE_ID
/leadgen_forms
con los siguientes parámetros:
access_token
establecido en el identificador de acceso a la página.name
establecido en el nombre del formulario.questions
establecido en una matriz de objetos que defina el tipo de preguntas y el orden en el que van a aparecer en el formulario usando 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 quieras usar en un anuncio en una conversación de Messenger deben contener los siguientes elementos:
questions.type
solo se puede establecer en uno de los valores siguientes:
|
|
|
Si el formulario tiene un elemento questions.type
con un valor diferente a los indicados anteriormente, no será válido.
block_display_for_non_targeted_viewer
debe establecerse en false
. Esto marca el formulario como Abierto para compartir.
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 estándar que se muestran en la sección [Crear un formulario para clientes potenciales]{#create-a-lead-form}, puedes añadir otros tipos de preguntas más especializadas para los siguientes casos de uso:
Una pregunta de programación de cita representa un selector de fecha y hora con una selección de horas limitada y un mensaje de confirmación situado bajo la pregunta.
Para añadir una pregunta de programación de cita, añade un objeto de pregunta con el parámetro type
establecido en DATE_TIME
. Si quieres, también puedes añadir un mensaje de confirmación en el parámetro inline_context
que se representará directamente bajo el campo de pregunta para proporcionar más contexto en caso de ser necesario.
... "questions": "[ ... {"type": "DATE_TIME", "label": "Appointment time", "inline_context": "We will verify and call you to confirm your appointment." }, ...
Una pregunta sobre el documento de identificación nacional representa una pregunta basada en el país de la persona y valida el formato del documento de identificación introducido. Esta pregunta puede representarse para los siguientes países:
ID_AR_DNI
"}ID_CPF
ID_CL_RUT
ID_CO_CC
ID_EC_CI
ID_PE_DNI
Para añadir una pregunta sobre el documento de identificación nacional, añade un objeto de pregunta con el parámetro type
establecido en el tipo de país de la persona.
DNI
de Perú, tu audiencia objetivo debe limitarse a Perú. Solo se aprueban los anuncios que cumplen estos criterios.... "questions": "[ ... {"type": "ID_AR_DNI" }, ...
Una pregunta de localizador de negocios representa un selector de localizador de negocios basado en la entrada de código postal de una persona.
Para poder utilizar este tipo de pregunta, necesitarás configurar una estructura de páginas de tiendas. Descubre cómo hacerlo en Configurar una estructura de páginas de tiendas: Servicio de ayuda de Meta para empresas
Para añadir una pregunta de localizador de negocios, añade un objeto de pregunta con el parámetro type
establecido en STORE_LOOKUP
y el parámetro context_provider_type
establecido en LOCATION_MANAGER
.
... "questions": "[ ... {"type": "STORE_LOOKUP", "label": "Which store do you want to visit?", "context_provider_type": "LOCATION_MANAGER" }, ...
Para obtener clientes potenciales de mayor calidad, añade una o más de las siguientes opciones de configuración del formulario:
Para ayudarte a hacer un seguimiento del origen de los clientes potenciales, añade al formulario el campo tracking_parameters
establecido en una lista de pares de parámetros de clave y valor sobre los que quieres hacer el seguimiento. Estos parámetros no se muestran en el anuncio, pero permiten a Meta proporcionarte 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 para el volumen de clientes potenciales. Sin embargo, puedes crear formularios que generen clientes potenciales con mayor grado de intención. Estos tipos de clientes potenciales pueden ser para personas que puedan estar interesadas en un producto o servicio específicos, como reservar una prueba de conducción en un concesionario. Esta opción de configuración del formulario añade un paso al proceso de envío del formulario en el cual la persona revisa y confirma sus respuestas antes de enviar el formulario.
Para añadir este proceso de confirmación al formulario, incluye el parámetro is_optimized_for_quality
establecido en true
al crear el formulario.
... "name": "YOUR_LEADADS_FORM_NAME", "is_optimized_for_quality": "true", "questions": "[ ...
Para filtrar los clientes potenciales orgánicos, añade el parámetro block_display_for_non_targeted_viewer
establecido en true
al crear el formulario.
... "name": "YOUR_LEADADS_FORM_NAME", "block_display_for_non_targeted_viewer": "true", "questions": "[ ...
Si la operación se realiza correctamente, la aplicación recibirá una respuesta JSON con el identificador del formulario que se deberá usar al crear el anuncio.
{ "id": "leadgen_form_id", }
Para crear el contenido del anuncio con una imagen y tu formulario, envía una solicitud POST
al extremo /act_AD_ACCOUNT_ID/adcreatives
con los siguientes parámetros:
access_token
establecido en el identificador de acceso a la página.object_story_spec
que incluya un objeto link_data
con los siguientes parámetros:
call_to_action
establecido en un objeto que contenga type
y value
establecidos en el identificador del formulario para clientes potenciales.description
establecido en la descripción del contenido.image_hash
establecido en el hash de una imagen para el contenido del anuncio.message
establecido en el texto del contenido del anuncio.page_id
establecido en el identificador de tu página de Facebook.Nota: Al crear el parámetro link_data
, el valor asociado al campo link
solo puede ser https//fb.me/
.
El parámetro link_data.call_to_action
debe establecerse en uno 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 de secuencia con el mismo elemento object_story_spec
, pero con un campo lead_gen_form_id
adicional definido en el parámetro child_attachments
.
Solo puedes especificar el mismo valor de <FORM_ID>
para todos los archivos 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 vídeo en el contenido del anuncio para clientes potenciales en lugar de una foto. En primer lugar, sube el vídeo a tu biblioteca de vídeos de anuncios y, luego, utilízalo 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 realiza correctamente, la aplicación recibe la siguiente respuesta JSON con el identificador del contenido del anuncio.
{ "id": "YOUR_AD_CREATIVE_ID" }
Para crear el anuncio, tienes que asociar el contenido del anuncio y el conjunto de anuncios. Para crear el anuncio, envía una solicitud POST
al extremo /act_AD_ACCOUNT_ID/ads
. La solicitud debe incluir lo siguiente:
access_token
establecido en el identificador de acceso a la página.adset_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 realiza correctamente, la aplicación recibe la siguiente respuesta JSON con el identificador del anuncio.
{ "id": "YOUR_AD_ID" }
Verifica que el anuncio existe 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 para la campaña y el anuncio.
Puedes publicar el anuncio desde el Administrador de anuncios o mediante la API. Para publicar el anuncio mediante la API, repite el paso 4 con el parámetro status
establecido en ACTIVE
.
Meta revisará el anuncio y el estado será PENDING_REVIEW
. Una vez aprobado el anuncio, el estado cambiará a ACTIVE
y el anuncio se entregará.
Obtén una lista de los formularios y de las preguntas de un formulario determinado, y archiva formularios antiguos.
Para obtener una lista de los formularios para clientes potenciales, envía una solicitud GET
al extremo /
page_id
/leadgen_forms
con los siguientes parámetros:
access_token
establecido en el identificador de acceso a la página.fields
(opcional) establecido en una lista separada por comas de los campos para obtener información específica, como el nombre o 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 correctamente, la aplicación recibirá una respuesta JSON con la lista de formularios. Puedes utilizar un identificador de formulario para obtener las preguntas de ese formulario o para archivarlo.
Solo los formularios que cumplan los requerimientos específicos serán válidos para enviarse en una conversación de Messenger.
Para obtener una lista de los formularios para clientes potenciales válidos, envía una solicitud GET
al extremo /
page_id
/leadgen_forms
con los siguientes parámetros:
access_token
establecido en el identificador de acceso a la página.fields
establecido 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 correctamente, la aplicación recibirá una respuesta JSON con la lista de los identificadores de los formularios válidos.
{ "data": [ { "id": "eligible_form_1_id" }, { "id": "eligible_form_2_id" } ], ... }
Para obtener una lista de preguntas específicas de un formulario para clientes potenciales, envía una solicitud GET
al extremo /
page_id
/
leadgen_form_id
con los parámetros siguientes:
access_token
establecido en el identificador de acceso a la página.fields
establecido 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 correctamente, la aplicación recibirá una respuesta JSON con la lista de preguntas.
Dado que no se admite la eliminación de formularios para clientes potenciales, solo es posible archivarlos. Una vez archivado un formulario:
Para archivar un formulario para clientes potenciales concreto, envía una solicitud POST
al extremo /
page_id
/
leadgen_form_id
con los siguientes parámetros:
access_token
establecido en el identificador de acceso a la página.status
establecido 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 correctamente, la aplicación recibirá una respuesta JSON con un objeto con el parámetro success
establecido en true
.
Para reactivar un formulario archivado, envía una solicitud con el parámetro status
establecido en ACTIVE
.
Consulta nuestras otras guías para obtener más información sobre los componentes de este documento.