Running Marketo at Enterprise Scale, that is an instance with more than a million records, requires a much greater level of knowledge and careful design to keep the lead machine running smoothly. As we mentioned last time, million plus record databases with thousands of active programs and trigger campaigns will put a huge load on a poorly designed Marketo instance.
In large enterprise organizations, it is vital that the Marketo to CRM sync is designed and optimized for scale. The benefits of an optimized sync include:
- A greater number of leads can be synched in less time.
- Improved system performance, which translates to a better experience for both leads and Marketo users.
- Get leads to sales faster and close more deals. Research shows that 35-50 percent of sales go to the vendor that responds first. (Source: InsideSales.com)
It is important to first understand the Marketo CRM sync process before diving into strategies for optimizing the sync. Specifically, we will focus on the sync with Salesforce.com.
The SFDC integration is bi-directional, so that if a lead is created or updated in either system, Marketo will keep both databases up to date. Marketo periodically syncs all standard and custom fields on the following SFDC objects:
- Account (Read Only)
- Opportunity (Read Only)
- Campaign (Read Only except you can create Campaign Status)
- Documents (Required if using Sales Insight)
All you do is provide Marketo a SFDC User account to login to SFDC. Marketo will then download all records and fields that it has permission to access.
Once the sync is initialized, Marketo will connect to Salesforce via the API to download/update all records that are new or have changed since the last sync. The standard/periodic sync speed is approximately 10-20k records per hour. Every 5 minutes after the sync cycle completes, the process begins again.
In addition to the periodic sync, the flow step “Sync to SFDC” forces a record to sync on demand. It is also the primary control over what leads sync from Marketo into SFDC. (All SFDC records sync to Marketo by default) When a net-new lead is created in Marketo, a lead lifecycle campaign with the “Sync to SFDC” flow step is setup to govern when new leads are pushed into Salesforce.
In the context of an enterprise database with millions of records, the pipe between SFDC and Marketo is narrow. Consider an organization with 10-million-record database. If 10 percent of records are updated as part of an end-of-quarter territory realignment, the resulting sync would require more than 50 hours to finish. Lead flow between the systems would grid to a halt for two days, as more recent updates are stuck in line behind the mass update.
As part of developing a robust integration strategy, it is extremely important to control:
- What data is synched.
- When data is synched.
- How data is synched.
What data is synched.
While it would be a relatively simple process to provide Marketo a SFDC login with administrator access to download all records, data and fields—it is a big mistake for any Marketo implementation regardless of size. For enterprise organizations with massive databases, that mistake quickly turns into a data disaster.
The goal is to minimize the amount of data that needs to flow between the two systems to be kept in sync.
Marketo will only sync data that it can see/access in SFDC. Therefore, controlling data flow between the systems in done via the Marketo integration users permissions set via the SFDC profile. The permissions on the SFDC User account determine:
- Which objects Marketo can access
- Which records it can access
- Which fields it sees
- What actions it can take (Create, Edit, Delete)
When setting up the SFDC profile, it is important to hide all unnecessary fields and records that will not be used for segmentation or marketing in Marketo. Be sure to pay special attention to fields that change frequently because those put a heavy load on the sync process. Remember that anytime a field changes it will trigger the sync for that record. And decreasing the number of fields accessible to Marketo means fewer changes in Marketo and much lower sync volume.
It is important to realize that database size is not the primary limitation for the sync. Rather it is rate of change and number of updates to those records that is the true indicator of the impact on sync.
When data is synched.
Once you have minimized the number of records and fields syncing between Marketo and SFDC, it is time to consider when data is synched. The goal is to minimize the load and impact on the sync during business hours.
Too often, I have seen routine, however poorly timed, mass data updates completely shut down a company’s lead flow to sales. The real world impacts of this sync blunder are significant and extremely costly. Imagine the blowback of a lost day of sales and rooms of sales people sitting idle unable to work new and updated leads.
Whenever possible, use batch campaigns to update leads as opposed to trigger campaigns so that you have control over when data is updated and the sync is triggered.
Always remember to schedule batch database updates overnight or on the weekend. And break large updates into smaller chunks. For a rough rule of thumb, limit updates to 40K-60K records a night to make sure they finish and do not impact performance the following day.
How data is synched.
The sync lead flow step is great—and immediate—however, it takes priority over data flowing through the standard bi-directional sync. This can be both good and bad. It’s good because you can make sure a fast-tracked lead gets to sales as quickly as possible. On the opposite end, large list uploads (75,000+) can clog the sync and prevent important data from being synched for hours and days.
A highly optimized integration understands that all data is not equal. High priority data, like new leads being fast-tracked to sales, are treated differently than routine updates. A couple guidelines:
- Leads headed to sales and those with critical status changes should be synched via the “Sync to SFDC” flow step. This prioritizes their sync and makes sure they get into SFDC stat. However, the flow step should be used primarily for net-new leads and sparingly to force sync the most important updates.
- The vast majority of updates to existing leads should be handled by the standard periodic sync.
The goal of this post is to provide an overview of key strategies to build a robust integration to govern the Marketo/CRM sync. They focus on having a plan for what data is synched; when data is synched; and how data is synched.
Longer term, successful management of the Marketo-SFDC sync focuses primarily on optimizing the use of a very limited resource—the pipe between SFDC and Marketo. Remember that a sloppy integration will be quickly exposed at enterprise scale. Only 10K-20K leads can flow through per hour. You don’t want to waste that bandwidth.
While much of the advice in this post is based on my experience working closely with several Marketo clients with extremely large databases, the technical and system knowledge is a result of presentations and conversations with experts from Marketo.
For more information, Marketo has a number of great resources and presentations focused on sync and maximizing system performance. One great resource is Jep Castelein’s (Marketo) presentation at Summit 2013 on “Salesforce.com Native Integration Best Practices” Here is the link: https://community.marketo.com/MarketoResource?id=kA650000000Gu0CCAS (Registration Required)
Interested in knowing more about Marketo campaign priority and performance optimization? We’d love to talk with you; to schedule a call, just drop a note to our Business Development team.
Thomas Terry is an Account Director at DemandGen. He is responsible for enabling and supporting our client’s marketing and sales teams to adopt marketing automation and CRM systems and ultimately drive revenue. As of June 2013, Thomas is one of fewer than 200 Marketo Certified Experts worldwide.