Integration mit Meta

Auf dieser Seite werden die erforderlichen Konfigurationen beschrieben, um Daten von Meta (Facebook und Instagram Ads) als Datenquelle der Marketing-Arbeitslast der Cortex Framework Data Foundation zu verwenden.

Meta ist ein Technologieunternehmen, das mehrere beliebte Onlineplattformen besitzt. Cortex Framework integriert Anzeigendaten von Instagram und Facebook, um sie zu analysieren, mit anderen Datenquellen zu kombinieren und mithilfe von KI detailliertere Informationen zu erhalten und Ihre Marketingstrategie zu optimieren.

Das folgende Diagramm zeigt, wie Meta-Marketingdaten über die Marketing-Arbeitslast der Cortex Framework Data Foundation verfügbar sind:

Metadatenquelle

Abbildung 1. Meta-Marketing-Datenquelle.

Konfigurationsdatei

In der Datei config.json werden die Einstellungen konfiguriert, die für die Verbindung zu Datenquellen zur Übertragung von Daten aus verschiedenen Arbeitslasten erforderlich sind. Diese Datei enthält die folgenden Parameter für Meta:

   "marketing": {
        "deployMeta": true,
        "Meta": {
            "deployCDC": true,
            "datasets": {
                "cdc": "",
                "raw": "",
                "reporting": "REPORTING_Meta"
            }
        }
    }

In der folgenden Tabelle wird der Wert für jeden Marketingparameter beschrieben:

Parameter Bedeutung Standardwert Beschreibung
marketing.deployMeta Metadaten bereitstellen true Führen Sie die Bereitstellung für die Datenquelle von Meta aus.
marketing.Meta.deployCDC CDC-Scripts für Meta bereitstellen true Meta CDC-Verarbeitungsscripts generieren, die als DAGs in Cloud Composer ausgeführt werden
marketing.Meta.datasets.cdc CDC-Datensatz für Meta CDC-Datensatz für Meta.
marketing.Meta.datasets.raw Rohdatensatz für Meta Rohdatensatz für Meta.
marketing.Meta.datasets.reporting Datensatz für Meta-Berichte "REPORTING_Meta" Datensatz für Meta-Berichte.

Datenmodell

In diesem Abschnitt wird das Datenmodell von Meta anhand eines Entitätsbeziehungsdiagramms (ERD) beschrieben.

Entitätsbeziehungsdiagramm für Meta

Abbildung 2 Meta: Entity Relationship Diagram (ERD).

Basisansichten

Dies sind die blauen Objekte in der ERD und sind Ansichten auf CDC-Tabellen mit minimalen Transformationen, um komplexe Datenstrukturen zu entpacken. Scripts in src/marketing/src/Meta/src/reporting/ddls ansehen

Berichtsdatenansichten

Dies sind die grünen Objekte in der ERD und Berichtsansichten, die zusammengefasste Messwerte enthalten. Scripts in src/marketing/src/Meta/src/reporting/ddls ansehen

API-Verbindung

Die Datenaufnahmevorlagen im Cortex-Framework für Meta verwenden die Meta Marketing API, um Berichtsattribute und ‑messwerte abzurufen. Die aktuellen Vorlagen verwenden die Version 21.0.

Meta erzwingt eine dynamische Ratenbegrenzung bei Abfragen der Marketing API. Wenn das Ratenlimit erreicht wird, werden DAGs für die Datenaufnahme von der Quelle in den Rohdatenspeicher möglicherweise nicht erfolgreich abgeschlossen. In solchen Fällen werden im Protokoll entsprechende Fehlermeldungen angezeigt. Bei der nächsten Ausführung der DAGs werden dann alle fehlenden Daten nachträglich geladen.

Die Meta Marketing API bietet zwei Zugriffsebenen: „Basic“ und „Standard“. Die Standardstufe bietet ein viel höheres Limit und wird empfohlen, wenn Sie die Datenaufnahme von „Quelle zu Rohdaten“ intensiv nutzen möchten. Weitere Informationen zu diesen Limits und dazu, wie Sie eine höhere Zugriffsebene erhalten, finden Sie in der Meta-Dokumentation.

Wenn Sie Zugriff auf die Standardstufe haben, können Sie den Wert der Einstellung next_request_delay_sec unter src/Meta/src/raw/pipelines/config.ini senken, um die Ladezeiten zu verkürzen.

API-Zugriff und Zugriffstoken

