Salesforce Marketing Cloud-Daten in BigQuery laden

Mit dem BigQuery Data Transfer Service für Salesforce Marketing Cloud-Connector können Sie Daten aus Salesforce Marketing Cloud in BigQuery laden. Mit dem BigQuery Data Transfer Service können Sie wiederkehrende Übertragungsjobs planen, mit denen Ihre neuesten Daten aus Salesforce Marketing Cloud zu BigQuery hinzugefügt werden.

Beschränkungen

Salesforce Marketing Cloud-Datenübertragungen unterliegen den folgenden Einschränkungen:

  • Eine einzelne Übertragungskonfiguration kann jeweils nur eine Datenübertragungsausführung unterstützen. Wenn eine zweite Datenübertragung geplant ist, bevor die erste Übertragung abgeschlossen ist, wird nur die erste Datenübertragung abgeschlossen. Alle anderen Datenübertragungen, die sich mit der ersten Übertragung überschneiden, werden übersprungen.
    • Wenn Sie übersprungene Übertragungen innerhalb einer einzelnen Übertragungskonfiguration vermeiden möchten, empfehlen wir, die Zeitspanne zwischen großen Datenübertragungen zu verlängern. Konfigurieren Sie dazu die Wiederholungshäufigkeit.
  • Wenn Sie einen Netzwerkanhang mit dieser Datenübertragung verwenden möchten, müssen Sie zuerst einen Netzwerkanhang erstellen, indem Sie eine statische IP-Adresse definieren.
  • Salesforce Marketing Cloud-Übertragungen unterstützen keine Datenerweiterungen, die binäre oder große Blob-Felder enthalten.
  • Wenn sich der konfigurierte Netzwerkanhang und die VM-Instanz in verschiedenen Regionen befinden, kann es beim Übertragen von Daten aus Salesforce Marketing Cloud zu regionsübergreifenden Datenverschiebungen kommen.

Hinweis

In den folgenden Abschnitten werden die Schritte beschrieben, die Sie vor dem Erstellen einer Salesforce Marketing Cloud-Datenübertragung ausführen müssen.

Voraussetzungen für Salesforce Marketing Cloud

Beim Erstellen einer Salesforce Marketing Cloud-Datenübertragung benötigen Sie folgende Informationen:

Parametername Beschreibung
subdomain Die API-Subdomain, die im Basis-URI enthalten ist. Im Authentifizierungs-Basis-URI https://SUBDOMAIN.auth.marketingcloudapis.com/ ist beispielsweise SUBDOMAIN der Subdomainwert.
instance Die API-Serverinstanz, die in der URL enthalten ist, nachdem Sie sich bei der Salesforce Marketing Cloud-Anwendung angemeldet haben. Der Instanzwert enthält „s“, gefolgt von einem numerischen Wert. In der URL `https://mc.s4.exacttarget.com/` lautet der Instanzwert beispielsweise `s4`. Weitere Informationen finden Sie unter Stack-Speicherort für ein Marketing Cloud-Konto ermitteln.
clientId Die Client-ID aus der API-Integration. Gehen Sie zu Einrichtung > Apps > Installierte Pakete und klicken Sie dann auf den Paketnamen. Die Client-ID ist unter Komponenten aufgeführt.
clientSecret Den Clientschlüssel der App-Integration. Gehen Sie zu Einrichtung > Apps > Installierte Pakete und klicken Sie dann auf den Paketnamen. Der Clientschlüssel ist unter Komponenten aufgeführt.
Salesforce Marketing Cloud objects to transfer Erstellen Sie eine Liste der Salesforce Marketing Cloud-Objekte, die in diese Übertragung einbezogen werden sollen. Sie können Objekte auswählen, wenn Sie eine Übertragungskonfiguration einrichten. Eine Liste der unterstützten Objekte finden Sie unter Unterstützte Tabellen.

IP-Zulassungsliste für Salesforce Marketing Cloud-Übertragungen einrichten

Sie müssen Ihre Google Cloud -Umgebung und Ihr Salesforce Marketing Cloud-Konto so konfigurieren, dass bestimmte IP-Adressen der Zulassungsliste für Datenübertragungen hinzugefügt werden. So wird sichergestellt, dass Salesforce Marketing Cloud nur Verbindungen von einer vertrauenswürdigen, statischen IP-Adresse akzeptiert.

