A rep updates a contact’s job title in Salesforce after a call. That night, the sync from Marketo writes the old title back. The rep fixes it again on Wednesday, and it’s overwritten again on Thursday. Meanwhile the lead score in Marketo says the contact is cold, because the meeting the rep logged never made it across. Sales stops trusting Marketo, and marketing stops trusting Salesforce.
Keeping the CRM and the marketing platform in step is where most revenue operations work starts, because almost every report RevOps produces depends on the two agreeing about who each person is.
What is a CRM and marketing automation sync?
A CRM and marketing automation sync keeps people, accounts and lifecycle status the same in the CRM, such as Salesforce or HubSpot, and in the marketing platform, such as Marketo or Pardot. Done well, each field has one system in charge, only changes move between the two, their different object models are reconciled, and an update can’t bounce back and forth forever.
Why the two systems disagree
- Nobody decided who owns each field. Both systems can write the same field, so each overwrites the other on every run.
- Everything syncs every night. A full pass burns API limits and buries the one change that mattered.
- The object models don’t match. The CRM has leads and contacts, and the marketing platform has one person. Treating them as the same thing creates duplicates.
- Updates loop. A change in one system triggers the sync, which triggers a change in the other, and the API limit is gone by lunchtime.
- Consent has two owners. An opt-out recorded in one system is overwritten by the other, and consent is a legal record.
What it costs
When the two systems disagree, every number built on them is disputed: lead counts, conversion rates and pipeline by source. Marketing and sales spend the review arguing about whose data is right instead of deciding what to do.
The overwrites also cost the people who make them. A rep who fixes the same field three times stops fixing it.
What to fix first
- Decide ownership per field, in writing. For each field, name the system that wins, before building anything.
- Sync changes, not everything. Send only what changed since the last run.
- Map the object models. Decide how CRM leads and contacts map to people in the marketing platform, and how a lead converting to a contact is handled.
- Mark where each update came from. Use the marker to stop an update from bouncing back to the system that sent it.
- Give consent one owner. Let opt-outs flow in one direction, from the system that records them.
The guide to building a CRM to marketing automation sync has the prompts for each step.
What it looks like at GitHub
GitHub’s marketing platform and CRM didn’t work well together, so leads from its developer community arrived without enrichment or attribution. Its marketing team built workflows on Tray.ai that enrich leads from every source and send them on to the CRM, without engineering resources, and saw higher conversion from top-of-funnel inquiries to MQLs.
Where it fits
Lead scoring, campaign attribution and ad audiences all read from the two systems this sync keeps in step. For how new leads are captured and routed before they reach either system, see lead lifecycle management.
For every handoff revenue operations covers, see getting started with RevOps.