In diesem Dokument wird beschrieben, wie du die Marketing API verwenden kannst, um mit der Graph API Anzeigen für die Leadgenerierung zu erstellen.
Befolge diese Schritte, um eine Lead Ad zu erstellen und zu veröffentlichen:
Dieser Leitfaden setzt voraus, dass du die Übersicht zur Messenger-Plattform gelesen hast und die benötigten Komponenten zum Senden und Empfangen von Nachrichten und Benachrichtigungen implementiert hast.
Du benötigst Folgendes:
ads_management
pages_manage_ads
pages_read_engagement
ADVERTISE
-Aufgabe auf der Seite ausführen kannUm eine Anzeigenkampagne für deine Leadgenerierungs-Anzeigen zu erstellen, sende eine POST
-Anfrage an den /
act_AD_ACCOUNT_ID
/campaigns
-Endpunkt und füge folgende Parameter hinzu:
access_token
auf deinen Seiten-Zugriffsschlüssel festgelegtbuying_type
auf AUCTION
festgelegtname
auf den Namen deiner Kampagne festgelegtobjective
auf OUTCOME_LEADS
festgelegtstatus
festgelegt auf 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"
}'
Bei Erfolg erhält deine App ein JSON-Objekt, das die ID deiner Kampagne enthält. Diese ID wird im nächsten Schritt zum Erstellen einer Anzeigengruppe verwendet.
{ "id": "YOUR_CAMPAIGN_ID" }
Weitere Informationen findest du in der Referenz zu Anzeigenkampagnen .
Um eine Anzeigengruppe zu erstellen, sendest du eine POST
-Anfrage an den act_ad_account_id/adsets
-Endpunkt, wobei ad_account_id die ID für dein Meta-Werbekonto ist. Deine Anfrage muss Folgendes enthalten:
access_token
auf deinen Seiten-Zugriffsschlüssel festgelegtbid_amount
festgelegt auf die maximale Summe, die du zahlen möchtestbilling_event
festgelegt auf IMPRESSIONS
campaign_id
festgelegt auf die ID deiner Werbekampagne aus Schritt 1daily_budget
festgelegt auf die Summe, die du täglich ausgeben möchtestname
festgelegt auf den Namen deiner Anzeigengruppeoptimization_goal
festgelegt auf LEAD_GENERATION
oder QUALITY_LEAD
destination_type
festgelegt auf ON_AD
promoted_object
festgelegt auf die ID für die Facebook-Seite deines Unternehmensstatus
auf PAUSED
festgelegtHinweis: Wenn du eine CRM-Datenquelle eingerichtet und QUALITY_LEAD
als Optimierungsziel ausgewählt hast, kannst du dem promoted_object
zur weiteren Qualitätsoptimierung die pixel_id
hinzufügen. Beachte, dass du mit der pixel_id
keine pixel_rule
angeben musst.
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"
}'
Bei Erfolg erhält deine App die folgende JSON-Antwort mit der Anzeigengruppen-ID.
{ "id": "YOUR_ADSET_ID" }
Weitere Informationen findest du in der Referenz zu Anzeigengruppen .
Um ein Formular zu erstellen, sende eine POST
-Anfrage an den /
PAGE_ID
/leadgen_forms
-Endpunkt und füge folgende Parameter hinzu:
access_token
auf deinen Seiten-Zugriffsschlüssel festgelegtname
auf den Namen deines Formulars festgelegtquestions
auf ein Array von Objekten festgelegt, die die Art der Frage definieren sowie die Reihenfolge, in der sie im Formular angezeigt werden, unter Verwendung des key
-Parameters
label
-Parametersoptions
-Parameters mit Antworten in einem Dropdown-Menü
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"},
]}
]"
}'
Formulare, die du in einer Anzeige in einer Messenger-Unterhaltung verwenden möchtest, müssen Folgendes enthalten:
questions.type
-Parameter kann nur auf einen der folgenden Werte festgelegt werden:
|
|
|
Wenn das Formular einen questions.type
mit einem Wert hat, der hier nicht aufgeführt ist, wird das Formular ungültig.
block_display_for_non_targeted_viewer
-Parameter muss auf false
festgelegt werden. Hierdurch wird das Formular als offene Freigabe markiert.
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"},
]}
]"
}'
Zusätzlich zu den herkömmlichen Fragetypen, die im [Abschnitt „Lead-Formular erstellen“]{#create-a-lead-form} gezeigt werden, kannst du weitere bestimmte Fragetypen für folgende Anwendungsfälle hinzufügen:
Bei einer Terminplanungsfrage werden eine Datums und Uhrzeitauswahl mit einer eingeschränkten Stundenauswahl und eine Bestätigungsmeldung unterhalb der Fragen angezeigt.
Füge zum Erstellen einer Terminplanungsfrage ein Frageobjekt hinzu, bei dem der type
-Parameter auf DATE_TIME
festgelegt ist. Du kannst optional auch eine Bestätigungsmeldung im Parameter inline_context
hinzufügen, die direkt unter dem Fragenfeld angezeigt wird und weiteren Kontext liefert, falls erforderlich.
... "questions": "[ ... {"type": "DATE_TIME", "label": "Appointment time", "inline_context": "We will verify and call you to confirm your appointment." }, ...
Bei einer Frage zur Ausweisnummer ist die Frage davon abhängig, welches Land die Person ausgewählt hat. Außerdem wird das Format der eingegebenen Ausweisnummer überprüft. Diese Frage kann für folgende Länder gerendert werden:
ID_AR_DNI
"}ID_CPF
ID_CL_RUT
ID_CO_CC
ID_EC_CI
ID_PE_DNI
Um eine Frage zur Ausweisnummer hinzuzufügen, füge ein Frageobjekt hinzu, dessen type
-Parameter auf das Land der Person festgelegt ist.
DNI
aus Peru fragst, ist deine Zielgruppe auf Peru beschränkt. Es werden nur Anzeigen genehmigt, die dieses Kriterium erfüllen.... "questions": "[ ... {"type": "ID_AR_DNI" }, ...
Bei einer Filialsuchenfrage wird eine Filialauswahl auf der Basis der eingegebenen Postleitzahl angezeigt.
Damit du diese Frage verwenden kannst, musst du eine Seitenstruktur für Geschäfte einrichten. Wie das geht, erfährst du unter Eine Seitenstruktur für Geschäfte auf Facebook einrichten – Meta-Hilfebereich für Unternehmen .
Um eine Filialsuchenfrage hinzuzufügen, füge ein Frageobjekt hinzu und lege den type
-Parameter auf STORE_LOOKUP
fest und den context_provider_type
-Parameter auf LOCATION_MANAGER
.
... "questions": "[ ... {"type": "STORE_LOOKUP", "label": "Which store do you want to visit?", "context_provider_type": "LOCATION_MANAGER" }, ...
Erziele hochwertigere Leads, indem du eine oder mehrere der folgenden Formulareinstellungen hinzufügst:
Damit du die Quelle deiner Leads besser nachverfolgen kannst, füge deinem Formular das Feld tracking_parameters
hinzu, das du auf eine Liste von Schlüsselwertpaaren von Parametern festlegst, die du nachverfolgen möchtest. Diese Parameter erscheinen nicht in deiner Anzeige, aber ermöglichen es Meta, dir Metadaten zu Leads bereitzustellen, die über ein Formular generiert wurden.
... "name": "YOUR_LEADADS_FORM_NAME", "tracking_parameters": {"your_tracking_parameter_name":"your_tracking_parameter_value"}, "questions": "[ ...
Standardmäßig sind Lead Ads für das Volumen von Leads optimiert. Du kannst jedoch Formulare erstellen, aus denen Leads mit „höherer Absicht“ hervorgehen. Diese Arten von Leads eignen sich für Personen, die möglicherweise an einem bestimmten Produkt oder Service interessiert sind, wie z. B. dem Buchen einer Testfahrt bei einem Autohändler. Durch diese Formulareinstellung wird ein Schritt zum Formularübermittlungsablauf hinzugefügt, in dem eine Person ihre Antworten prüfen und bestätigen muss, bevor das Formular abgesendet werden kann.
Um diesen Bestätigungsschritt zu deinem Formular hinzuzufügen, füge während der Erstellung des Formulars den is_optimized_for_quality
-Parameter hinzu, den du auf true
festlegst.
... "name": "YOUR_LEADADS_FORM_NAME", "is_optimized_for_quality": "true", "questions": "[ ...
Um organische Leads herauszufiltern, füge bei der Erstellung des Formulars den block_display_for_non_targeted_viewer
-Parameter hinzu, den du auf true
festlegst.
... "name": "YOUR_LEADADS_FORM_NAME", "block_display_for_non_targeted_viewer": "true", "questions": "[ ...
Bei Erfolg erhält deine App eine JSON-Antwort, die die ID des Formulars enthält, die du bei der Erstellung deiner Anzeige verwendest.
{ "id": "leadgen_form_id", }
Um eine Anzeigengestaltung mit einem Bild und deinem Formular zu erstellen, sende eine POST
-Anfrage an den /act_AD_ACCOUNT_ID/adcreatives
-Endpunkt und füge folgende Parameter hinzu:
access_token
auf deinen Seiten-Zugriffsschlüssel festgelegtobject_story_spec
mit einem link_data
-Objekt, das folgende Parameter enthält:
call_to_action
festgelegt auf ein Objekt, das type
enthält, und value
festgelegt auf die ID deines Lead-Formularsdescription
festgelegt auf die Beschreibung deiner Anzeigengestaltungimage_hash
festgelegt auf den Hash deines Bildes für deine Anzeigengestaltungmessage
festgelegt auf den Text deiner Anzeigengestaltungpage_id
festgelegt auf die ID deiner Facebook-SeiteHinweis: Beim Erstellen der link_data
kann der mit dem link
-Feld verknüpfte Wert nur https//fb.me/
lauten.
Der link_data.call_to_action
-Parameter muss auf einen der folgenden Werte festgelegt werden:
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" }'
Du kannst eine Lead Ad des Typs Carousel mit der gleichen object_story_spec
erstellen, wobei jedoch ein zusätzliches lead_gen_form_id
-Feld im Parameter child_attachments
definiert wird.
Du kannst nur für alle untergeordneten Anhänge die gleiche <FORM_ID>
angeben.
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
Du kannst in der Lead Ad-Anzeigengestaltung auch ein Video statt eines Fotos verwenden. Du musst das Video zuerst in deine Anzeigen-Videobibliothek hochladen. Anschließend kannst du es im Parameter object_story_spec
verwenden:
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
Bei Erfolg erhält deine App die folgende JSON-Antwort mit der Anzeigengestaltungs-ID.
{ "id": "YOUR_AD_CREATIVE_ID" }
Um die Anzeige zu erstellen, musst du die Anzeigengestaltung der Anzeigengruppe zuordnen. Um die Anzeige zu erstellen, sende eine POST
-Anfrage an den /act_AD_ACCOUNT_ID/ads
-Endpunkt. Deine Anfrage muss Folgendes enthalten:
access_token
auf deinen Seiten-Zugriffsschlüssel festgelegtadset_id
(aus Schritt 2)creative_id
(aus Schritt 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"
}'
Bei Erfolg erhält deine App die folgende JSON-Antwort mit der Anzeigen-ID.
{ "id": "YOUR_AD_ID" }
Prüfe im Werbeanzeigenmanager , ob deine Anzeige vorhanden ist. Klicke auf den Button Überprüfen und veröffentlichen in der oberen rechten Ecke. Wähle deine Kampagne, die Anzeigengruppe für die Kampagne und die Anzeige aus.
Du kannst deine Anzeige über den Werbeanzeigenmanager oder mithilfe der API veröffentlichen. Um die Anzeige über die API zu veröffentlichen, wiederhole Schritt 4 und lege für status
ACTIVE
fest.
Deine Anzeige wird von Meta überprüft und der Status wird auf PENDING_REVIEW
gesetzt. Sobald die Anzeige genehmigt ist, wechselt der Status zu ACTIVE
und deine Anzeige wird ausgeliefert.
Rufe eine Liste deiner Formulare oder Fragen aus einem bestimmten Formular ab und archiviere alte Formulare.
Um eine Liste deiner Leadgenerierungs-Formulare abzurufen, sende eine GET
-Anfrage an den /
page_id
/leadgen_forms
-Endpunkt und füge folgende Parameter hinzu:
access_token
auf deinen Seiten-Zugriffsschlüssel festgelegtfields
(optional) festgelegt auf eine kommagetrennte Liste von Feldern zum Abrufen bestimmter Informationen wie Name und Formular-ID
curl -X GET "https://graph.facebook.com/v21.0
/PAGE_ID/leadgen_forms
?fields=name,id
&access_token": "YOUR_PAGE_ACCESS_TOKEN"
Bei Erfolg erhält deine App eine JSON-Antwort, die eine Liste deiner Formulare enthält. Du kannst eine Formular-ID verwenden, um die Fragen des entsprechenden Formulars abzurufen oder ein Formular zu archivieren.
Nur Formulare, die bestimmte Anforderungen enthalten, können in einer Messenger-Unterhaltung gesendet werden.
Um eine Liste der geeigneten Lead-Formulare abzurufen, sende eine GET
-Anfrage an den /
page_id
/leadgen_forms
-Endpunkt und füge folgende Parameter hinzu:
access_token
auf deinen Seiten-Zugriffsschlüssel festgelegtfields
festgelegt auf 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"
Bei Erfolg erhält deine App eine JSON-Antwort, die eine Liste der IDs berechtigter Formulare enthält.
{ "data": [ { "id": "eligible_form_1_id" }, { "id": "eligible_form_2_id" } ], ... }
Um eine Liste mit Fragen für ein bestimmtes Leadgenerierungs-Formular abzurufen, sende eine GET
-Anfrage an den /
page_id
/
leadgen_form_id
-Endpunkt und füge folgende Parameter hinzu:
access_token
auf deinen Seiten-Zugriffsschlüssel festgelegtfields
festgelegt auf questions
curl -X GET "https://graph.facebook.com/v21.0
/page_id/leadgen_form_id
?fields=questions
&access_token=page_access_token"
Bei Erfolg erhält deine App eine JSON-Antwort, die eine Liste mit Fragen enthält.
Du kannst ein Lead-Formular lediglich archivieren, da das Löschen nicht unterstützt wird. Sobald ein Formular archiviert wurde, gilt Folgendes:
Um ein bestimmtes Leadgenerierungs-Formular zu archivieren, sende eine POST
-Anfrage an den /
page_id
/
leadgen_form_id
-Endpunkt und füge folgende Parameter hinzu:
access_token
auf deinen Seiten-Zugriffsschlüssel festgelegtstatus
festgelegt auf ARCHIVED
curl -X GET "https://graph.facebook.com/v21.0
/page_id/leadgen_form_id
?status=ARCHIVED
&access_token=page_access_token"
Bei Erfolg erhält deine App eine JSON-Antwort mit einem Objekt, bei dem success
auf true
festgelegt ist.
Du kannst ein archiviertes Formular erneut aktivieren, indem du seinen status
wieder auf ACTIVE
setzt.
Sieh dir unsere weiteren Leitfäden an, um mehr über die Komponenten in diesem Dokument zu erfahren.