Dazu müssen Sie zuerst Ihr Google Cloud -Netzwerk so einrichten und konfigurieren, dass es eine statische IP-Adresse verwendet:

  1. Richten Sie eine öffentliche Network Address Translation (NAT) mit einer statischen IP-Adresse in Ihrem Virtual Private Cloud-Netzwerk ein. Cloud NAT muss in derselben Region wie das Ziel-Dataset für diese Datenübertragung konfiguriert sein.
  2. Richten Sie einen Netzwerkanhang im selben VPC-Netzwerk ein. Diese Ressource wird von BigQuery Data Transfer Service für den Zugriff auf private Dienste verwendet.

Als Nächstes müssen Sie die statische IP-Adresse der Zulassungsliste in Salesforce Marketing Cloud hinzufügen. Verwenden Sie beim Hinzufügen des IP-Adressbereichs die statische IP-Adresse aus IhrerGoogle Cloud Public NAT sowohl für die Anfangs- als auch für die End-IP-Adresse des IP-Bereichs.

Nachdem Sie die IP-Bereiche eingerichtet haben, können Sie die statische IP-Adresse angeben, wenn Sie die Übertragungskonfiguration einrichten. Wählen Sie dazu den Netzwerkanhang im Feld Netzwerkanhang aus.

Anforderungen an Datenerweiterungsobjekte

Damit Datenerweiterungsobjekte in die Datenübertragung einbezogen werden können, müssen sie die folgenden Anforderungen erfüllen:

  • Der Name des Datenerweiterungsobjekts muss das Präfix DataExtensionObject gefolgt vom Objektnamen enthalten. Beispiel: DataExtensionObject_DATA_EXTENSION_NAME
  • Sie müssen den Bereich Read für das Datenerweiterungsobjekt aktivieren.
  • Die Dateispeicherorte des Datenerweiterungsobjekts müssen die Bereiche Read und Write haben.

Salesforce Marketing Cloud API-Integrationspaket installieren und konfigurieren

Sie müssen ein Server-zu-Server-API-Integrationspaket in Salesforce Marketing Cloud installieren. Dazu können Sie in Salesforce Marketing Cloud ein neues installiertes Paket installieren und die Komponente API-Integration > Server-zu-Server angeben. Weitere Informationen finden Sie unter Pakete erstellen und installieren.

Nachdem Sie das API-Integrationspaket installiert haben, müssen Sie die folgenden Berechtigungsbereiche hinzufügen:

  • Zugriff: Offline Access
  • E-Mail-Adresse: Read
  • OTT: Read
  • Push:Read
  • SMS:Read
  • Web: Read
  • Dokumente und Bilder: Read
  • Gespeicherte Inhalte: Read
  • Fahrten: Read
  • Zielgruppen: Read
  • Liste und Abonnenten: Read
  • Datumsangaben: Read
  • Dateispeicherorte Read
  • Tracking-Ereignisse: Read
  • Rückrufe: Read
  • Abos: Read
  • Kampagne: Read
  • Assets: Read
  • Konten: Read
  • OTT-Kanäle: Read
  • Nutzer: Read

Weitere Informationen finden Sie unter API Integration Permission Scopes.

Voraussetzungen für BigQuery

Erforderliche BigQuery-Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle BigQuery-Administrator (roles/bigquery.admin) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen einer BigQuery Data Transfer Service-Datenübertragung benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen einer BigQuery Data Transfer Service-Datenübertragung erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen, um die notwendigen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Erstellen einer BigQuery Data Transfer Service-Datenübertragung erforderlich:

  • Berechtigungen für BigQuery Data Transfer Service:
    • bigquery.transfers.update
    • bigquery.transfers.get
  • BigQuery-Berechtigungen:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Weitere Informationen finden Sie unter bigquery.admin-Zugriff gewähren.

Salesforce Marketing Cloud-Datenübertragung einrichten

Fügen Sie Salesforce Marketing Cloud-Daten zu BigQuery hinzu, indem Sie eine Übertragungskonfiguration mit einer der folgenden Optionen einrichten:

