Integrasi dengan Salesforce Marketing Cloud

Halaman ini menjelaskan konfigurasi yang diperlukan untuk mengambil data dari Salesforce Marketing Cloud (SFMC) sebagai sumber data beban kerja pemasaran Cortex Framework Data Foundation.

SFMC adalah platform otomatisasi pemasaran digital yang ditawarkan oleh Salesforce. Platform ini menyediakan rangkaian alat yang komprehensif bagi bisnis untuk mengelola dan mengotomatiskan berbagai aktivitas pemasaran di beberapa saluran. Cortex Framework bertindak sebagai mesin analisis data dan AI yang membantu Anda memahami hasil, mengidentifikasi area yang perlu ditingkatkan, dan mengoptimalkan strategi pemasaran untuk mendapatkan hasil yang lebih baik.

Diagram berikut menjelaskan cara data SFMC tersedia melalui beban kerja pemasaran Cortex Framework Data Foundation:

Sumber data SFMC

Gambar 1. Sumber data SFMC.

File konfigurasi

File config.json mengonfigurasi setelan yang diperlukan untuk terhubung ke sumber data guna mentransfer data dari berbagai beban kerja. File ini berisi parameter berikut untuk SFMC:

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

Tabel berikut menjelaskan nilai untuk setiap parameter pemasaran:

Parameter Artinya Nilai Default Deskripsi
marketing.deploySFMC Men-deploy SFMC true Menjalankan deployment untuk sumber data SFMC.
marketing.SFMC.deployCDC Men-deploy skrip CDC untuk SFMC true Membuat skrip pemrosesan CDC Salesforce Marketing Cloud (SFMC) untuk dijalankan sebagai DAG di Managed Airflow.
marketing.SFMC.fileTransferBucket Bucket dengan file Ekstrak Data - Bucket tempat file Ekstrak Data Automation Studio Salesforce Marketing Cloud (SFMC) disimpan.
marketing.SFMC.datasets.cdc Set data CDC untuk SFMC Set data CDC untuk Salesforce Marketing Cloud (SFMC).
marketing.SFMC.datasets.raw Set data mentah untuk SFMC Set data mentah untuk Salesforce Marketing Cloud (SFMC).
marketing.SFMC.datasets.reporting Set data pelaporan untuk SFMC "REPORTING_SFMC" Set data pelaporan untuk Salesforce Marketing Cloud (SFMC).

Model Data

Bagian ini menjelaskan Model Data Salesforce Marketing Cloud (SFMC) menggunakan Diagram Hubungan Entity (ERD).

Diagram Hubungan Entity untuk SFMC

Gambar 2. Salesforce Marketing Cloud (SFMC): Diagram Hubungan Entity.

Tampilan dasar

Ini adalah objek biru di ERD dan merupakan tampilan pada tabel CDC tanpa transformasi selain beberapa alias nama kolom. Lihat skrip di src/marketing/src/SFMC/src/reporting/ddls.

Tampilan pelaporan

Ini adalah objek hijau di ERD dan merupakan tampilan pelaporan yang berisi metrik gabungan. Lihat skrip di src/marketing/src/SFMC/src/reporting/ddls.

Ekstraksi Data menggunakan Automation Studio

SFMC Automation Studio memungkinkan konsumen SFMC mengekspor data SFMC mereka ke berbagai sistem penyimpanan. Cortex Framework Data Foundation mencari sekumpulan file yang dibuat dengan Automation Studio di bucket Cloud Storage. Anda juga perlu menggunakan SFMC Email Studio dalam proses ini.

