Skip to main content

Salesforce Marketing Cloud connector limitations

Beta

This feature is in Beta. Workspace admins can control access to this feature from the Previews page. See Manage Databricks previews.

The Salesforce Marketing Cloud connector has the following limitations:

General limitations

  • When you run a scheduled pipeline, alerts don't trigger immediately. Instead, they trigger when the next update runs.
  • When a source table is deleted, the destination table is not automatically deleted. You must delete the destination table manually. This behavior is not consistent with Lakeflow Spark Declarative Pipelines behavior.
  • During source maintenance periods, Databricks might not be able to access your data.
  • If a source table name conflicts with an existing destination table name, the pipeline update fails.
  • Multi-destination pipeline support is API-only.
  • You can optionally rename a table that you ingest. If you rename a table in your pipeline, it becomes an API-only pipeline, and you can no longer edit the pipeline in the UI.
  • If you select a column after a pipeline has already started, the connector does not automatically backfill data for the new column. To ingest historical data, manually run a full refresh on the table.
  • Databricks can't ingest two or more tables with the same name in the same pipeline, even if they come from different source schemas.
  • The source system assumes that the cursor columns are monotonically increasing.
  • The connector ingests raw data without transformations. Use downstream Lakeflow Spark Declarative Pipelines pipelines for transformations.

SFTP export workflow

The connector doesn't currently support the SFTP-based export workflow. This means that it cannot ingest data produced by Automation Studio activities, like data extracts or SQL queries, directly without writing them to data extensions.

Data views

The connector does not support ingesting data views directly. Instead, you can create a SQL query activity in Salesforce Marketing Cloud that writes the results to a data extension. You can then ingest that data extension using the connector.

Deletes for emails and campaigns

The connector doesn't currently reflect the deletes to emails and campaigns. To sync these deletes, you must run a full refresh of your tables.

Business units

The Marketing Cloud API only returns data for a single business unit, including child business units. If you have multiple business units, you must create separate Unity Catalog connections, and you must configure separate API integration packages for each one.

Primary keys and history tracking

If a primary key is defined on the source data extension, the connector uses that key during ingestion. If no primary key is defined, the connector automatically adds a column called __databricks_id, which is a hash of all columns and is used as the primary key.

When __databricks_id is used, history tracking (SCD type 2) is not supported for that table. If the table is configured to ingest in SCD type 2 mode, the ingestion will fail.

note

Databricks recommends ingesting Salesforce and Shared Salesforce data extensions using the Lakeflow Connect Salesforce connector. The Salesforce Marketing Cloud connector cannot ingest these data extensions incrementally, but the Salesforce connector can.