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_managementpages_manage_adspages_read_engagementADVERTISE-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-Zugriffstoken festgelegtbuying_type auf AUCTION festgelegtname auf den Namen deiner Kampagne festgelegtobjective auf OUTCOME_LEADS festgelegtstatus festgelegt auf PAUSEDcurl -X POST "https://graph.facebook.com/v24.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-Zugriffstoken festgelegtbid_amount festgelegt auf die maximale Summe, die du zahlen möchtestbilling_event festgelegt auf IMPRESSIONScampaign_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_LEADdestination_type festgelegt auf ON_ADpromoted_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/v24.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-Zugriffstoken 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/v24.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/v24.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_CPFID_CL_RUTID_CO_CCID_EC_CIID_PE_DNIUm 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",
}Belohne Verbraucher*innen mit einem Datei-Download für das Einreichen von Leads. Dieser Datei-Download wird auf deiner Dankesseite als Call-to-Action-Button angezeigt.
Um diese Funktion hinzuzufügen, musst du den Parameter upload_gated_file mit der Datei, die du hochladen möchtest, zu deinem Formular hinzufügen.
Außerdem musst du mit dem Parameter thank_you_page eine Dankesseite erstellen. Lege innerhalb des Parameters thank_you_pagebutton_type auf VIEW_ON_FACEBOOK fest.
...
"name": "YOUR_LEADADS_FORM_NAME",
"upload_gated_file": "YOUR_FILE",
"thank_you_page": {
"body": "Feel free to download our brochure here",
"title": "Thanks, you're all set.",
"button_type": "VIEW_ON_FACEBOOK",
"button_text": "Download"
}
...
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-Zugriffstoken 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_NOWDOWNLOADGET_QUOTELEARN_MORESIGN_UPSUBSCRIBEcurl -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>/adcreativesDu 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/v24.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-Zugriffstoken festgelegtadset_id (aus Schritt 2)creative_id (aus Schritt 4)curl -X POST "https://graph.facebook.com/v24.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 statusACTIVE 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-Zugriffstoken festgelegtfields (optional) festgelegt auf eine kommagetrennte Liste von Feldern zum Abrufen bestimmter Informationen wie Name und Formular-IDcurl -X GET "https://graph.facebook.com/v24.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-Zugriffstoken festgelegtfields festgelegt auf is_eligible_for_in_thread_formscurl -X GET "https://graph.facebook.com/v24.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-Zugriffstoken festgelegtfields festgelegt auf questionscurl -X GET "https://graph.facebook.com/v24.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-Zugriffstoken festgelegtstatus festgelegt auf ARCHIVEDcurl -X GET "https://graph.facebook.com/v24.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.