Untuk menyiapkan proses ekstrak dan ekspor data, ikuti langkah-langkah berikut:

  1. Siapkan bucket Cloud Storage. Bucket ini menyimpan file yang diekspor dari SFMC. Beri nama bucket parameter konfigurasi marketing.SFMC.fileTransferBucket. Lihat petunjuk dalam dokumentasi Salesforce.
  2. Buat ekstensi data. Untuk setiap entity yang datanya ingin Anda ekstrak, buat Ekstensi Data di Email Studio. Hal ini diperlukan untuk mengidentifikasi sumber data dari database internal SFMC.

    • Buat daftar semua kolom yang ditentukan di src/SFMC/config/table_schema untuk entity. Jika Anda perlu menyesuaikannya untuk mengekstrak lebih banyak atau lebih sedikit kolom, pastikan daftar kolom selaras dalam langkah-langkah ini serta dalam file skema tabel. Contoh:
      Entity: unsubscribe
      Fields:
      AccountID
      OYBAccountID
      JobID
      ListID
      BatchID
      SubscriberID
      SubscriberKey
      EventDate
      IsUnique
      Domain
    
  3. Buat aktivitas kueri SQL. Untuk setiap entity, buat a Aktivitas Kueri SQL. Aktivitas ini terhubung ke ekstensi data yang sesuai yang dibuat sebelumnya. Lihat dokumentasi Salesforce untuk langkah ini:

    1. Tentukan kueri SQL dengan semua kolom yang relevan. Kueri harus memilih semua kolom yang relevan dengan entity yang ditentukan dalam ekstensi data pada langkah sebelumnya.
    2. Pilih ekstensi data yang benar sebagai target.
    3. Pilih Overwrite sebagai Tindakan Data.
    4. Lihat contoh kueri berikut:
      SELECT
        AccountID,
        OYBAccountID,
        JobID,
        ListID,
        BatchID,
        SubscriberID,
        SubscriberKey,
        EventDate,
        IsUnique,
        Domain
      FROM
        _Unsubscribe
    
  4. Buat aktivitas ekstrak data. Lihat dokumentasi Salesforce untuk membuat Aktivitas Ekstrak Data untuk setiap entity. Aktivitas ini mengambil data dari Ekstensi Data Salesforce dan mengekstraknya ke file CSV. Untuk langkah ini:

    1. Gunakan pola penamaan yang benar. Pola penamaan harus cocok dengan pola yang ditentukan dalam setelan. Misalnya, untuk entity Unsubscribe, nama file dapat berupa unsubscribe_%%Year%%_%%Month%%_%%Day%% %%Hour%%.csv.
    2. Tetapkan Extract Type ke Data Extension Extract.
    3. Pilih opsi Has column Headers dan Text Qualified.
  5. Buat aktivitas konversi file untuk mengonversi format dari UTF-16 ke UTF-8. Secara default, Salesforce mengekspor file CSV dalam UTF-16. Pada langkah ini, Anda akan mengonversinya ke format UTF-8. Untuk setiap entity, buat Aktivitas Ekstrak Data, untuk konversi file. Untuk langkah ini:

    • Gunakan pola nama file yang sama yang digunakan pada langkah sebelumnya dari Aktivitas Ekstraksi Data.
    • Tetapkan Extract Type ke File Convert
    • Pilih UTF8 dari menu drop-down di Convert To.
  6. Buat aktivitas transfer file. Buat Aktivitas Transfer File untuk setiap entity. Aktivitas ini memindahkan file CSV yang diekstrak dari Salesforce Safehouse ke bucket Cloud Storage. Untuk langkah ini:

    • Gunakan pola nama file yang sama yang digunakan pada langkah sebelumnya.
    • Pilih bucket Cloud Storage yang disiapkan sebelumnya dalam proses sebagai tujuan.
  7. Jadwalkan eksekusi. Setelah semua aktivitas selesai, siapkan jadwal otomatis untuk menjalankannya.

Keaktualan dan Penundaan Data

Sebagai aturan umum, keaktualan data untuk sumber data Cortex Framework dibatasi oleh koneksi upstream yang diizinkan, serta frekuensi eksekusi DAG Anda. Sesuaikan frekuensi eksekusi DAG agar selaras dengan frekuensi upstream, batasan resource, dan kebutuhan bisnis Anda.

Dengan SFMC Automation Studio, penundaan keaktualan data bergantung pada penundaan penjadwalan saat ekspor data disiapkan.

Izin koneksi Managed Service untuk Apache Airflow

Buat koneksi berikut di Managed Airflow. Lihat detail selengkapnya dalam dokumentasi Mengelola koneksi Airflow.

Nama Koneksi Tujuan
sfmc_raw_dataflow Untuk file yang diekstrak SFMC > set data BigQueryRaw.
sfmc_cdc_bq Untuk set data Mentah > transfer set data CDC.
sfmc_reporting_bq Untuk set data CDC > transfer set data Pelaporan.

