Questo documento descrive come usare l'API Marketing per creare inserzioni per la generazione di contatti usando l'API Graph.
Per creare e pubblicare un'inserzione per acquisizione contatti seguirai questi passaggi:
Questa guida presuppone che tu abbia letto la Panoramica sulla Piattaforma Messenger e implementato i componenti necessari per l'invio e la ricezione di messaggi e notifiche.
Ecco di cosa avrai bisogno:
ADVERTISE
sulla PaginaPer creare una campagna pubblicitaria per le inserzioni per la generazione di contatti, invia una richiesta POST
all'endpoint /
act_AD_ACCOUNT_ID
/campaigns
con i seguenti parametri:
access_token
impostato sul tuo token d'accesso della Paginabuying_type
impostato su AUCTION
name
impostato sul nome della tua campagnaobjective
impostato su OUTCOME_LEADS
status
impostato su 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"
}'
In caso di azione eseguita correttamente, l'app riceverà un oggetto JSON contenente l'ID per la tua campagna. Questo ID verrà usato durante la creazione di un gruppo di inserzioni nel passaggio successivo.
{ "id": "YOUR_CAMPAIGN_ID" }
Consulta il riferimento per le campagne pubblicitarie per maggiori informazioni.
Per creare un gruppo di inserzioni, invia una richiesta POST
all'endpoint act_ad_account_id/adsets
in cui ad_account_id corrisponda all'ID per l'account pubblicitario di Meta. La richiesta deve includere:
access_token
impostato sul tuo token d'accesso della Paginabid_amount
impostato sull'importo massimo che desideri pagarebilling_event
impostato su IMPRESSIONS
campaign_id
impostato sull'ID per la tua campagna pubblicitaria del passaggio 1daily_budget
impostato sull'importo che desideri spendere al giornoname
impostato sul nome del tuo gruppo di inserzionioptimization_goal
impostato su LEAD_GENERATION
o QUALITY_LEAD
destination_type
impostato su ON_AD
promoted_object
impostato sull'ID della pagina Facebook della tua aziendastatus
impostato su PAUSED
Nota: se hai configurato un'origine dei dati del CRM e scelto QUALITY_LEAD
come obiettivo di ottimizzazione, puoi aggiungere pixel_id
a promoted_object
per una maggiore ottimizzazione a livello di qualità. Non è necessario indicare una pixel_rule
insieme al 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"
}'
In caso di azione eseguita correttamente, l'app riceve la seguente risposta JSON con l'ID per il gruppo di inserzioni.
{ "id": "YOUR_ADSET_ID" }
Consulta il riferimento per i gruppi di inserzioni per maggiori informazioni.
Per creare un modulo, invia una richiesta POST
all'endpoint /
page_id
/leadgen_forms
con i seguenti parametri:
access_token
impostato sul tuo token d'accesso della Paginaname
impostato sul nome del tuo moduloquestions
impostato su un array di oggetti che definiscono il tipo di domande e l'ordine in cui saranno visualizzate nel modulo usando il parametro key
label
options
con un menu a discesa di risposte
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"},
]}
]"
}'
I moduli che desideri utilizzare in un'inserzione in una conversazione su Messenger devono contenere i seguenti elementi:
questions.type
può essere impostato solo su uno dei seguenti valori:
|
|
|
Se il modulo ha questions.type
impostato su un qualsiasi valore diverso da quelli elencati, il modulo non sarà idoneo.
block_display_for_non_targeted_viewer
deve essere impostato su false
. Questo contrassegna il modulo come Open Sharing.
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"},
]}
]"
}'
In aggiunta ai tipi di domande tipici mostrati nella [sezione Creazione di un modulo per l'acquisizione di contatti]{#create-a-lead-form}, puoi aggiungere altri tipi di domande specializzati per i seguenti casi d'uso:
Le domande relative alla programmazione degli appuntamenti generano uno strumento di selezione di data e ora con una selezione limitata dell'orario e un messaggio di conferma sotto la domanda.
Per aggiungere una domanda relativa alla programmazione degli appuntamenti, aggiungi un oggetto question con il parametro type
impostato su DATE_TIME
. Se lo desideri, puoi anche aggiungere un messaggio di conferma nel parametro inline_context
che sarà visualizzato direttamente sotto il campo delle domande per maggiore contesto, se necessario.
... "questions": "[ ... {"type": "DATE_TIME", "label": "Appointment time", "inline_context": "We will verify and call you to confirm your appointment." }, ...
Le domande relative ai documenti di identità nazionali generano una domanda basata sul Paese della persona e convalidano il formato dell'ID immesso. Questa domanda può essere generata per i seguenti Paesi:
ID_AR_DNI
"}ID_CPF
ID_CL_RUT
ID_CO_CC
ID_EC_CI
ID_PE_DNI
Per aggiungere una domanda relativa ai documenti di identità nazionali, aggiungi un oggetto question con il parametro type
impostato sul tipo di Paese della persona.
DNI
per il Perù, il pubblico targetizzato deve essere limitato al Perù. Solo le inserzioni che corrispondono a questo criterio vengono approvate.... "questions": "[ ... {"type": "ID_AR_DNI" }, ...
Le domande relative allo strumento di localizzazione dei punti vendita generano uno strumento di selezione dei punti vendita basato sul CAP o codice postale inserito dalla persona.
Dovrai configurare una struttura di Pagine dei punti vendita per usare questa domanda. Scopri come in Configurazione di una struttura di Pagine dei punti vendita su Facebook - Centro assistenza per le aziende di Meta
Per aggiungere una domanda relativa allo strumento di localizzazione dei punti vendita, aggiungi un oggetto question con il parametro type
impostato su STORE_LOOKUP
e il parametro context_provider_type
su LOCATION_MANAGER
.
... "questions": "[ ... {"type": "STORE_LOOKUP", "label": "Which store do you want to visit?", "context_provider_type": "LOCATION_MANAGER" }, ...
Ottieni contatti di qualità superiore aggiungendo una o più delle seguenti impostazioni del modulo:
Per aiutarti a monitorare l'origine dei contatti, aggiungi al tuo modulo il campo tracking_parameters
, impostato su una lista di coppie chiave-valore di parametri che desideri monitorare. Questi parametri non vengono visualizzati nella tua inserzione, ma consentono a Meta di fornirti metadati relativi ai contatti generati da un modulo.
... "name": "YOUR_LEADADS_FORM_NAME", "tracking_parameters": {"your_tracking_parameter_name":"your_tracking_parameter_value"}, "questions": "[ ...
Per impostazione predefinita, le inserzioni per acquisizione contatti vengono ottimizzate per il volume di contatti; tuttavia, puoi creare moduli che portano a contatti del tipo "Intenzione più elevata". Questi tipi di contatti possono essere rivolti a persone che potrebbero essere interessate a un prodotto o servizio specifico, come la prenotazione di un test drive presso una concessionaria. Questa impostazione del modulo aggiunge un passaggio al flusso di invio del modulo in cui una persona controlla e conferma le sue risposte prima dell'invio del modulo da parte di tale persona.
Per aggiungere questo flusso di conferma al tuo modulo, aggiungi il parametro is_optimized_for_quality
impostato su true
durante la creazione del modulo.
... "name": "YOUR_LEADADS_FORM_NAME", "is_optimized_for_quality": "true", "questions": "[ ...
Per escludere i contatti organici, aggiungi il parametro block_display_for_non_targeted_viewer
a true
durante la creazione del modulo.
... "name": "YOUR_LEADADS_FORM_NAME", "block_display_for_non_targeted_viewer": "true", "questions": "[ ...
In caso di azione eseguita correttamente, l'app riceverà una risposta JSON contenente l'ID per il tuo modulo da utilizzare durante la creazione dell'inserzione.
{ "id": "leadgen_form_id", }
Per creare una creatività dell'inserzione con un'immagine e il tuo modulo, invia una richiesta POST
all'endpoint /act_AD_ACCOUNT_ID/adcreatives
con i seguenti parametri:
access_token
impostato sul tuo token d'accesso della Paginaobject_story_spec
che includa un oggetto link_data
con i seguenti parametri:
call_to_action
impostato su un oggetto contenente type
e value
impostato sull'ID del modulo per l'acquisizione di contattidescription
impostato sulla descrizione per la tua creativitàimage_hash
impostato sull'hash per un'immagine per la tua creatività dell'inserzionemessage
impostato sul testo per la tua creatività dell'inserzionepage_id
impostato sull'ID della Pagina FacebookNota: durante la creazione di link_data
, il valore associato al campo link
può essere solo https//fb.me/
.
Il parametro link_data.call_to_action
deve essere impostato solo su uno dei seguenti valori:
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" }'
Puoi creare un'inserzione per acquisizione contatti carosello usando la stessa object_story_spec
, ma con un campo lead_gen_form_id
aggiuntivo definito nel parametro child_attachments
.
Puoi specificare solo lo stesso <FORM_ID>
per tutti gli allegati secondari.
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
Puoi anche usare un video al posto di una foto nelle creatività dell'inserzione per acquisizione contatti. Come prima cosa, carica il video nella tua libreria dei video delle inserzioni, quindi usalo nel parametro 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
In caso di azione eseguita correttamente, l'app riceve la seguente risposta JSON con l'ID per la creatività dell'inserzione.
{ "id": "YOUR_AD_CREATIVE_ID" }
Per creare l'inserzione devi associare la creatività dell'inserzione e il gruppo di inserzioni. Per creare l'inserzione, invia una richiesta POST
all'endpoint /act_AD_ACCOUNT_ID/ads
. La richiesta deve includere:
access_token
impostato sul tuo token d'accesso della Paginaadset_id
(del Passaggio 2)creative_id
(del Passaggio 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"
}'
In caso di azione eseguita correttamente, l'app riceve la seguente risposta JSON con l'ID dell'inserzione.
{ "id": "YOUR_AD_ID" }
Verifica che l'inserzione esista in Gestione inserzioni . Clicca sul pulsante Controlla e pubblica nell'angolo in alto a destra. Seleziona la campagna, il gruppo di inserzioni per la campagna e l'inserzione.
Puoi pubblicare l'inserzione da Gestione inserzioni o utilizzando l'API. Per pubblicare utilizzando l'API, ripeti il Passaggio 4 con il parametro status
impostato su ACTIVE
.
L'inserzione verrà controllata da Meta e lo stato sarà PENDING_REVIEW
. Dopo l'approvazione, lo stato sarà ACTIVE
e l'inserzione verrà pubblicata.
Ottieni una lista dei tuoi moduli, domande specifiche dei moduli e archivia i moduli precedenti.
Per ottenere una lista dei tuoi moduli per la generazione di contatti, invia una richiesta GET
all'endpoint /
page_id
/leadgen_forms
con i seguenti parametri:
access_token
impostato sul tuo token d'accesso della Paginafields
(facoltativo) impostato su una lista di campi separati da virgole per ottenere informazioni specifiche come il nome e l'ID del modulo
curl -X GET "https://graph.facebook.com/v21.0
/PAGE_ID/leadgen_forms
?fields=name,id
&access_token": "YOUR_PAGE_ACCESS_TOKEN"
In caso di azione eseguita correttamente, l'app riceverà una risposta JSON contenente una lista dei tuoi moduli. Puoi usare un ID del modulo per ricevere le domande per quel modulo o archiviarlo.
Solo i moduli contenenti requisiti specifici sono idonei per essere inviati in una conversazione su Messenger.
Per ottenere una lista di moduli per l'acquisizione di contatti idonei invia una richiesta GET
all'endpoint /
page_id
/leadgen_forms
con i seguenti parametri:
access_token
impostato sul tuo token d'accesso della Paginafields
impostato su 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"
In caso di azione eseguita correttamente, l'app riceverà una risposta JSON contenente una lista di ID per i moduli idonei.
{ "data": [ { "id": "eligible_form_1_id" }, { "id": "eligible_form_2_id" } ], ... }
Per ottenere una lista di domande per uno specifico modulo per la generazione di contatti, invia una richiesta GET
all'endpoint /
page_id
/
leadgen_form_id
con i seguenti parametri:
access_token
impostato sul tuo token d'accesso della Paginafields
impostato su questions
curl -X GET "https://graph.facebook.com/v21.0
/page_id/leadgen_form_id
?fields=questions
&access_token=page_access_token"
In caso di azione eseguita correttamente, l'app riceverà una risposta JSON contenente una lista di domande.
Puoi solo archiviare i moduli per l'acquisizione di contatti perché l'eliminazione non è supportata. Una volta archiviato il modulo:
Per archiviare uno specifico modulo per la generazione di contatti, invia una richiesta POST
all'endpoint /
page_id
/
leadgen_form_id
con i seguenti parametri:
access_token
impostato sul tuo token d'accesso della Paginastatus
impostato su ARCHIVED
curl -X GET "https://graph.facebook.com/v21.0
/page_id/leadgen_form_id
?status=ARCHIVED
&access_token=page_access_token"
In caso di azione eseguita correttamente, l'app riceverà una risposta JSON contenente un oggetto con success
impostato su true
.
Un modulo archiviato può essere riattivato inviando una richiesta con status
impostato su ACTIVE
.
Consulta le nostre altre guide per maggiori informazioni sui componenti trattati in questo documento.