Integrazione con Salesforce Marketing Cloud

Questa pagina descrive le configurazioni richieste per importare i dati da Salesforce Marketing Cloud (SFMC) come origine dati del carico di lavoro di marketing di Cortex Framework Data Foundation.

SFMC è una piattaforma di automazione del marketing digitale offerta da Salesforce. Fornisce alle aziende una suite completa di strumenti per gestire e automatizzare varie attività di marketing su più canali. Cortex Framework funge da motore di analisi dei dati e AI che ti aiuta a comprendere i risultati, identificare le aree di miglioramento e ottimizzare la tua strategia di marketing per ottenere risultati migliori.

Il seguente diagramma descrive come i dati SFMC sono disponibili tramite il workload di marketing di Cortex Framework Data Foundation:

Origine dati SFMC

Figura 1. Origine dati SFMC.

File di configurazione

Il file config.json configura le impostazioni necessarie per connettersi alle origini dati per il trasferimento dei dati da vari workload. Questo file contiene i seguenti parametri per SFMC:

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

La seguente tabella descrive il valore di ogni parametro di marketing:

Parametro Significato Valore predefinito Descrizione
marketing.deploySFMC Esegui il deployment di SFMC true Esegui il deployment per l'origine dati SFMC.
marketing.SFMC.deployCDC Esegui il deployment degli script CDC per SFMC true Genera script di elaborazione CDC di Salesforce Marketing Cloud (SFMC) da eseguire come DAG in Managed Airflow.
marketing.SFMC.fileTransferBucket Bucket con i file di estrazione dei dati - Bucket in cui sono archiviati i file di estrazione dati di Salesforce Marketing Cloud (SFMC) Automation Studio.
marketing.SFMC.datasets.cdc Set di dati CDC per SFMC Set di dati CDC per Salesforce Marketing Cloud (SFMC).
marketing.SFMC.datasets.raw Set di dati non elaborati per SFMC Set di dati non elaborati per Salesforce Marketing Cloud (SFMC).
marketing.SFMC.datasets.reporting Set di dati dei report per SFMC "REPORTING_SFMC" Set di dati dei report per Salesforce Marketing Cloud (SFMC).

Modello dati

Questa sezione descrive il modello di dati di Salesforce Marketing Cloud (SFMC) utilizzando il diagramma delle relazioni tra entità (ERD).

Diagramma delle relazioni tra entità per SFMC

Figura 2. Salesforce Marketing Cloud (SFMC): diagramma delle relazioni tra entità.

Visualizzazioni di base

Si tratta degli oggetti blu nel diagramma ERD e sono viste delle tabelle CDC senza trasformazioni, ad eccezione di alcuni alias dei nomi delle colonne. Vedi gli script in src/marketing/src/SFMC/src/reporting/ddls.

Viste report

Si tratta degli oggetti verdi nel diagramma ER e sono viste dei report che contengono metriche aggregate. Vedi gli script in src/marketing/src/SFMC/src/reporting/ddls.

Estrazione dei dati utilizzando Automation Studio

SFMC Automation Studio consente ai consumatori di SFMC di esportare i propri dati SFMC in vari sistemi di archiviazione. Cortex Framework Data Foundation cerca un insieme di file creati con Automation Studio in un bucket Cloud Storage. Devi anche utilizzare SFMC Email Studio in questo processo.

