Du kannst Leads mit Webhooks oder Bulk-Erfassung lesen.
Zum Lesen von anzeigenspezifischen Feldern wie etwa ad_id
und campaign_id
benötigst du:
pages_manage_metadata
bei Verwendung von Webhooks Um alle Lead-Daten und Daten auf Anzeigenebene lesen zu können, benötigst du:
leads_retrieval
pages_read_engagement
Hinweis: Wenn diese*r Seitenadministrator*in nie Leads angepasst oder dem Leads Access Manager keine Zugriffsberechtigung erteilt hat, haben ALLE Seitenadministrator*innen die Zugriffsberechtigung für Leads. Wenn die Berechtigung für Zugriff auf Leads von Unternehmens-Administratoren*innen angepasst wird, bestimmt die Konfiguration des*der Unternehmens-Administrator*in, ob ein*e allgemeiner Seitenadministrator*in die Berechtigung für Zugriff auf Leads hat.
Die Ratenbegrenzung beträgt 200 mal 24 mal die Anzahl der Leads, die in den vergangenen 90 Tagen für eine Facebook-Seite erstellt wurden. Wenn du in einem Zeitraum von 24 Stunden mehr Aufrufe tätigst, gibt deine Anfrage einen Fehler zurück.
Sende eine GET
-Anfrage an den Endpunkt /ads/lead_gen/export_csv/
, in der Datumsformate POSIX
- oder UNIX
-Zeitstempel sind:
curl -i -X GET "https://www.facebook.com/ads/lead_gen/export_csv/ ?id=<FORM_ID> &type=form &from_date=1482698431 &to_date=1482784831"
from_date
nicht festgelegt wurde oder einen Wert aufweist, der vor dem Erstellungszeitpunkt des Formulars liegt, wird der Erstellungszeitpunkt des Formulars verwendet.Wenn to_date
nicht festgelegt wurde oder nach dem aktuellen Zeitpunkt liegt, wird der aktuelle Zeitpunkt verwendet.
Wenn für Einträge die Anzeigen-IDs oder Anzeigengruppen-IDs in der TSV-Datei fehlen, kann das folgende Ursachen haben:
is_organic
in der TSV-Datei 1
an. Andernfalls ist der Wert 0
.Erhalte Echtzeit-Updates für Lead Ads.
In unserem Leitfaden für die ersten Schritte mit Webhooks erfährst du, wie du einen Endpunkt einrichtest und deinen Webhook konfigurierst.
Erstelle einen einzelnen langlebigen Seitenschlüssel, mit dem du Daten kontinuierlich abrufen kannst, ohne dass er abläuft.
Im Leitfaden Webhooks für Seiten erfährst du, wie du deine App auf einer Seite installierst.
Bei der Leadgenerierung erhält deine App diese Webhook-Antwort:
array( "object" => "page", "entry" => array( "0" => array( "id" => 153125381133, "time" => 1438292065, "changes" => array( "0" => array( "field" => "leadgen", "value" => array( "leadgen_id" => 123123123123, "page_id" => 123123123, "form_id" => 12312312312, "adgroup_id" => 12312312312, "ad_id" => 12312312312, "created_time" => 1440120384 ) ), "1" => array( "field" => "leadgen", "value" => array( "leadgen_id" => 123123123124, "page_id" => 123123123, "form_id" => 12312312312, "adgroup_id" => 12312312312, "ad_id" => 12312312312, "created_time" => 1440120384 ) ) ) ) ) )
Du kannst die mit dem Lead verbundenen Daten mit leadgen_id
abrufen:
curl -X GET \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/{lead-id}/
Wenn der Vorgang erfolgreich verläuft, erhält deine App diese Antwort:
{ "created_time": "2015-02-28T08:49:14+0000", "id": "<LEAD_ID>", "ad_id": "<AD_ID>", "form_id": "<FORM_ID>", "field_data": [{ "name": "car_make", "values": [ "Honda" ] }, { "name": "full_name", "values": [ "Joe Example" ] }, { "name": "email", "values": [ "joe@example.com" ] }, { "name": "selected_dealer", "values": [ "99213450" ] }], ... }
Ein Beispiel für diese Implementierung findest du in unserem Github-Repo.
Nach dem 2. Juli 2018 erstellte Apps müssen die leads_retrieval
-Berechtigung zum Lesen von Leads verwenden.
leads
ist sowohl im Anzeigengruppen- als auch im Formular-Node vorhanden. Dadurch werden alle mit den betreffenden Objekten verbundenen Daten übermittelt. Da ein Formular für mehrere Anzeigen verwendet werden kann, könnte dein Formular viel mehr Leads empfangen als eine Anzeige, die das Formular verwendet.
Mit Bulk-Erfassung nach Anzeige lesen:
curl -X GET \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/{adgroup-id}/leads
Nach Formular lesen:
curl -G \ -d 'access_token=<ACCESS_TOKEN>' \ -d 'fields=created_time,id,ad_id,form_id,field_data' \ https://graph.facebook.com/<API_VERSION>/<FORM_ID>/leads
Antwort:
{ "data": [ { "created_time": "2018-02-28T08:49:14+0000", "id": "<LEAD_ID>", "ad_id": "<AD_ID>", "form_id": "<FORM_ID>", "field_data": [ { "name": "car_make", "values": [ "Honda" ] }, { "name": "full_name", "values": [ "Joe Example" ] }, { "name": "email", "values": [ "joe@example.com" ] }, ], ... } ], "paging": { "cursors": { "before": "OTc2Nz3M8MTgyMzU1NDMy", "after": "OTcxNjcyOTg8ANTI4NzE4" } } }
Eine Frage zur Filialsuche unterscheidet sich nicht von anderen Fragentypen. Auch eine Frage zur Filialsuche hat eine Feld-ID, die bei der Formularerstellung abgeglichen wird. Sie wird ähnlich wie andere Fragen gesendet. Der übergebene Wert stammt aus der Geschäftsnummer des ausgewählten Standorts.
Angenommen, du hast eine Frage zur Filialsuche mit der Feld-ID selected_dealer
. Um alle Leads gleichzeitig abzurufen, kannst du folgenden Aufruf verwenden:
curl -G \ -d 'access_token=<ACCESS_TOKEN>' \ -d 'fields=created_time,id,ad_id,form_id,field_data' \ https://graph.facebook.com/<API_VERSION>/<FORM_ID>/leads
Antwort:
{ "data": [ { "created_time": "2018-02-28T08:49:14+0000", "id": "<LEAD_ID>", "ad_id": "<AD_ID>", "form_id": "<FORM_ID>", "field_data": [ { "name": "car_make", "values": [ "Honda" ] }, { "name": "full_name", "values": [ "Joe Example" ] }, { "name": "email", "values": [ "joe@example.com" ] }, { "name": "selected_dealer", "values": [ "99213450" ] } ], ... } ], "paging": { "cursors": { "before": "OTc2Nz3M8MTgyMzU1NDMy", "after": "OTcxNjcyOTg8ANTI4NzE4" } } }
Das Feld field_data
beinhaltet keine Antworten für optionale benutzerdefinierte Haftungsausschluss-Kontrollkästchen, die der Nutzer vielleicht aktiviert hat. Du kannst die Antworten über das Feld custom_disclaimer_responses
abrufen.
curl -X GET \ "https://graph.facebook.com/<API_VERSION>/<LEADGEN_ID>? fields=custom_disclaimer_responses"
Antwort:
{ "custom_disclaimer_responses": [ { "checkbox_key": "optional_1", "is_checked": "1" }, { "checkbox_key": "optional_2", "is_checked": "" } ], "id": "1231231231" }
Bei diesem Beispiel werden Leads nach Zeitstempeln gefiltert. Zeitstempel müssen in einem Unix-Format vorliegen.
curl -X GET \
-d 'filtering=[
{
"field": "time_created",
"operator": "GREATER_THAN",
"value": 1731608495
}
]' \
-d 'access_token=<ACCESS_TOKEN>' \
https://graph.facebook.com/v21.0/{adgroup-id}/leads
Das Feld operator
verfügt über einen der folgenden Werte.
Operator | Bedeutung |
---|---|
| Filtert nach Werten, die kleiner als der Zeitstempel sind. |
| Filtert nach Werten, die größer als der Zeitstempel sind. |
| Filtert nach Werten, die größer oder gleich dem Zeitstempel sind. |
Wenn das Formular über benutzerdefinierte Feld-IDs verfügt, werden die angegebenen Felder und Werte zurückgegeben.