Console

  1. Rufen Sie in der Google Cloud Console die Seite „Datenübertragungen“ auf.

    Zu „Datenübertragungen”

  2. Klicken Sie auf Übertragung erstellen.

  3. Wählen Sie im Abschnitt Quelltyp als Quelle die Option Salesforce Marketing Cloud aus.

  4. Führen Sie im Abschnitt Details zur Datenquelle folgende Schritte aus:

  5. Wählen Sie im Abschnitt Zieleinstellungen für Dataset das Dataset aus, das Sie zum Speichern Ihrer Daten erstellt haben.

  6. Geben Sie im Abschnitt Konfigurationsname für Übertragung als Anzeigename einen Namen für die Datenübertragung ein.

  7. Führen Sie im Abschnitt Zeitplanoptionen folgende Schritte aus:

    • Wählen Sie in der Liste Wiederholungshäufigkeit aus, wie oft diese Datenübertragung ausgeführt werden soll. Wenn Sie eine benutzerdefinierte Wiederholungshäufigkeit angeben möchten, wählen Sie Benutzerdefiniert aus. Wenn Sie On demand auswählen, wird diese Datenübertragung ausgeführt, wenn Sie die Übertragung manuell auslösen.
    • Wählen Sie gegebenenfalls Jetzt starten oder Zu festgelegter Zeit starten aus und geben Sie ein Startdatum und eine Laufzeit an.
  8. Optional: Gehen Sie im Abschnitt Benachrichtigungsoptionen so vor:

    • Klicken Sie zum Aktivieren von E‑Mail-Benachrichtigungen auf den Ein/Aus-Button E‑Mail-Benachrichtigung. Wenn Sie diese Option aktivieren, erhält der Übertragungsadministrator eine E‑Mail-Benachrichtigung, falls ein Übertragungsvorgang fehlschlägt.
    • Klicken Sie auf den Ein/Aus-Button Pub/Sub-Benachrichtigungen, um Pub/Sub-Ausführungsbenachrichtigungen für diese Übertragung zu aktivieren. Sie können den Namen für das Thema auswählen oder auf Thema erstellen klicken, um eines zu erstellen.
  9. Klicken Sie auf Speichern.

bq

Geben Sie den Befehl bq mk ein und geben Sie das Flag --transfer_config für die Übertragungserstellung an.

bq mk
    --transfer_config
    --project_id=PROJECT_ID
    --data_source=DATA_SOURCE
    --display_name=DISPLAY_NAME
    --target_dataset=DATASET
    --params='PARAMETERS'

Ersetzen Sie Folgendes:

  • PROJECT_ID (optional): Ihre Google Cloud -Projekt-ID. Wenn --project_id nicht bereitgestellt wird, um ein bestimmtes Projekt anzugeben, wird das Standardprojekt verwendet.
  • DATA_SOURCE: Die Datenquelle (z. B. saphana).
  • DISPLAY_NAME: Der Anzeigename für die Übertragungskonfiguration. Der Datenübertragungsname kann ein beliebiger Wert sein, mit dem Sie die Übertragung identifizieren können, wenn Sie sie später ändern müssen.
  • DATASET: Das Ziel-Dataset für die Übertragungskonfiguration.
  • PARAMETERS: die Parameter für die erstellte Übertragungskonfiguration im JSON-Format. Beispiel: --params='{"param":"param_value"}'. Im Folgenden finden Sie die Parameter für eine Salesforce Marketing Cloud-Übertragung:
    • connector.subdomain: Die API-Subdomain.
    • connector.instance: Der Wert der API-Instanz.
    • connector.authentication.oauth.clientId: Der Name der Anwendungs-ID für den OAuth-Client.
    • connector.authentication.oauth.clientSecret: Der Anwendungsschlüssel für den OAuth-Client.
    • assets: eine Liste der Namen der Salesforce Marketing Cloud-Tabellen, die im Rahmen der Übertragung aus Salesforce Marketing Cloud übertragen werden sollen.

Mit dem folgenden Befehl wird beispielsweise eine Salesforce Marketing Cloud-Datenübertragung im Standardprojekt mit allen erforderlichen Parametern erstellt:

  bq mk
      --transfer_config
      --target_dataset=mydataset
      --data_source=salesforce_marketing
      --display_name='My Transfer'
      --params='{"connector.subdomain": "abcd",
      "connector.instance": "x",
      "connector.authentication.oauth.clientId": "1234567890",
      "connector.authentication.oauth.clientSecret":"ABC12345"}'

API

Verwenden Sie die Methode projects.locations.transferConfigs.create und geben Sie eine Instanz der Ressource TransferConfig an.