Per configurare i processi di estrazione ed esportazione dei dati:

  1. Configura un bucket Cloud Storage. Questo bucket archivia i file esportati da SFMC. Assegna al bucket il nome marketing.SFMC.fileTransferBucket config parameter. Consulta le istruzioni nella documentazione di Salesforce.
  2. Crea estensioni dei dati. Per ogni entità per cui vuoi estrarre i dati, crea un'estensione dati in Email Studio. Queste informazioni sono necessarie per identificare le origini dati dal database interno di SFMC.

    • Elenca tutti i campi definiti in src/SFMC/config/table_schema per l'entità. Se devi personalizzare questa operazione per estrarre più o meno campi, assicurati che l'elenco dei campi sia allineato in questi passaggi e nei file dello schema della tabella. Ad esempio:
      Entity: unsubscribe
      Fields:
      AccountID
      OYBAccountID
      JobID
      ListID
      BatchID
      SubscriberID
      SubscriberKey
      EventDate
      IsUnique
      Domain
    
  3. Crea attività di query SQL. Per ogni entità, crea un'attività di query SQL. Questa attività è collegata all'estensione dei dati corrispondente creata in precedenza. Per questo passaggio, consulta la documentazione di Salesforce :

    1. Definisci la query SQL con tutti i campi pertinenti. La query deve selezionare tutti i campi pertinenti all'entità definita nell' estensione dati nel passaggio precedente.
    2. Seleziona l'estensione dei dati corretta come target.
    3. Seleziona Sovrascrivi come azione sui dati.
    4. Vedi la seguente query di esempio:
      SELECT
        AccountID,
        OYBAccountID,
        JobID,
        ListID,
        BatchID,
        SubscriberID,
        SubscriberKey,
        EventDate,
        IsUnique,
        Domain
      FROM
        _Unsubscribe
    
  4. Crea attività di estrazione dei dati. Consulta la documentazione di Salesforce per creare un'attività di estrazione dei dati per ogni entità. Questa attività recupera i dati dall'estensione dati Salesforce e li estrae in un file CSV. Per questo passaggio:

    1. Utilizza il pattern di denominazione corretto. Deve corrispondere al pattern definito nelle impostazioni. Ad esempio, per l'entità Unsubscribe, il nome file può essere simile a unsubscribe_%%Year%%_%%Month%%_%%Day%% %%Hour%%.csv.
    2. Imposta Tipo di estrazione su Data Extension Extract.
    3. Seleziona le opzioni Ha intestazioni di colonna e Testo tra virgolette.
  5. Crea attività di conversione dei file per convertire il formato da UTF-16 a UTF-8. Per impostazione predefinita, Salesforce esporta i file CSV in UTF-16. In questo passaggio lo converti in formato UTF-8. Per ogni entità, crea un'altra attività di estrazione dei dati per la conversione dei file. Per questo passaggio:

    • Utilizza lo stesso pattern di nome file utilizzato nel passaggio precedente dell'attività di estrazione dei dati.
    • Imposta Tipo di estrazione su File Convert
    • Seleziona UTF8 dal menu a discesa in Convert To.
  6. Crea attività di trasferimento file. Crea un'attività di trasferimento file per ogni entità. Queste attività spostano i file CSV estratti da Salesforce Safehouse ai bucket Cloud Storage. Per questo passaggio:

    • Utilizza lo stesso pattern di nome file utilizzato nei passaggi precedenti.
    • Seleziona un bucket Cloud Storage configurato in precedenza nel processo come destinazione.
  7. Pianifica l'esecuzione. Una volta completate tutte le attività, configura pianificazioni automatizzate per eseguirle.

Aggiornamento e ritardo dei dati

Come regola generale, l'aggiornamento dei dati per le origini dati di Cortex Framework è limitato da ciò che consente la connessione upstream, nonché dalla frequenza di esecuzione del DAG. Modifica la frequenza di esecuzione del DAG in modo che sia in linea con la frequenza upstream, i vincoli delle risorse e le esigenze aziendali.

Con SFMC Automation Studio, il ritardo di aggiornamento dei dati dipende dal ritardo di pianificazione quando viene configurata l'esportazione dei dati.

Autorizzazioni per le connessioni Managed Service for Apache Airflow

Crea le seguenti connessioni in Managed Airflow. Per maggiori dettagli, consulta la documentazione sulla gestione delle connessioni Airflow.

Nome connessione Purpose
sfmc_raw_dataflow Per SFMC Extracted files > BigQueryRaw dataset.
sfmc_cdc_bq Per il set di dati non elaborati > trasferimento del set di dati CDC.
sfmc_reporting_bq Per il set di dati CDC > Trasferimento del set di dati dei report.

