Keeping CRM and Marketing Data in Sync

Most sync problems are design problems. Decide who owns each field, which identifier joins the systems and how consent and deletes travel before you switch anything on.

Type
Article
Topic
CRM & Engineering
Reading time
6 min
Updated
Author
GeekMidst Team
Reviewed by
Site owner
Banner for the GeekMidst article “Keeping CRM and Marketing Data in Sync”, covering Start with ownership, not with the connector and Choose the…

A sales rep updates a phone number in Salesforce, a customer unsubscribes from an email, and a week later the two systems disagree about who that person is and whether you may contact them. Sync between CRM and marketing platforms rarely fails because a connector is broken. It fails because nobody decided which system owns which data, which identifier joins the records, or what should happen when a record is deleted.

This guide sets out the design decisions that make Salesforce CRM and marketing data synchronisation predictable, whether you use Marketing Cloud Connect, the Account Engagement connector, Data Cloud or middleware.

Diagram showing CRM IDs and CRM-owned fields syncing through Marketing Cloud Connect or Data Cloud into sendable data extensions, with engagement and opt-outs flowing back to CRM
Use the CRM ID as Subscriber Key, give every field one owner, and design opt-outs as their own two-way flow where the most restrictive choice wins. View full size

Start with ownership, not with the connector

Every synchronised field needs one system of record. "Both systems can edit it" is not an ownership model; it is a future argument about which value is correct. For each field, write down:

  • Owner: the system where the value is created or authoritatively changed.
  • Direction: one-way from owner to consumer, or two-way with an explicit conflict rule.
  • Latency: how stale the value may be before it causes harm. A first name can lag; an opt-out cannot.
  • Transformation: any mapping, formatting or derivation applied on the way across.

In most B2C and B2B orgs, CRM owns identity and commercial fields (account, owner, lifecycle stage, product holdings), while the marketing platform owns engagement data (opens, clicks, journey membership). Consent is the hard one, covered below.

Choose the identifier before anything else

The join key decides whether sync works at all. In Marketing Cloud Engagement, the usual and recommended pattern is to use the Salesforce Contact or Lead ID as the Subscriber Key, so one CRM person maps to one marketing contact. Using email address as the key looks simpler at the start but breaks when people change address, share a family inbox, or exist as both a Lead and a Contact.

If your marketing contacts come from several sources (ecommerce, events, a legacy ESP), you need a plan for people who are not yet in CRM. Either create them in CRM first and let the ID flow down, or hold a separate key and reconcile later in a profile layer such as Data Cloud (now branded Data 360), which uses identity resolution rules rather than a single shared key.

Example field ownership register

OwnerDirectionAcceptable lag
Email addressCRMCRM to marketingHours
Lifecycle stageCRMCRM to marketingHours
Email opt-outWhichever captured itBoth ways, latest winsAs short as possible
Last email click dateMarketingMarketing to CRMA day
Journey membershipMarketingStays in marketingNot synced

Sync options in the Salesforce ecosystem

Marketing Cloud Connect creates synchronised data extensions for selected CRM objects and fields, refreshed on a schedule you configure. You then build sendable audiences from those data extensions with SQL or filters. Engagement tracking can be written back to CRM as individual email result records. Check current sync interval options and object support for your account in Salesforce Help, as they have changed over time.

Account Engagement (formerly Pardot) syncs prospects with Leads and Contacts through its connector, with per-field sync behaviour you can set to use the Salesforce value, the Account Engagement value or the most recently updated value.

Data Cloud ingests CRM and marketing data into a harmonised model, resolves identities and activates segments back out. It suits organisations with several sources, but it is a profile and activation layer, not a replacement for clean CRM ownership.

Middleware or custom APIs make sense when non-Salesforce systems are involved or you need transformation logic the native connectors cannot express. They also bring their own monitoring and error handling burden.

Worked example: a sendable audience from synchronised data

Assume Marketing Cloud Connect synchronises the Contact object into a data extension named Contact_Salesforce, including Id, Email, FirstName, HasOptedOutOfEmail and a custom Lifecycle_Stage__c field. A Query Activity builds a sendable data extension Active_Customers_DE with SubscriberKey as the primary key.

sql
SELECT
    c.Id                AS SubscriberKey,
    c.Email             AS EmailAddress,
    c.FirstName         AS FirstName,
    c.Lifecycle_Stage__c AS LifecycleStage
FROM Contact_Salesforce c
WHERE c.Email IS NOT NULL
  AND c.Email LIKE '%_@_%._%'
  AND c.HasOptedOutOfEmail = 0
  AND c.Lifecycle_Stage__c = 'Customer'
Sample Query Activity. Field names are assumptions; run with the Overwrite action into a data extension keyed on SubscriberKey.

Two points matter here. The Subscriber Key is the CRM ID, so the send ties back to the CRM record and tracking can sync back to it. And the query respects the CRM opt-out field, but Marketing Cloud also holds its own subscription status in All Subscribers. A contact who unsubscribed through a Marketing Cloud link may still show HasOptedOutOfEmail = 0 in CRM until something copies that status back. That is the consent problem in miniature.

Opt-outs can be captured in CRM (a rep records a request), in the marketing platform (an unsubscribe link or preference centre) or on a web form. Each capture point must update the others, quickly, and a later sync must never silently re-subscribe someone. Practical rules:

  • Treat opt-out as "most restrictive wins" unless you have a timestamped, auditable consent model that allows true latest-wins logic.
  • Store the date and source of each consent change, not just a boolean.
  • If you run a preference centre, write changes to one consent store and push from there.
  • Test the unsubscribe path end to end in both directions before launch.

For the full pattern, see the consent synchronisation blueprint.

Deletes, merges and record type changes

Sync designs usually forget what happens when records disappear. A Lead converted to a Contact gets a new ID; if your Subscriber Key was the Lead ID, you now have two marketing contacts for one person unless you handle conversion. A CRM merge keeps one ID and deletes the others. A privacy deletion request must reach every system that holds the person. Decide, for each case, which process detects the event and what it does downstream, and write it into the runbook.

Common mistakes and how to spot them

  • Two-way sync on the same field without a conflict rule. Symptom: values flip back and forth. Check field history in CRM and the last modified source.
  • Email as the join key. Symptom: duplicate contacts and tracking attached to the wrong person. Count Subscriber Keys per email address.
  • Syncing everything. Symptom: slow syncs and data extensions full of fields nobody uses. Sync only fields with a named consumer.
  • Formula and rollup fields assumed to be real time. Their values sync when the record syncs, which may not be when the underlying data changed.
  • No monitoring. Symptom: a sync stops and nobody notices for weeks. Alert on record counts and last successful sync time.

Checklist before go-live

  1. A field ownership register signed off by sales, marketing and the platform owner.
  2. One documented join key and a rule for Lead conversion and merges.
  3. A consent flow tested in both directions, with dates and sources stored.
  4. A deletion and privacy request path that reaches every system.
  5. Monitoring on sync failures and record count drift.

Get your sync design reviewed

If your CRM and marketing platforms disagree about who your customers are or what they consented to, we can review the ownership model, keys and consent flow and propose a fix.

Request a sync review →

Tell us what you are trying to fix.

Share your Salesforce setup, goals and constraints. A practitioner reads every message and replies with questions, first thoughts or an honest view of whether you need outside help at all.

Talk to a Salesforce Expert
Book a Consultation