Intégration à Salesforce Marketing Cloud

Cette page décrit les configurations requises pour importer des données à partir de Salesforce Marketing Cloud (SFMC) en tant que source de données de la charge de travail marketing de Cortex Framework Data Foundation.

SFMC est une plate-forme d'automatisation du marketing digital proposée par Salesforce. Il fournit aux entreprises une suite complète d'outils pour gérer et automatiser diverses activités marketing sur plusieurs canaux. Cortex Framework sert de moteur d'analyse de données et d'IA qui vous aide à comprendre les résultats, à identifier les axes d'amélioration et à optimiser votre stratégie marketing pour obtenir de meilleurs résultats.

Le diagramme suivant décrit comment les données SFMC sont disponibles via la charge de travail marketing de Cortex Framework Data Foundation:

Source de données SFMC

Figure 1 Source de données SFMC

Fichier de configuration

Le fichier config.json configure les paramètres requis pour se connecter aux sources de données afin de transférer des données à partir de diverses charges de travail. Ce fichier contient les paramètres suivants pour SFMC:

   "marketing": {
        "deploySFMC": true,
        "SFMC": {
            "deployCDC": true,
            "fileTransferBucket": "",
            "datasets": {
                "cdc": "",
                "raw": "",
                "reporting": "REPORTING_SFMC"
            }
        }
    }

Le tableau suivant décrit la valeur de chaque paramètre marketing:

Paramètre Signification Valeur par défaut Description
marketing.deploySFMC Déployer SFMC true Exécutez le déploiement pour la source de données SFMC.
marketing.SFMC.deployCDC Déployer des scripts CDC pour SFMC true Générez des scripts de traitement CDC Salesforce Marketing Cloud (SFMC) à exécuter en tant que DAG dans Cloud Composer.
marketing.SFMC.fileTransferBucket Bucket contenant les fichiers d'extraction de données - Bucket dans lequel les fichiers d'extraction de données Automation Studio Salesforce Marketing Cloud (SFMC) sont stockés.
marketing.SFMC.datasets.cdc Ensemble de données CDC pour SFMC Ensemble de données CDC pour Salesforce Marketing Cloud (SFMC)
marketing.SFMC.datasets.raw Ensemble de données brut pour SFMC Ensemble de données brut pour Salesforce Marketing Cloud (SFMC).
marketing.SFMC.datasets.reporting Ensemble de données de reporting pour SFMC "REPORTING_SFMC" Ensemble de données de reporting pour Salesforce Marketing Cloud (SFMC).

Modèle de données

Cette section décrit le modèle de données Salesforce Marketing Cloud (SFMC) à l'aide du diagramme des relations entre entités (ERD).

Diagramme des relations entre les entités pour SFMC

Figure 2 Salesforce Marketing Cloud (SFMC): diagramme des relations entre les entités.

Vues de base

Il s'agit des objets bleus de l'ERD. Il s'agit de vues sur les tables CDC sans autre transformation que certains alias de nom de colonne. Consultez les scripts dans src/marketing/src/SFMC/src/reporting/ddls.

Vues de rapports

Il s'agit des objets verts de l'ERD. Il s'agit de vues de rapports contenant des métriques agrégées. Consultez les scripts dans src/marketing/src/SFMC/src/reporting/ddls.

Extraction de données à l'aide d'Automation Studio

SFMC Automation Studio permet aux utilisateurs de SFMC d'exporter leurs données SFMC vers différents systèmes de stockage. Cortex Framework Data Foundation recherche un ensemble de fichiers créés avec Automation Studio dans un bucket Cloud Storage. Vous devez également utiliser Email Studio SFMC dans ce processus.