Autorizzazioni del account di servizio di Managed Airflow

Il account di servizio utilizzato in Managed Airflow (come configurato nella connessione sfmc_raw_dataflow) richiede autorizzazioni correlate a Dataflow. Consulta le istruzioni nella documentazione di Dataflow

Impostazioni di importazione

Controlla le pipeline di dati Source to Raw e Raw to CDC tramite le impostazioni nel file src/SFMC/config/ingestion_settings.yaml . Questa sezione descrive i parametri di ogni pipeline di dati.

Origine alle tabelle non elaborate

Questa sezione contiene voci che controllano l'utilizzo dei file estratti da Automation Studio. Ogni voce corrisponde a un'entità SFMC. In base a questa configurazione, Cortex Framework crea DAG Airflow che eseguono pipeline Dataflow per caricare i dati dai file esportati nelle tabelle BigQuery nel set di dati non elaborati.

La directory src/SFMC/config/table_schema contiene un file di schema per ogni entità estratta da SFMC. Ogni file spiega come leggere i file CSV estratti da Automaton Studio per caricarli correttamente nel set di dati BigQueryraw.

Ogni file di schema contiene tre colonne:

  • SourceField: Nome del campo del file CSV.
  • TargetField: Nome della colonna nella tabella non elaborata per questa entità.
  • DataType: Il tipo di dati di ogni campo della tabella non elaborata.

I seguenti parametri controllano le impostazioni per Source to Raw per ogni voce:

Parametro Descrizione
base_table Nome della tabella non elaborata in cui vengono caricati i dati estratti di un'entità SFMC.
load_frequency Con quale frequenza viene eseguito un DAG per questa entità per caricare i dati dai file estratti. Per saperne di più sui valori possibili, consulta la documentazione di Airflow.
file_pattern Pattern per il file di questa tabella esportato da Automation Studio nel bucket Cloud Storage. Modifica questa impostazione solo se hai scelto un nome diverso da quelli suggeriti per i file estratti.
partition_details Come viene partizionata la tabella non elaborata per motivi di prestazioni. Per ulteriori informazioni, vedi Partizione della tabella.
cluster_details (Facoltativo) Se vuoi che la tabella non elaborata venga raggruppata per motivi di prestazioni. Per saperne di più, vedi Impostazioni cluster.

Tabelle non elaborate in tabelle CDC

Questa sezione descrive quali voci controllano il modo in cui i dati vengono spostati dalle tabelle non elaborate alle tabelle CDC. Ogni voce corrisponde a una tabella non elaborata.

I seguenti parametri controllano le impostazioni per Raw to CDC per ogni voce:

Parametro Descrizione
base_table Tabella nel set di dati CDC in cui sono archiviati i dati non elaborati dopo la trasformazione CDC.
load_frequency La frequenza con cui viene eseguito un DAG per questa entità per popolare la tabella CDC. Per saperne di più sui valori possibili, consulta la documentazione di Airflow.
raw_table Tabella di origine del set di dati non elaborato.
row_identifiers Colonne (separate da virgole) che formano un record univoco per questa tabella.
partition_details Come viene partizionata la tabella CDC per considerazioni sulle prestazioni. Per ulteriori informazioni, vedi Partizione della tabella.
cluster_details (Facoltativo) Se vuoi che questa tabella venga raggruppata per motivi di rendimento. Per saperne di più, vedi Impostazioni cluster.

Impostazioni report

Puoi configurare e controllare il modo in cui Cortex Framework genera i dati per il livello di report finale di SFMC utilizzando il file delle impostazioni dei report (src/SFMC/config/reporting_settings.yaml). Questo file controlla la modalità di generazione degli oggetti BigQuery del livello di report (tabelle, viste,funzioni o procedure archiviate). Per ulteriori informazioni, vedi Personalizzare il file delle impostazioni dei report.

Passaggi successivi