Die folgenden Schritte sind im Meta Business Manager und in der Developer Console erforderlich, um Daten aus Meta in das Cortex Framework zu übertragen.

  1. Eine App auswählen. Sie können eine neue App erstellen, die mit dem Unternehmenskonto verknüpft ist. Ihre App muss vom Typ Business sein.
  2. App-Berechtigungen einrichten Sie müssen der App als Administrator zugewiesen sein, bevor Sie damit Tokens erstellen können. Weitere Informationen finden Sie in der Dokumentation zu App-Rollen. Weisen Sie Ihrer App relevante Assets (Konten) zu.
  3. Erstellen Sie ein Zugriffstoken. Zugriffstokens sind für den Zugriff auf die Meta Marketing API erforderlich. Sie sind immer mit einer App und einem Nutzer verknüpft. Sie können das Token entweder mit einem Systemnutzer oder mit Ihrer eigenen Anmeldung erstellen.

    1. Erstellen Sie einen Administrator-Systemnutzer.
    2. Generiere ein Token. Notieren Sie sich das Token, sobald es generiert wurde, da es nicht wieder abgerufen werden kann, wenn Sie die Seite verlassen.
    3. Gewähren Sie Ihrem Token die Berechtigungen ads_read und business_management, um auf die unterstützten Objekte zuzugreifen.
  4. Folgen Sie der Cloud Composer-Dokumentation, um Secret Manager in Cloud Composer zu aktivieren. Erstellen Sie dann ein Secret mit dem Namen cortex_meta_access_token und speichern Sie das im vorherigen Schritt generierte Token als Inhalt.

Datenaktualität und Verzögerung

Im Allgemeinen ist die Datenaktualität für Cortex Framework-Datenquellen durch die Möglichkeiten der Upstream-Verbindung und die Häufigkeit der DAG-Ausführung begrenzt. Passen Sie die Ausführungshäufigkeit des DAG an die Upstream-Frequenz, die Ressourcenbeschränkungen und Ihre Geschäftsanforderungen an.

Mit der Meta Marketing API sind die meisten Daten (außer Conversions) nahezu in Echtzeit verfügbar. Sie können jedoch bis zu 28 Tage nach dem Ereignis angepasst werden.

Berechtigungen für Cloud Composer-Verbindungen

Erstellen Sie die folgenden Verbindungen in Cloud Composer. Weitere Informationen finden Sie in der Dokumentation zum Verwalten von Airflow-Verbindungen.

Verbindungsname Purpose
meta_raw_dataflow Für Meta Marketing API > BigQuery-Raw-Dataset
meta_cdc_bq Für die Übertragung von Rohdatensätzen > CDC-Datensätzen
meta_reporting_bq Für CDC-Datensatz > Datenübertragung für Berichtsdatensatz

Berechtigungen für das Cloud Composer-Dienstkonto

Gewähren Sie dem in Cloud Composer verwendeten Dienstkonto (wie in der meta_raw_dataflow-Verbindung konfiguriert) Dataflow-Berechtigungen. Weitere Informationen finden Sie in der Dataflow-Dokumentation. Das Dienstkonto benötigt außerdem die Berechtigung Secret Manager Secret Accessor. Weitere Informationen finden Sie in der Dokumentation zur Zugriffssteuerung.

Anfrageparameter

Das Verzeichnis src/Meta/config/request_parameters enthält eine API-Anfragespezifikationsdatei für jedes Entitätselement, das aus der Meta Marketing API extrahiert wird. Jede Anfragedatei enthält eine Liste der Felder, die aus der Meta Marketing API abgerufen werden sollen, ein Feld pro Zeile. Weitere Informationen finden Sie in der Meta Marketing API-Referenz.

Aufnahmeeinstellungen

Sie können die Source to Raw- und Raw to CDC-Datenpipelines über die Einstellungen in der Datei src/Meta/config/ingestion_settings.yaml steuern. In diesem Abschnitt werden die Parameter der einzelnen Datenpipelines beschrieben.

Von der Quelle zu Rohtabellen

In diesem Abschnitt finden Sie Einträge, mit denen gesteuert wird, welche Entitäten von APIs abgerufen werden und wie. Jeder Eintrag entspricht einer Meta Marketing API-Entität. Basierend auf dieser Konfiguration erstellt das Cortex-Framework Airflow-DAGs, die Dataflow-Pipelines ausführen, um Daten mithilfe von Meta Marketing APIs abzurufen.

