DEV Community

Cover image for Synchronized Data Extensions: Reading Salesforce CRM Data in SFMC
SapotaCorp
SapotaCorp

Posted on • Originally published at sapotacorp.vn

Synchronized Data Extensions: Reading Salesforce CRM Data in SFMC

On a typical engagement with Marketing Cloud Connect installed, the most common need is: send an email that personalizes with the customer's name, their assigned sales rep, and their account information. That data all lives in Salesforce CRM Contact and Account objects. Without MC Connect you'd export and re-import it daily. With MC Connect, it flows automatically into a Synchronized Data Extension.

Here's how to configure it and the mistakes we still fix on audits.

Configuration: Contact Builder > Data Sources > Salesforce Objects

Once MC Connect is installed, go to Contact Builder > Data Sources > Salesforce Objects in SFMC. Pick which CRM objects to sync and which fields to include:

Salesforce Contact Object
  Fields synced:
  - Id              -> ContactID
  - FirstName       -> FirstName
  - LastName        -> LastName
  - Email           -> EmailAddress
  - AccountName     -> CompanyName
  - Owner.Name      -> SalesRepName
  - Contract_Type__c -> ContractType  (custom field)
Enter fullscreen mode Exit fullscreen mode

SFMC creates a Synchronized Data Extension for each object you enable. The DE name is usually the object name prefixed with an underscore.

Reading Synchronized DE data in an email

AMPscript reads values from Synchronized DEs just like any other DE:

%%[
SET @repName = AttributeValue("SalesRepName")
SET @company = AttributeValue("CompanyName")
]%%

Hi %%FirstName%%,

Your account manager at %%=v(@company)=%% is %%=v(@repName)=%%.
Enter fullscreen mode Exit fullscreen mode

If the Synchronized DE is used as the Journey's entry source or the Send's audience, the subscriber's CRM data is available via Personalization Strings or AMPscript at send time.

Three mistakes we still see

Mistake 1: Trying to edit the Synchronized DE manually

Synchronized DEs are read-only from SFMC's perspective. You can't add fields, change data types, or manually edit rows. Any change attempts either fail silently or get overwritten on the next sync cycle.

The change path is always:

  1. Add the field to the CRM object (or enable an existing field).
  2. Update the Synchronized DE sync config in Contact Builder to include the new field.
  3. Wait for the next sync cycle.

Teams that try to shortcut by adding a column directly to the Synchronized DE are surprised when it vanishes. Not a bug - expected behavior.

Mistake 2: Field needed but sync not enabled

Journey Builder or Email personalization shows the field empty. Check the sync configuration - is the field checked in Contact Builder? Just because it exists on the CRM object doesn't mean it syncs. Fields must be explicitly selected.

Rule of thumb on new setup: sync only the fields you actually need, not "sync everything just in case." Too-wide syncs clutter the schema and slow cycles.

Mistake 3: Relying on sync cycles for real-time data

Synchronized DE sync runs on a cycle - typically 15 minutes to a few hours depending on configuration and volume. Not real-time.

Use cases that need true real-time data:

  • Account balance lookups (bank apps).
  • Order status at send time (confirmation email for an order placed 2 minutes ago).
  • Loyalty point balance at send time.

For these, don't use Synchronized DE - do an API lookup at send time or have upstream systems push to a non-synchronized DE via REST API.

The data flow direction

Synchronized DE is CRM -> SFMC only. Changes in the Synchronized DE don't flow back to the CRM. If you need bidirectional updates (email unsubscribe -> update CRM Contact's Email_Opt_Out field), that's a separate mechanism using Salesforce Activity inside a Journey (covered in a separate post).

Which objects are most commonly synced

CRM Object

Why sync

Contact

Primary subscriber data: name, email, company, rep

Lead

Pre-conversion prospects who should receive nurture emails

Account

Company-level data for account-based personalization

Opportunity

Deal-stage triggers for onboarding / upsell campaigns

Case (Service Cloud)

Customer service follow-up emails

Custom objects

Loyalty tiers, product preferences, industry-specific data

Start small - Contact + Lead - on a new engagement. Add more objects as campaigns require them.

Planning sync frequency

Contact Builder lets you configure sync frequency per object. Trade-offs:

  • More frequent: fresher data, higher API call consumption, more background load.
  • Less frequent: staler data, lower load.

Default for most Contact syncs: 15 minutes. Enough for daily campaigns and most triggered sends. Adjust down only if latency matters.

Takeaway

Synchronized DEs are the main value prop of MC Connect. Configure with the minimum field set you need, never edit them manually in SFMC, and pair with direct API lookups if you need true real-time freshness. Everything else in your Journey and email personalization just works once this is in place.


Configuring an SFMC + Salesforce CRM sync? Our Salesforce team sets up Synchronized Data Extensions and field mapping strategies on production engagements. Get in touch ->

See our full platform services for the stack we cover.

Top comments (0)