Izin akun layanan Managed Airflow

Akun layanan yang digunakan di Managed Airflow (seperti yang dikonfigurasi dalam koneksi sfmc_raw_dataflow) memerlukan izin terkait Dataflow. Lihat petunjuk dalam dokumentasi Dataflow

Setelan penyerapan

Kontrol pipeline data Source to Raw dan Raw to CDC melalui setelan dalam file src/SFMC/config/ingestion_settings.yaml . Bagian ini menjelaskan parameter setiap pipeline data.

Tabel sumber ke mentah

Bagian ini memiliki entri yang mengontrol cara file yang diekstrak dari Automation Studio digunakan. Setiap entri sesuai dengan satu entity SFMC. Berdasarkan konfigurasi ini, Cortex Framework membuat DAG Airflow yang menjalankan pipeline Dataflow untuk memuat data dari file yang diekspor ke dalam tabel BigQuery di set data mentah.

Direktori src/SFMC/config/table_schema berisi file skema untuk setiap entity yang diekstrak dari SFMC. Setiap file menjelaskan cara membaca file CSV yang diekstrak dari Automaton Studio agar berhasil memuatnya ke dalam set data BigQueryraw.

Setiap file skema berisi tiga kolom:

  • SourceField: Nama kolom file CSV.
  • TargetField: Nama kolom dalam tabel mentah untuk entity ini.
  • DataType: Jenis data setiap kolom tabel mentah.

Parameter berikut mengontrol setelan untuk Source to Raw untuk setiap entri:

Parameter Deskripsi
base_table Nama tabel mentah tempat data yang diekstrak entity SFMC dimuat.
load_frequency Seberapa sering DAG untuk entity ini berjalan untuk memuat data dari file yang diekstrak. Untuk mengetahui informasi selengkapnya tentang kemungkinan nilai, lihat dokumentasi Airflow.
file_pattern Pola untuk file tabel ini yang diekspor dari Automation Studio ke bucket Cloud Storage. Ubah hanya jika Anda memilih nama yang berbeda dari nama yang disarankan untuk file yang diekstrak.
partition_details Cara tabel mentah dipartisi untuk pertimbangan performa. Untuk mengetahui informasi selengkapnya, lihat Partisi Tabel.
cluster_details Opsional: Jika Anda ingin tabel mentah dikelompokkan untuk pertimbangan performa. Untuk mengetahui informasi selengkapnya, lihat Setelan Cluster.

Tabel mentah ke CDC

Bagian ini menjelaskan entri mana yang mengontrol cara data dipindahkan dari tabel mentah ke tabel CDC. Setiap entri sesuai dengan tabel mentah.

Parameter berikut mengontrol setelan untuk Raw to CDC untuk setiap entri:

Parameter Deskripsi
base_table Tabel dalam set data CDC tempat data mentah data setelah transformasi CDC disimpan.
load_frequency Seberapa sering DAG untuk entity ini berjalan untuk mengisi tabel CDC. Untuk mengetahui informasi selengkapnya tentang kemungkinan nilai, lihat dokumentasi Airflow.
raw_table Tabel sumber dari set data mentah.
row_identifiers Kolom (dipisahkan dengan koma) yang membentuk catatan unik untuk tabel ini.
partition_details Cara tabel CDC dipartisi untuk pertimbangan performa. Untuk mengetahui informasi selengkapnya, lihat Partisi Tabel.
cluster_details Opsional: Jika Anda ingin tabel ini dikelompokkan untuk pertimbangan performa. Untuk mengetahui informasi selengkapnya, lihat Setelan Cluster.

Setelan pelaporan

Anda dapat mengonfigurasi dan mengontrol cara Cortex Framework membuat data untuk lapisan pelaporan akhir SFMC menggunakan file setelan pelaporan (src/SFMC/config/reporting_settings.yaml). File ini mengontrol cara objek BigQuery lapisan pelaporan (tabel, tampilan, fungsi, atau prosedur tersimpan) dibuat. Untuk mengetahui informasi selengkapnya, lihat Menyesuaikan file setelan pelaporan.

Apa langkah selanjutnya?