5.1 Standard Bundles & Salesforce CRM Connectors (Sales/Service/Marketing)

Key Takeaways

  • The Salesforce CRM Connector enables native bi-directional integration across multiple Salesforce orgs, authenticating via connected apps and requiring the Data Cloud Salesforce Connector and Data Cloud Integration User permission sets in source orgs.
  • Standard Data Bundles (Sales Cloud, Service Cloud, B2C Commerce, Marketing Cloud Engagement) deploy pre-configured Data Lake Objects (DLOs) and automated mappings to standard Data Model Objects (DMOs) out-of-the-box, accelerating implementation velocity.
  • When ingesting custom objects or fields, formula fields referencing cross-object relationships or non-deterministic functions (e.g., TODAY(), NOW()) cannot trigger Change Data Capture (CDC) events and must be evaluated inside Data Cloud using formula fields or Data Transforms.
  • Ongoing incremental synchronization from Salesforce CRM relies natively on Change Data Capture (CDC), streaming record creates, updates, and deletes to Data Cloud near-real-time without custom polling APIs.
  • In multi-org CRM environments, standard 18-character Salesforce record IDs can collide across orgs or sandbox clones; consultants must prefix record IDs with a source tenant identifier formula (e.g., Source_Org__c + '_' + Id) to guarantee globally unique primary keys in DLOs.
Last updated: September 2026

Standard Bundles & Salesforce CRM Connectors (Sales/Service/Marketing)

Salesforce Data Cloud is engineered to serve as the unified hyperscale engine across the entire Salesforce Customer 360 ecosystem. In most enterprise implementations, the foundational data ingestion pipeline begins with the Salesforce CRM Connector and the suite of Standard Data Bundles spanning Sales Cloud, Service Cloud, B2C Commerce, and Marketing Cloud Engagement. While these native connectors provide automated acceleration, certified Data Cloud consultants must understand the underlying synchronization mechanisms, permission dependencies, formula field constraints, and multi-org architectural traps that dictate real-world project success.


Salesforce CRM Connector Architecture & Setup

The Salesforce CRM Connector establishes a direct, high-throughput integration bridge between a Data Cloud instance and one or more Salesforce source orgs. Unlike external data lakes that require custom middleware (e.g., ETL/ELT pipelines, periodic scheduled exports, or REST API batch pollers), the CRM connector leverages Salesforce's native event-driven infrastructure.

Single-Org vs. Multi-Org Enterprise Topologies

Data Cloud supports two primary CRM connection topologies:

  1. Single-Org (Co-located / Local Connect): When Data Cloud is provisioned directly within the primary Salesforce CRM production tenant. The local CRM connection is configured automatically during tenant provisioning.
  2. Multi-Org (Hub-and-Spoke Connect): Global enterprises frequently operate multiple disparate Salesforce orgs—such as separate orgs for regional operating units (Americas, EMEA, APAC), distinct operating entities (Healthcare vs. Financial Services), or acquired subsidiaries. Data Cloud can connect to multiple external Salesforce orgs simultaneously, acting as the centralized Customer 360 hub while each connected org acts as an operational spoke.
┌───────────────────────────────┐        ┌───────────────────────────────┐
│  Salesforce Org A (Americas)   │        │     Salesforce Org B (EMEA)   │
│  - Sales Cloud (Leads/Opps)   │        │  - Service Cloud (Cases/Accts)│
└───────────────┬───────────────┘        └───────────────┬───────────────┘
                │ (Connected App / CDC)                  │ (Connected App / CDC)
                ▼                                        ▼
┌────────────────────────────────────────────────────────────────────────┐
│                      Salesforce Data Cloud Tenant                      │
│  - Data Streams (Prefixed Primary Keys: "US_" and "EU_")               │
│  - Data Lake Objects (DLOs) & Harmonized Data Model Objects (DMOs)    │
│  - Global Identity Resolution & Customer 360 Unified Profiles          │
└────────────────────────────────────────────────────────────────────────┘

Integration User & Permission Requirements