Pour configurer les processus d'extraction et d'exportation des données, procédez comme suit:

  1. Configurez un bucket Cloud Storage. Ce bucket stocke les fichiers exportés depuis SFMC. Attribuez un nom au paramètre de configuration marketing.SFMC.fileTransferBucket du bucket. Consultez les instructions de la documentation Salesforce.
  2. Créez des extensions de données. Pour chaque entité pour laquelle vous souhaitez extraire des données, créez une extension de données dans Email Studio. Cela permet d'identifier les sources de données à partir de la base de données interne de SFMC.

    • Liste tous les champs définis dans src/SFMC/config/table_schema pour l'entité. Si vous devez personnaliser cette opération pour extraire plus ou moins de champs, assurez-vous que la liste des champs est alignée dans ces étapes, ainsi que dans les fichiers de schéma de table. Exemple :
      Entity: unsubscribe
      Fields:
      AccountID
      OYBAccountID
      JobID
      ListID
      BatchID
      SubscriberID
      SubscriberKey
      EventDate
      IsUnique
      Domain
    
  3. Créez des activités de requête SQL. Pour chaque entité, créez une activité de requête SQL. Cette activité est associée à l'extension de données correspondante créée précédemment. Pour cette étape, consultez la documentation Salesforce :

    1. Définissez la requête SQL avec tous les champs pertinents. La requête doit sélectionner tous les champs pertinents pour l'entité définie dans l'extension de données à l'étape précédente.
    2. Sélectionnez la bonne extension de données comme cible.
    3. Sélectionnez Écraser comme action de données.
    4. Consultez l'exemple de requête suivant:
      SELECT
        AccountID,
        OYBAccountID,
        JobID,
        ListID,
        BatchID,
        SubscriberID,
        SubscriberKey,
        EventDate,
        IsUnique,
        Domain
      FROM
        _Unsubscribe
    
  4. Créez des activités d'extraction de données. Consultez la documentation Salesforce pour créer une activité d'extraction de données pour chaque entité. Cette activité récupère les données de l'extension de données Salesforce et les extrait dans un fichier CSV. Pour cette étape:

    1. Utilisez le format de nom approprié. Il doit correspondre au modèle défini dans les paramètres. Par exemple, pour l'entité Unsubscribe, le nom de fichier peut être unsubscribe_%%Year%%_%%Month%%_%%Day%% %%Hour%%.csv.
    2. Définissez Extract Type (Type d'extraction) sur Data Extension Extract.
    3. Sélectionnez les options A des en-têtes de colonnes et Text Qualified (Texte qualifié).
  5. Créez des activités de conversion de fichiers pour convertir le format UTF-16 en UTF-8. Par défaut, Salesforce exporte les fichiers CSV au format UTF-16. À cette étape, vous le convertissez au format UTF-8. Pour chaque entité, créez une autre activité d'extraction de données pour la conversion de fichiers. Pour cette étape:

    • Utilisez le même format de nom de fichier que celui utilisé à l'étape précédente de l'activité d'extraction de données.
    • Définissez Type d'extraction sur File Convert.
    • Sélectionnez UTF8 dans le menu déroulant à l'emplacement Convert To.
  6. Créez des activités de transfert de fichiers. Créez une activité de transfert de fichiers pour chaque entité. Ces activités déplacent les fichiers CSV extraits de Salesforce Safehouse vers des buckets Cloud Storage. Pour cette étape:

    • Utilisez le même format de nom de fichier que dans les étapes précédentes.
    • Sélectionnez un bucket Cloud Storage configuré précédemment dans le processus comme destination.
  7. Planifiez l'exécution. Une fois toutes les activités terminées, configurez des plannings automatisés pour les exécuter.

Fraîcheur des données et délai

En règle générale, la fraîcheur des données pour les sources de données Cortex Framework est limitée par ce que la connexion en amont permet, ainsi que par la fréquence d'exécution de votre DAG. Ajustez la fréquence d'exécution de votre DAG pour l'aligner sur la fréquence en amont, les contraintes de ressources et vos besoins métier.

Avec SFMC Automation Studio, le délai de fraîcheur des données dépend du délai de planification lors de la configuration de l'exportation des données.

Autorisations de connexion Cloud Composer

Créez les connexions suivantes dans Cloud Composer. Pour en savoir plus, consultez la documentation sur la gestion des connexions Airflow.

Nom de la connexion Purpose
sfmc_raw_dataflow Pour les fichiers extraits SFMC > Ensemble de données BigQueryRaw.
sfmc_cdc_bq Pour "Ensemble de données brut" > "Transfert d'ensemble de données CDC".
sfmc_reporting_bq Pour l'ensemble de données CDC : > Transfert de l'ensemble de données de reporting.

Autorisations du compte de service Cloud Composer

Le compte de service utilisé dans Cloud Composer (tel que configuré dans la connexion sfmc_raw_dataflow) a besoin d'autorisations liées à Dataflow. Consultez les instructions dans la documentation Dataflow.

Paramètres d'ingestion

Contrôlez les pipelines de données Source to Raw et Raw to CDC via les paramètres du fichier src/SFMC/config/ingestion_settings.yaml . Cette section décrit les paramètres de chaque pipeline de données.

Source des tables brutes

Cette section contient des entrées qui contrôlent l'utilisation des fichiers extraits d'Automation Studio. Chaque entrée correspond à une entité SFMC. Sur la base de cette configuration, Cortex Framework crée des DAG Airflow qui exécutent des pipelines Dataflow pour charger les données des fichiers exportés dans des tables BigQuery dans un ensemble de données brut.

Le répertoire src/SFMC/config/table_schema contient un fichier de schéma pour chaque entité extraite de SFMC. Chaque fichier explique comment lire les fichiers CSV extraits d'Automaton Studio afin de les charger correctement dans l'ensemble de données BigQuery raw.

Chaque fichier de schéma contient trois colonnes:

  • SourceField: nom du champ du fichier CSV.
  • TargetField: nom de la colonne dans la table brute de cette entité.
  • DataType: type de données de chaque champ de table brut.

Les paramètres suivants contrôlent les paramètres de Source to Raw pour chaque entrée:

Paramètre Description
base_table Nom de la table brute dans laquelle les données extraites d'une entité SFMC sont chargées.
load_frequency Fréquence à laquelle un DAG pour cette entité s'exécute pour charger des données à partir de fichiers extraits. Pour en savoir plus sur les valeurs possibles, consultez la documentation Airflow.
file_pattern Modèle de fichier pour cette table exportée depuis Automation Studio vers un bucket Cloud Storage. Ne modifiez ce paramètre que si vous avez choisi un nom différent de ceux suggérés pour les fichiers extraits.
partition_details Comment la table brute est partitionnée pour des raisons de performances Pour en savoir plus, consultez la section Partitionnement de table.
cluster_details Facultatif:si vous souhaitez que le tableau brut soit regroupé pour des raisons de performances. Pour en savoir plus, consultez la section Paramètres du cluster.

Tables brutes vers CDC

Cette section décrit les entrées qui contrôlent le transfert de données des tables brutes vers les tables CDC. Chaque entrée correspond à une table brute.

Les paramètres suivants contrôlent les paramètres de Raw to CDC pour chaque entrée:

Paramètre Description
base_table Table de l'ensemble de données CDC dans laquelle les données brutes après la transformation CDC sont stockées.
load_frequency Fréquence d'exécution d'un DAG pour cette entité afin de renseigner la table CDC. Pour en savoir plus sur les valeurs possibles, consultez la documentation Airflow.
raw_table Tableau source de l'ensemble de données brut.
row_identifiers Colonnes (séparées par une virgule) qui constituent un enregistrement unique pour cette table.
partition_details Comment la table CDC est partitionnée pour des raisons de performances Pour en savoir plus, consultez la section Partitionnement de table.
cluster_details Facultatif:indiquez si vous souhaitez que ce tableau soit regroupé pour des raisons de performances. Pour en savoir plus, consultez la section Paramètres du cluster.

Paramètres de création de rapports

Vous pouvez configurer et contrôler la façon dont Cortex Framework génère des données pour la couche de reporting finale de SFMC à l'aide du fichier de paramètres de reporting (src/SFMC/config/reporting_settings.yaml). Ce fichier contrôle la génération des objets BigQuery de la couche de reporting (tables, vues,fonctions ou procédures stockées). Pour en savoir plus, consultez Personnaliser le fichier de paramètres de création de rapports.

Étape suivante