Platforms

How to Become a Microsoft Dynamics and Marketo Syncing Superstar

BY: Hilary German

PUBLISHED: 1/14/2020

“Hundreds of duplicates…”

“The sync is very slow …”

“The data in our CRM doesn’t match what is in Marketo…”

Sound familiar?

Many clients experience common challenges when syncing data between Marketo and Microsoft Dynamics. Typically, these challenges can be grouped into three categories: problems with field management, duplicates, and slow performance.

 

The good news: these problems can be corrected. But first, it’s important to understand how the sync from Marketo to Microsoft Dynamics actually works.

Understanding How Marketo Syncs to Microsoft Dynamics

 

A Marketo instance can be synced to one— and only one— Microsoft Dynamics CRM instance. And, once you’ve synced your instance, the connection is permanent.

Once a record is synced between the two systems, Marketo maintains data consistency using a periodic sync, which means Marketo is continuously syncing your data with Microsoft Dynamics all day, every day. And, be aware that the process is done using a background sync in batches, not in real time.

The first sync will take some time, (read: be patient) but once it’s complete, Dynamics will check for updates and run another sync every five minutes. Of course, the sync cycle time is dependent on data volume and the average throughput is 10-20K records/hour.

A word of advice: monitor your sync status.

In your Marketo Admin, there is a sync status screen that can help you keep tabs on the current throughput and backlog of the sync process. Be sure to check these numbers regularly, to ensure the sync between the two systems is running smoothly.

Best Practices to Avoid Common Marketo to Microsoft Dynamics Sync Challenges


Taking a proactive approach will ensure maximum success in the syncing process. Our recommended best practices include:

Field Management

  • Create a Data Dictionary

At MERGE, we believe documentation is crucial for understanding how fields are used and whether a field will be blocked from updates. By creating a data dictionary, you’re not relying on your memory but rather, you’re setting yourself up for success with the sync.  An example of what your data dictionary might look like:

Even though it seems like a tedious activity, a data dictionary is definitely time well spent. Consider the benefits

  • A smoother process for new integrations
  • Important information is easily shared with other members of your marketing team, including new users working in Marketo
  • You ensure consistency in your sync, every time

A data dictionary is also extremely useful when using a third party layer to connect Dynamics and Marketo, as you are not able to see the field mappings in the field management section, like you can when using the native connector.

Set Field Blocking Rules

Blocking updates to a field allows you to write to the field once, and then retain the original value for the lifetime of the field. This can be useful for a field like Person Source— and, should be noted in your data dictionary.

  • Be Selective with Your Fields

Be honest…do you really need every field synced? You can keep the data flowing faster between Dynamics and Marketo by only including the fields that you truly need. Be sure to always add new, custom fields to Dynamics first, and then sync them to Marketo.

 

Field mapping is user-friendly in Dynamics. Once the sync user is connected, the schema is inherited into Marketo, so you can view it by various entities such as lead, contact, account and opportunity. This part of the process is simple, just check off which fields you would like to sync and you’re good to go.


Managing Duplicates


There’s nothing more frustrating than realizing your sync just created a boatload of duplicate records— often created by one of two missed steps.

  • Merging and Deleting Records

Best practice is to create a process to manage duplicates in your system, and follow that process, every time. You can create a Smart list to discover duplicate records, and analyze the list with this in mind:

If Microsoft Type is Empty on both records:

This means the duplicates live only in Marketo. Action -> Merge in Marketo.

If Microsoft Type is Empty on one record and not others:

Action -> Sync the ones that are missing Microsoft Type to Dynamics, and then merge in Dynamics, and remove the orphaned record from Marketo.

If Microsoft Type is not empty on both records:

This means that the duplicates live in Dynamics and Marketo. Action -> Merge in Dynamics and delete the orphaned record in Marketo.

It’s important to have processes in place to prevent and manage duplicates. Also be sure that your sales team is not unintentionally creating duplicate records in Dynamics. Train your sales team to search for leads first using email or Full Name, then teach them how to update an existing record vs. creating a new one.

  • Sync all Records

A partial sync can lead to a duplicate disaster! Instead of a partial sync, early-stage prospects can be assigned to a queue and hidden from sales to avoid clutter in Dynamics, then sync all records when you are ready.

Reducing Slow Marketo Performance


We’ve heard horror stories of a sync taking hours and slowing down Marketo in the process. If you’re experiencing latency in your sync, follow these tips to improve system performance:

  • Centralize your Sync Campaigns

Create a single global sync campaign to add new records to Dynamics, and avoid using the use of the Sync Person to Microsoft flowstep elsewhere.

If you are using the Sync Person flowstep in various campaigns, it is more difficult to find your trouble spots, such as campaigns trying to sync records to users that are no longer in Dynamics, or, syncing and assigning records from out-of-date logic. The end result: excessive Sync Person to Microsoft flowsteps will result in sync errors and unnecessary flow steps in your campaigns.

  • Create a Master List Import Engine

Marketo automatically de-dupes based on email address and updates existing records with information you’re importing. So why not use Marketo to get new records into Dynamics and update existing records? Simply create a master import engine to get records into Dynamics through Marketo. Once created, you can use it for all your imports.

  • Be Careful with Mass Data Updates

Mass data updates can clog the connector and cause significant backlogs with your sync. A better approach is to schedule data updates in batches and after-hours when large updates are necessary. Also be aware of what happens when updating specific fields in Marketo, as this waterfall effect will impact the time it takes for the data changes to take place.

  • Keeping Routing in Dynamics

Dynamics should be the system of record for lead routing and assignment whenever possible as it’s better equipped for this task. For example, you cannot re-assign someone to a different user from Marketo; this must be done within Dynamics.

Evaluating your Syncing Processes


If you can confidently answer “yes” to the following questions, you’ve got the right processes in place and can call yourself a Syncing Superstar:

 

  • Do you have a data dictionary that captures field mappings and permissions?
  • Have you reviewed and customized your fields with field blocking?
  • Were you selective when choosing which fields to sync to Marketo from Microsoft Dynamics?
  • Are you careful when merging people in Microsoft Dynamics?
  • Do you have a defined process to handle records deleted from Microsoft Dynamics?
  • Are you syncing all records from Marketo to Microsoft Dynamics?
  • Do you have a central sync campaign to manage records syncing to Microsoft Dynamics?
  • Do you batch your list uploads and use a master list import engine?
  • Are you careful and deliberate with mass data updates?
  • Is your lead routing managed in Microsoft Dynamics?

 

How’d you do? If you scored strong, you’re well on your way to marketing and sales data harmony. If you’re coming up short, not to worry. MERGE is a certified Microsoft partner and we’re always ready to assist. Contact us and let’s get the conversation started!