To establish a secure handshake between Data Cloud and an external Salesforce CRM org, the connection relies on an administrative user in the source org equipped with dedicated permission sets:

  • Data Cloud Salesforce Connector: Granted to the administrator during the initial OAuth connected app handshake to authorize metadata retrieval and object discovery.
  • Data Cloud Integration User: Automatically provisioned or assigned in the source CRM org. This user executes the ongoing data extraction queries and subscribes to event streams.
  • Field-Level Security (FLS) & Object Permissions: The integration user must possess explicit Read permissions on all source objects and Read access on every field designated for synchronization. If a business creates a new custom field on the Contact object but neglects to grant Field-Level Security to the Data Cloud Integration User, Data Cloud cannot read the field. The ingestion pipeline does not throw an error; instead, it silently ingests null values for that attribute.

Ingestion Lifecycle: Historical Backfill vs. Incremental Synchronization

When a CRM Data Stream is deployed, Data Cloud executes a two-phase data ingestion lifecycle:

  1. Historical Backfill (Bulk Ingestion): Data Cloud issues a high-performance query against the source org using the Salesforce Bulk API v2 infrastructure to perform an initial extraction of all historical records matching the object filter.
  2. Ongoing Incremental Synchronization (Change Data Capture): Upon completion of the initial backfill, Data Cloud automatically establishes an event subscription to the source org's Change Data Capture (CDC) event bus. Any subsequent record insert, update, delete, or undelete in the source CRM org publishes a CDC event that is streamed into Data Cloud within seconds to minutes, ensuring near-real-time data freshness without manual polling.

Standard Data Bundles: Out-of-the-Box Accelerators

Manually configuring data streams, declaring schema definitions, and mapping hundreds of source fields to canonical Customer 360 Data Model Objects (DMOs) can require weeks of manual implementation effort. Salesforce Data Cloud resolves this through Standard Data Bundles.

A Data Bundle is an out-of-the-box metadata package that deploys pre-configured Data Stream templates, auto-provisions corresponding Data Lake Objects (DLOs), and applies pre-built, standardized mappings to the canonical Customer 360 Data Model Objects in a single administrative action.

1. Sales Cloud Data Bundle

Designed to ingest the core business-to-business (B2B) and relationship management entities from Salesforce Sales Cloud:

  • Ingested CRM Objects: Account, Contact, Lead, Opportunity, OpportunityContactRole, Campaign, CampaignMember.
  • Canonical DMO Mappings: Maps Lead and Contact directly to the Individual and Contact Point (Email, Phone, Address) DMOs; maps Account to the Account DMO; maps Opportunity and OpportunityContactRole to the Sales Order and Opportunity subject areas.
  • Data Stream Category: Categorized as Profile for identity entities (Account, Contact, Lead) and Other or Engagement for transactional records (Opportunity, Campaign Member).

2. Service Cloud Data Bundle

Engineered for customer service, omni-channel engagement, and case lifecycle management:

  • Ingested CRM Objects: Case, CaseHistory, CaseComment, Contact, Account.
  • Canonical DMO Mappings: Maps Case records to the canonical Case DMO, linking customer issues directly to Unified Individual and Account entities, providing support agents with immediate visibility into unified customer sentiment and unresolved tickets.
  • Data Stream Category: Case and CaseComment are typically categorized as Engagement data (representing timestamped interactions), while Contact and Account remain Profile data.

3. B2C Commerce (Commerce Cloud) Bundle

Integrates transactional digital commerce storefronts into Data Cloud:

  • Ingested Objects: Customer Profiles, Customer Addresses, Orders, Order Items, Product Catalog, Product Categories.
  • Canonical DMO Mappings: Ingests product SKUs into the Product DMO subject area and customer purchases into Sales Order and Sales Order Product DMOs, unlocking immediate calculated metrics like Lifetime Spend, Average Order Value (AOV), and Recency.

4. Marketing Cloud Engagement Data Bundles

