Ce document explique comment utiliser l’API Marketing pour créer des publicités de génération de prospects avec l’API Graph.
Suivez ces étapes pour créer et publier une publicité à formulaire :
Dans ce guide, nous partons du principe que vous avez lu la présentation de la plateforme Messenger et implémenté les composants nécessaires pour envoyer et recevoir des messages et des notifications.
Vous aurez besoin des éléments suivants :
ADVERTISE
sur la PagePour créer une campagne publicitaire et l’utiliser pour vos publicités de génération de prospects, envoyez une requête POST
au point de terminaison /
act_AD_ACCOUNT_ID
/campaigns
avec les paramètres suivants :
access_token
défini sur votre token d’accès de Pagebuying_type
défini sur AUCTION
name
défini sur le nom de votre campagneobjective
défini sur OUTCOME_LEADS
status
défini sur 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 demande aboutit, votre application reçoit un objet JSON contenant l’ID de votre campagne. Cet ID servira à la création d’un ensemble de publicités lors de la prochaine étape.
{ "id": "YOUR_CAMPAIGN_ID" }
Consultez la référence sur les campagnes publicitaires pour en savoir plus.
Pour créer un ensemble de publicités, envoyez une requête POST
au point de terminaison act_ad_account_id/adsets
où ad_account_id est l’ID de votre compte publicitaire Meta. Votre requête doit inclure :
access_token
défini sur votre token d’accès de Pagebid_amount
défini sur la somme maximale que vous souhaitez payerbilling_event
défini sur IMPRESSIONS
campaign_id
défini sur l’ID de votre campagne publicitaire obtenu à l’étape 1daily_budget
défini sur la somme que vous souhaitez dépenser chaque journame
défini sur le nom de votre ensemble de publicitésoptimization_goal
défini sur LEAD_GENERATION
ou QUALITY_LEAD
destination_type
défini sur ON_AD
promoted_object
défini sur l’ID de la Page Facebook de votre entreprisestatus
défini sur PAUSED
Remarque : Si vous avez configuré une source de données CRM et choisi QUALITY_LEAD
comme objectif d’optimisation, vous pouvez ajouter le pixel_id
au promoted_object
pour une meilleure optimisation de la qualité. Notez que vous n’avez pas besoin de fournir une pixel_rule
avec le 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 demande aboutit, votre application reçoit la réponse JSON suivante avec l’ID de l’ensemble de publicités.
{ "id": "YOUR_ADSET_ID" }
Consultez la référence sur les ensembles de publicités pour en savoir plus.
Pour créer un formulaire, envoyez une requête POST
au point de terminaison /
PAGE_ID
/leadgen_forms
avec les paramètres suivants :
access_token
défini sur votre token d’accès de Pagename
défini sur le nom de votre formulairequestions
défini sur un tableau d’objets définissant le type de questions et l’ordre dans lequel elles apparaîtront dans le formulaire à l’aide du paramètre key
label
options
avec un menu déroulant contenant les réponses
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"},
]}
]"
}'
Les formulaires que vous souhaitez utiliser dans une publicité affichée dans une conversation Messenger doivent contenir les éléments suivants :
questions.type
ne peut être défini que sur l’une des valeurs suivantes :
|
|
|
Si une valeur autre que celles répertoriées ci-dessus est utilisée pour questions.type
, le formulaire sera rejeté.
block_display_for_non_targeted_viewer
doit être défini sur false
. Cela indique que le formulaire fait l’objet d’un partage ouvert.
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"},
]}
]"
}'
Outre les types de questions standards présentés dans la [section Créer un formulaire prospect]{#create-a-lead-form}, vous pouvez ajouter des types de questions plus spécifiques pour les cas suivants :
Une question pour la programmation d’un rendez-vous affiche un sélecteur de date et heure avec une sélection horaire limitée et un message de confirmation sous la question.
Pour inclure une question pour la programmation d’un rendez-vous, ajoutez un objet de question avec le paramètre type
défini sur DATE_TIME
. Vous pouvez également ajouter un message de confirmation dans le paramètre inline_context
, qui s’affichera juste en dessous du champ réservé à la question pour donner plus de contexte, si nécessaire.
... "questions": "[ ... {"type": "DATE_TIME", "label": "Appointment time", "inline_context": "We will verify and call you to confirm your appointment." }, ...
Une question sur la pièce d’identité nationale permet de valider le format de la pièce d’identité en fonction du pays de l’utilisateur·ice. Vous pouvez ajouter cette question pour les pays suivants :
ID_AR_DNI
"}ID_CPF
ID_CL_RUT
ID_CO_CC
ID_EC_CI
ID_PE_DNI
Pour créer une question sur la pièce d’identité nationale, ajoutez un objet de question avec le paramètre type
défini sur le type du pays de la personne.
DNI
du Pérou, votre audience cible doit se limiter à ce pays. Seules les publicités qui correspondent à ce critère seront approuvées.... "questions": "[ ... {"type": "ID_AR_DNI" }, ...
Vous pouvez créer une question afin d’afficher une carte des magasins selon le code postal saisi.
Pour ce faire, vous devrez configurer une structure de Pages de magasin. Découvrez comment dans Configurer une structure de Pages de magasin sur Facebook – Pages d’aide Meta Business
Pour inclure une question permettant l’affichage d’une carte des magasins, ajoutez un objet de question avec le paramètre type
défini sur STORE_LOOKUP
et le paramètre context_provider_type
sur LOCATION_MANAGER
.
... "questions": "[ ... {"type": "STORE_LOOKUP", "label": "Which store do you want to visit?", "context_provider_type": "LOCATION_MANAGER" }, ...
Pour obtenir des prospects de meilleure qualité, ajoutez un ou plusieurs des paramètres de formulaire suivants :
Pour suivre la source de vos prospects, ajoutez à votre formulaire le champ tracking_parameters
défini sur une liste des paramètres dont vous souhaitez effectuer le suivi. Ces paramètres sont chacun constitués d’une paire clé-valeur. Ils n’apparaissent pas dans votre publicité, mais permettent à Meta de vous fournir des métadonnées concernant les prospects générés à partir d’un formulaire.
... "name": "YOUR_LEADADS_FORM_NAME", "tracking_parameters": {"your_tracking_parameter_name":"your_tracking_parameter_value"}, "questions": "[ ...
Par défaut, les publicités à formulaire sont optimisées en fonction du volume de prospects. Toutefois, vous pouvez créer des formulaires qui génèrent des prospects dont l’intention est plus élevée. Ce type de prospects regroupe des personnes qui peuvent être intéressées par un produit ou service spécifique, tel que l’essai d’un véhicule chez un concessionnaire. Ce paramètre ajoute une étape lors du remplissage du formulaire, qui consiste pour le prospect à vérifier et à confirmer les réponses avant d’envoyer le formulaire.
Pour ajouter cette étape de confirmation à votre formulaire, intégrez le paramètre is_optimized_for_quality
défini sur true
lors de la création du formulaire.
... "name": "YOUR_LEADADS_FORM_NAME", "is_optimized_for_quality": "true", "questions": "[ ...
Pour filtrer les prospects organiques, intégrez le paramètre block_display_for_non_targeted_viewer
défini sur true
lors de la création du formulaire.
... "name": "YOUR_LEADADS_FORM_NAME", "block_display_for_non_targeted_viewer": "true", "questions": "[ ...
Si la requête aboutit, votre application reçoit une réponse JSON contenant l’ID de votre formulaire, que vous utiliserez lors de la création de votre publicité.
{ "id": "leadgen_form_id", }
Pour créer un contenu publicitaire avec une image et votre formulaire, envoyez une requête POST
au point de terminaison /act_AD_ACCOUNT_ID/adcreatives
avec les paramètres suivants :
access_token
défini sur votre token d’accès de Pageobject_story_spec
, qui inclut un objet link_data
avec les paramètres suivants :
call_to_action
défini sur un objet contenant type
et value
avec l’ID de votre formulaire prospect comme valeurdescription
défini sur la description de votre contenu publicitaireimage_hash
défini sur le hachage d’une image pour votre contenu publicitairemessage
défini sur le texte de votre contenu publicitairepage_id
défini sur l’ID de votre Page FacebookRemarque : lors de la création des link_data
, la seule valeur qui peut être associée au champ link
est https//fb.me/
.
Le paramètre link_data.call_to_action
doit être défini sur l’une des valeurs suivantes :
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" }'
Vous pouvez créer une publicité à formulaire carrousel à l’aide de la même object_story_spec
, mais avec un champ lead_gen_form_id
supplémentaire défini dans le paramètre child_attachments
.
Vous devez indiquer le même <FORM_ID>
pour toutes les pièces jointes enfants.
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
Vous pouvez également utiliser une vidéo plutôt qu’une photo dans le contenu publicitaire d’une publicité à formulaire. Commencez par importer votre vidéo dans votre bibliothèque de vidéos publicitaires, puis utilisez-la dans le paramètre 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 requête aboutit, votre application reçoit la réponse JSON suivante avec l’ID du contenu publicitaire.
{ "id": "YOUR_AD_CREATIVE_ID" }
Pour créer la publicité, vous devez associer le contenu publicitaire et l’ensemble de publicités. Pour créer la publicité, envoyez une requête POST
au point de terminaison /act_AD_ACCOUNT_ID/ads
. Votre requête doit inclure :
access_token
défini sur votre token d’accès de Pageadset_id
(obtenu à l’étape 2)creative_id
(obtenu à l’étape 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 requête aboutit, votre application reçoit la réponse JSON suivante avec l’ID de la publicité.
{ "id": "YOUR_AD_ID" }
Vérifiez que votre publicité existe bien dans le Gestionnaire de publicités. Cliquez sur le bouton Vérifier et publier dans le coin supérieur droit. Sélectionnez votre campagne, l’ensemble de publicités correspondant et la publicité.
Vous pouvez publier votre publicité à partir du Gestionnaire de publicités ou à l’aide de l’API. Pour la publier avec l’API, répétez l’Étape 4 avec le paramètre status
défini sur ACTIVE
.
En attendant la vérification par Meta, le statut passe à PENDING_REVIEW
. Une fois la publicité approuvée, son statut devient ACTIVE
et elle est diffusée.
Obtenez une liste de vos formulaires, récupérez les questions spécifiques des formulaires et archivez les anciens formulaires.
Pour obtenir la liste de vos formulaires de génération de prospects, envoyez une demande GET
au point de terminaison /
page_id
/leadgen_forms
avec les paramètres suivants :
access_token
défini sur votre token d’accès de Pagefields
(facultatif) défini sur une liste de champs séparés par des virgules pour obtenir des informations spécifiques comme le nom et l’ID du formulaire.
curl -X GET "https://graph.facebook.com/v21.0
/PAGE_ID/leadgen_forms
?fields=name,id
&access_token": "YOUR_PAGE_ACCESS_TOKEN"
Si la demande aboutit, votre application reçoit une réponse JSON contenant la liste de vos formulaires. Vous pouvez utiliser un ID de formulaire pour obtenir les questions pour ce formulaire ou archiver le formulaire.
Seuls les formulaires contenant des éléments obligatoires spécifiques sont éligibles à un envoi dans une conversation Messenger.
Pour obtenir la liste de vos formulaires prospect éligibles, envoyez une requête GET
au point de terminaison /
page_id
/leadgen_forms
avec les paramètres suivants :
access_token
défini sur votre token d’accès de Pagefields
défini sur 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 demande aboutit, votre application reçoit une réponse JSON contenant la liste des ID des formulaires éligibles.
{ "data": [ { "id": "eligible_form_1_id" }, { "id": "eligible_form_2_id" } ], ... }
Pour obtenir la liste des questions d’un formulaire de génération de prospects spécifique, envoyez une demande GET
au point de terminaison /
page_id
/
leadgen_form_id
avec les paramètres suivants :
access_token
défini sur votre token d’accès de Pagefields
défini sur questions
curl -X GET "https://graph.facebook.com/v21.0
/page_id/leadgen_form_id
?fields=questions
&access_token=page_access_token"
Si la demande aboutit, votre application reçoit une réponse JSON contenant la liste des questions.
Vous ne pouvez archiver qu’un seul formulaire prospect puisque la suppression n’est pas prise en charge. Une fois le formulaire archivé :
Pour archiver un formulaire de génération de prospects spécifique, envoyez une demande POST
au point de terminaison /
page_id
/
leadgen_form_id
avec les paramètres suivants :
access_token
défini sur votre token d’accès de Pagestatus
défini sur ARCHIVED
curl -X GET "https://graph.facebook.com/v21.0
/page_id/leadgen_form_id
?status=ARCHIVED
&access_token=page_access_token"
Si la demande aboutit, votre application reçoit une réponse JSON contenant un objet avec success
défini sur true
.
Pour réactiver un formulaire archivé, envoyez une demande pour définir status
sur ACTIVE
.
Consultez nos autres guides pour en savoir plus sur les composants de ce document.