Wenn Sie die Übertragungskonfiguration speichern, löst der Salesforce Marketing Cloud-Connector automatisch einen Übertragungslauf gemäß Ihrer Zeitplanoption aus.

Unterstützte Tabellen

Bei jeder Übertragungsausführung überträgt der Salesforce Marketing Cloud-Connector alle verfügbaren Daten von Salesforce Marketing Cloud in BigQuery in die folgenden Tabellen, die auf der REST-Schnittstelle basieren:

  • Assets
  • CampaignAssets
  • Campaigns
  • Categories
  • EventDefinitions
  • FacebookMessengerProperties
  • JourneyActivities
  • Journeys
  • LineMessengerProperties
  • SendDefinitions
  • Subscriptions
  • DataExtension
  • DataExtensionObject_DATA_EXTENSION_NAME
  • Email
  • LinkSend
  • List
  • ListSubscriber
  • Subscriber
  • TriggeredSendDefinition

Wenn Sie eine Datenübertragung außerhalb Ihres regulären Zeitplans manuell ausführen möchten, können Sie einen Backfill-Vorgang starten.

Datentypzuordnung

In der folgenden Tabelle werden Salesforce Marketing Cloud-Datentypen den entsprechenden BigQuery-Datentypen zugeordnet.

Salesforce Marketing Cloud-Datentyp BigQuery-Datentyp
Boolean BOOLEAN
Number INTEGER
Text STRING
Decimal FLOAT
EmailAddress STRING
Phone STRING
Date DATE
DateTime TIMESTAMP
Locale STRING

Fehler bei der Übertragungseinrichtung beheben

Wenn bei der Einrichtung oder Ausführung von Salesforce Marketing Cloud-Datenübertragungen Probleme auftreten, führen Sie die folgenden Schritte zur Fehlerbehebung aus:

  • Prüfen Sie, ob das API-Integrationspaket in Salesforce Marketing Cloud speziell für die Server-zu-Server -Authentifizierung konfiguriert ist.
  • Stellen Sie sicher, dass die Authentifizierungs-App mit allen erforderlichen Berechtigungen unter Bereich konfiguriert ist, einschließlich Data Extensions: Read.
  • Um Zeitüberschreitungen und zeitweilige Fehler zu vermeiden, sollten Sie jede Übertragungskonfiguration auf maximal 10 Assets beschränken.
  • Prüfen Sie, ob Sie Datenerweiterungen übertragen, die binäre oder große Blob-Felder enthalten.

Fehlermeldungen

Fehler: invalid_grant. The client's IP address is unauthorized for this account. Allowlist the client's IP address in Marketing Cloud Administration.

Lösung: Versuchen Sie Folgendes:

Fehler: INVALID_ARGUMENT. Table tableName does not exist in asset TableName

Lösung: Achten Sie darauf, dass der Asset-Name genau mit dem Namen in Ihrem Salesforce Marketing Cloud-Konto übereinstimmt (Groß-/Kleinschreibung beachten) und dass der Bereich Data Extensions: Read gewährt wurde. Beim Übertragen von Zeilendaten für eine Datenerweiterung muss der Name genau dem Muster DataExtensionObject_DATA_EXTENSION_NAME entsprechen. Weitere Informationen finden Sie unter Voraussetzungen für Salesforce Marketing Cloud.

Problem: Übertragung erfolgreich, aber keine Datensätze geladen

Lösung: Sie benötigen sowohl die Berechtigung Read als auch Write für Dateispeicherorte, um den Inhalt einer Datenerweiterung lesen zu können. Prüfen Sie, ob Ihre Salesforce Marketing Cloud-Bereiche File Locations: Read, Write enthalten.

Fehler: FAILED_PRECONDITION: There was an issue connecting to API.

Lösung: Dieser Fehler kann auftreten, wenn Sie einen Netzwerkanhang in Ihre Übertragung einbeziehen, aber Public NAT nicht konfiguriert und Ihre IP-Zulassungsliste nicht eingerichtet haben. Um diesen Fehler zu beheben, folgen Sie der Anleitung unter Netzwerkanhang erstellen und erstellen Sie Ihren Netzwerkanhang, indem Sie eine statische IP-Adresse definieren.

Preise

Preisinformationen zu Salesforce Marketing Cloud-Übertragungen finden Sie unter Preise für den Data Transfer Service.

Nächste Schritte