Captures cross-channel marketing interactions and campaign telemetry directly from Marketing Cloud Engagement (formerly SFMC):

  • Email Studio Bundle: Ingests Email Subscriber profiles, List Subscriptions, and deep behavioral engagement logs (Sent, Open, Click, Bounce, Unsubscribe, Complaint).
  • MobileConnect Bundle: Synchronizes SMS messaging engagement, keyword responses, and opt-in/opt-out status changes.
  • MobilePush Bundle: Captures push notification sends, opens, and in-app message impressions.
  • Canonical DMO Mappings: Maps subscriber engagement records to the canonical Engagement subject area (e.g., Email Engagement, Mobile Engagement), linking directly to Individual and Contact Point Email / Contact Point Phone.

Comparison Table: Standard Data Bundles

Standard Data BundlePrimary Source SystemCore Source Objects IngestedPrimary Target Canonical DMOsDefault Data Stream Category
Sales Cloud BundleSalesforce Core CRMAccount, Contact, Lead, Opportunity, CampaignIndividual, Account, Contact Point Email, Sales Order, OpportunityMixed (Profile for Contact/Lead/Account; Other/Engagement for Opps)
Service Cloud BundleSalesforce Core CRMCase, CaseHistory, CaseComment, Contact, AccountCase, Case Interaction, Individual, AccountMixed (Engagement for Case/History; Profile for Contact/Account)
B2C Commerce BundleCommerce CloudCustomer, Order, OrderItem, Product, CategoryIndividual, Sales Order, Sales Order Product, ProductMixed (Profile for Customer; Engagement for Order/OrderItem; Other for Product)
Marketing Cloud Email BundleMarketing Cloud EngagementSubscribers, Sent, Open, Click, Bounce, UnsubIndividual, Contact Point Email, Email EngagementMixed (Profile for Subscribers; Engagement for Sent/Open/Click/Bounce)
Marketing Cloud Mobile BundleMarketing Cloud EngagementMobileConnect SMS, MobilePush TelemetryIndividual, Contact Point Phone, Device Application, Mobile EngagementMixed (Profile for Mobile Contacts; Engagement for SMS/Push events)

Custom Object Ingestion & Advanced CRM Data Streams

Beyond standard bundles, enterprises frequently maintain proprietary custom objects (e.g., Warranty__c, Patient_Encounter__c, Vehicle__c, Loan_Application__c) within Salesforce CRM. Data Cloud provides the flexibility to ingest any custom object via Custom CRM Data Streams.

Selecting the Correct Data Stream Category

When configuring a custom data stream, the consultant must explicitly declare the Category. This decision governs how Data Cloud indexes, partitions, and retains the data:

  1. Profile: Applied to master identity entities that represent an individual, business account, or contact point (e.g., a custom Loyalty_Member__c object). Profile data requires a unique Primary Key and participates directly in Identity Resolution rulesets.
  2. Engagement: Applied to time-series, append-mostly behavioral interaction events (e.g., Service_Inspection__c or Vehicle_Telemetry__c). Engagement data requires an Event Date/Time field (e.g., CreatedDate or a custom Timestamp__c), is optimized for high-volume time-window filtering in Segmentation, and can have automated retention schedules configured.
  3. Other: Applied to contextual reference data, dimensions, or business metadata that neither describes a person nor represents a time-series event (e.g., Product_Warranty_Plan__c or Store_Location__c).

The Formula Field Constraint & CDC Invalidation

A major technical challenge in Salesforce CRM ingestion centers on Formula Fields:

Formula Field Classification:

1. Deterministic (Record-Local) Formula: 
   Example: Full_Name__c = FirstName & " " & LastName
   --> Evaluates entirely within the boundaries of the local record.
   --> Eligible for standard synchronization.

2. Non-Deterministic / Cross-Object Formula:
   Example A: Account_Region__c = Account.Region__c  (Cross-Object Span)
   Example B: Days_Open__c = TODAY() - Date_Opened__c (Time-Dependent)
   --> PROBLEM: Modifying Account.Region__c does NOT update Contact.SystemModstamp
   --> PROBLEM: Advancing midnight does NOT fire a Change Data Capture event
   --> RESULT: Data Cloud does NOT receive an incremental sync update! Stale data ensues.