Datei src/Meta/src/raw/pipelines/config.ini steuert einige Verhaltensweisen des Cloud Composer-DAG und die Verwendung von Meta Marketing APIs. Beschreibungen der einzelnen Parameter in der Datei

Die folgenden Parameter steuern die Einstellungen für Source to Raw für jeden Eintrag:

Parameter Beschreibung
base_table Tabelle im Rohdatensatz, in der die abgerufenen Daten gespeichert werden (z. B. customer).
load_frequency Wie oft wird ein DAG für diese Aktion ausgeführt, um Daten von Meta abzurufen. Weitere Informationen zu den möglichen Werten finden Sie in der Airflow-Dokumentation.
object_endpoint API-Endpunktpfad (z. B. campaigns für den Endpunkt /{account_id}/campaigns)
entity_type Tabellentyp (muss einer der folgenden sein: fact, dimension oder addaccount)).
object_id_column Spalten (durch Komma getrennt), die einen eindeutigen Datensatz für diese Tabelle bilden. Nur erforderlich, wenn entity_type fact ist.
breakdowns Optional:Aufschlüsselungsspalten (durch Komma getrennt) für Statistikendpunkte. Gilt nur, wenn entity_type fact ist.
action_breakdowns Optional:Spalten für die Aufschlüsselung von Aktionen (durch Kommas getrennt) für Statistikendpunkte. Gilt nur, wenn entity_type fact ist.
partition_details Optional:Wenn diese Tabelle aus Leistungsgründen partitioniert werden soll. Weitere Informationen finden Sie unter Tabellenpartition.
cluster_details Optional:Wenn Sie möchten, dass diese Tabelle aus Gründen der Leistung gruppiert wird. Weitere Informationen finden Sie unter Clustereinstellungen.

Rohdaten in CDC-Tabellen

In diesem Abschnitt werden die Einträge beschrieben, mit denen gesteuert wird, wie Daten aus Rohtabellen in CDC-Tabellen verschoben werden. Jeder Eintrag entspricht einer Rohtabelle, die wiederum dem Meta API-Entitätstyp entspricht.

Die folgenden Parameter steuern die Einstellungen für Raw to CDC für jeden Eintrag:

Parameter Beschreibung
base_table Tabelle, in der Rohdaten repliziert wurden. In einer Tabelle mit demselben Namen im CDC-Dataset werden die Rohdaten nach der CDC-Transformation gespeichert (z. B. campaign_insights).
row_identifiers Spalten (durch Komma getrennt), die einen eindeutigen Datensatz für diese Tabelle bilden.
load_frequency Gibt an, wie oft ein DAG für diese Entität ausgeführt wird, um die CDC-Tabelle zu füllen. Weitere Informationen zu den möglichen Werten finden Sie in der Airflow-Dokumentation.
partition_details Optional:Wenn diese Tabelle aus Leistungsgründen partitioniert werden soll. Weitere Informationen finden Sie unter Tabellenpartition.
cluster_details Optional:Wenn Sie möchten, dass diese Tabelle aus Gründen der Leistung gruppiert wird. Weitere Informationen finden Sie unter Clustereinstellungen.

CDC-Tabellenschema

Bei Metadaten werden alle Felder in der Rohdatenebene im Stringformat gespeichert. In der CDC-Ebene werden primitive Typen in relevante Geschäftsdatentypen konvertiert und alle komplexen Typen werden im BigQuery-JSON-Format gespeichert.

Um diese Konvertierung zu ermöglichen, enthält das Verzeichnis src/Meta/config/table_schema eine Schemadatei für jedes im Abschnitt raw_to_cdc_tables angegebene Element. Darin wird erläutert, wie jede BigQuery-Raw-Tabelle in eine CDC-Tabelle umgewandelt wird.

Jede Schemadatei enthält drei Spalten:

  • SourceField: Feldname der Rohtabelle für diese Entität.
  • TargetField: Spaltenname in der CDC-Tabelle für diese Entität.
  • DataType: Datentyp jedes Felds der CDC-Tabelle.

Berichtseinstellungen

Mit der Datei „Berichtseinstellungen“ (src/Meta/config/reporting_settings.yaml) können Sie konfigurieren und steuern, wie Cortex Daten für die Meta-Schicht der endgültigen Berichterstellung generiert. In dieser Datei wird festgelegt, wie BigQuery-Objekte der Berichtsschicht (Tabellen, Ansichten, Funktionen oder gespeicherte Prozeduren) generiert werden.

Weitere Informationen finden Sie unter Datei mit Berichtseinstellungen anpassen.

Nächste Schritte