[!IMPORTANT] Formula Field Rule of Thumb: Do not ingest cross-object formula fields or non-deterministic formula fields directly from Salesforce CRM into Data Cloud. Instead, ingest the underlying raw fields (e.g., ingest Account.Region__c from the Account object directly, and ingest Date_Opened__c from the Case object) and use Data Cloud Formula Fields on the DLO, Streaming Data Transforms, or Batch Data Transforms to calculate the derived values natively within Data Cloud.


Change Data Capture (CDC) Mechanics & Latency

Salesforce CRM connectors rely on the native Salesforce event bus:

  • Automated CDC Allocation: When a Data Cloud connector is activated against a standard or custom object, Data Cloud automatically requests the creation of a Change Data Capture event channel for that object in the source CRM org.
  • Header Metadata: CDC event payloads carry transaction headers containing the changeType (CREATE, UPDATE, DELETE, UNDELETE), the commitTimestamp, and the modified field set.
  • Soft Deletes vs. Hard Deletes: When a record is deleted in Salesforce CRM (moved to the Recycle Bin), a CDC DELETE event is broadcast. Data Cloud processes this event by writing a deletion marker (IsDeleted = True) to the corresponding DLO record. During downstream query processing and segmentation, deleted records are filtered out, maintaining consistency between CRM and Data Cloud.

Critical Exam Traps & Multi-Org CRM Architectures

[!WARNING] The Multi-Org Record ID Collision Trap An enterprise connects two distinct Salesforce CRM production orgs: Org A (US Retail) and Org B (European Commercial). Both orgs contain Contact records. A consultant sets up standard CRM data streams in both orgs, ingesting the standard 18-character Contact Id directly as the DLO Primary Key.

The Architectural Disaster: Salesforce 18-character record IDs are guaranteed to be unique within a single database instance, but they are NOT guaranteed to be universally unique across distinct production orgs (and are guaranteed to collide if one org was cloned from another or shares sandbox origins). Furthermore, if Org A Contact 0031x00000abc12 and Org B Contact 0031x00000abc12 both stream to the same DLO, Data Cloud will treat them as the exact same record, causing Org B's sync to overwrite Org A's data!

The Exam Solution: In multi-org architectures, you must never map the raw CRM Id as the standalone DLO Primary Key. You must define a Formula Field on the Data Stream / DLO that generates a composite key by prefixing the Record ID with a unique Source System Tenant Identifier: CONCAT("CRM_US_", source_table.Id) for Org A, and CONCAT("CRM_EU_", source_table.Id) for Org B.

Loading diagram...
Multi-Org Salesforce CRM Ingestion Architecture with Tenant Key Prefixing
Test Your Knowledge

A global enterprise operates two separate Salesforce CRM orgs: one for its North American commercial division and one for its European retail division. The enterprise deploys Salesforce Data Cloud to unify customer profiles across both business units. During testing, the team observes that certain European contact records are intermittently overwriting North American contact records in Data Cloud. What is the root cause of this defect, and how should the consultant resolve it?

A
B
C
D
Test Your Knowledge

An architect configures a custom CRM Data Stream to ingest the Contact object from Sales Cloud. The business requires synchronizing a custom formula field, Customer_Lifetime_Days__c, defined as 'TODAY() - Customer_Since_Date__c'. In Data Cloud, the consultant notices that the value of Customer_Lifetime_Days__c never updates after the initial historical ingestion, despite the passage of several weeks. Why does this synchronization failure occur?

A
B
C
D
Test Your Knowledge

A Data Cloud consultant deploys the standard Sales Cloud Data Bundle to ingest Account and Contact objects. Following the successful initial data sync, an analyst notices that a critical custom attribute, Loyalty_Tier__c, is entirely populated with null values across all 200,000 ingested Contact records in the Data Lake Object, even though the field is fully populated in Sales Cloud. The data stream status is marked 'Active' with zero error logs. What is the most likely cause of this issue?

A
B
C
D