Common Marketo and Salesforce Sync Pitfalls

Anonymous
Not applicable

Marrying Salesforce information and Marketo activity is crucial to the overall health of your Marketing and Sales efforts. Having Marketo out of sync with Salesforce is like watching a bad wedding dancer try to bust a move.

Today, I'll cover some of the common Marketo-to-Salesforce technical pitfalls that companies can experience.

There are many reasons for the systems to go out of sync and below are a few.  I'm sure I'm missing some so please add yours to the comments.

1) Expired Password

2) Incorrect Field Permissions

3) Field Not Visible

4) Required Dependent Fields Like Disqualified Reason

5) Fields Not Mapped Properly to Marketo

6) Not Enough Data to Sync to Salesforce

7) Marketo-to-Salesforce Sync Happening Too Fast

😎 Custom Third Party Apps

1) Expired Password

Setting password policies at a corporate level helps the overall security of the organization. Most organizations use this best practice and expire their Salesforce passwords. When enabled, Salesforce defaults this setting to 90 days.

However, if your Marketo user has a password that expires, you have to remember to change the password every 90 or so days--that's a manual mistake waiting to happen. This usually happens when your Salesforce administrator adds the Marketo user to an existing profile. If you don't change the password, Marketo and Salesforce will suddenly stop syncing when the password expires.

You have a few choices to help manage this situation. Go the easy route and make sure the Marketo user associated with your Marketo account has a password that is set to never expire. Or, if your organization requires a big sign-off process before adjusting anything permission-based in Salesforce, you may need to go manual--set up a calendar reminder to change your password in Marketo every 90 days.

Marketo Creds
Update your Marketo credentials manually every 90 days if you have to go the manual route.

Tip: When setting up the profile in Salesforce, make sure to check the Password Never Expires box.

Salesforce password never expires

Other important note: If your Marketo-to-Salesforce sync does go down, any leads created during that period will need to be manually synced from Marketo to Salesforce. Create a Marketo campaign to identify leads created while the sync was down. Then run them through your normal Sync to SF Campaign process.

Marketo Community Articles

Other Articles

2) Incorrect Field Permissions

In order for data to sync back and forth, make sure field level permissions are set properly for fields.  Field examples include: First Name, Last Name, Favorite Color and other similar fields you want to stay in sync. If you have the Salesforce field permissions set to Read only, any updates made in Marketo will be blocked by Salesforce, resulting in data being out of sync.  Worse, that updated value in Marketo will get overwritten with the Salesforce value the next time the record syncs.

Tip: If your Salesforce instance defaults to Read only when creating new fields, make sure to adjust the field to Write.

On another note, don't worry about important Account and Opportunity fields like Opportunity Amount--Marketo is set up to only allow a one way sync to protect companies from mistakenly wiping out vital financial information

Marketo Community Articles

3) Field Not Visible

You can't sync what you can't see.

This is a very common oversight Salesforce Administrators can make when setting up fields. With this issue, the Admin might create the field in Salesforce but forget to check the Visible check box to make it available to Marketo.

Tip: Make sure to check the Visible checkbox in Salesforce when creating the field
SFfieldpermissins

Marketo Community Articles

4) Required Dependent Fields Like Disqualified Reason

You are most likely using dependent fields in Salesforce. If one of those fields is required, you will experience sync issues if you try to update data in Marketo.

Let's translate to plain English. For example, if your reps choose Disqualified as a Lead Status, they most likely receive a dependent choice that requires them to choose a reason. This makes perfect sense on the Salesforce side.

Salesforce Reason for Disqualify

The issue happens on the Marketo side when you try to mass Disqualify people or auto disqualify leads. If you only update the Lead Status field and forget to update the Reason for Disqual field, Salesforce will kick back a sync error because a value is required in the dependent field. I have made this oversight numerous times when updating data so learn for my mistakes. The good news is the solution is pretty simple. When making updates on the Marketo side, update the dependent field first (Reason for Disqual) and then the controlling field (Lead Status).

Tip: This is an example of a Marketo campaign that removes competitors from the lead lifecycle when a lead is created. Make sure there are two flow steps with the Reason for Disqual coming first.
Reason for Disqualify Marketo Flow Step

5) Fields Not Mapped Properly to Marketo

This issue is like a broken record if you don't provide specific instruction to your Salesforce Administrator when creating fields in Salesforce. Here, fields are sometimes created on the Lead object but not on the Contact object. Or, both are created but not mapped. Or the field is a picklist rather than a date field.

When you ask your Salesforce Administrator to create a new field in Salesforce, just use the below language which I've probably written dozens of times. And always double-check that the fields map over properly to Marketo by going to the Field Management choice in the Marketo Admin and choosing the field in question.

Marketo Field Mapping
Here, we see that the Inquiry Date field maps to both the Lead and Contact records as desired.
Tip: Make sure the Contact and Lead Records in Salesforce are mapped to one another--and that those fields are visible to the Marketo user.

Sample Text to Write to your Salesforce Admin

Dear Salesforce Admin Rockstar:

Marketing is working on a project which requires a new Salesforce field. Can you please create a field called Favorite Color?

  1. Make sure to create the field on both the Contact and Lead objects.
  2. Make sure they are mapped to one another.
  3. The fields need to be visible to the Marketo user with proper write permissions.
  4. The field type should be fill in info here (Add any specifics around field type like Date, Text, Picklist, etc). For the FavoriteColor, example…..The field type should be a picklist with Red, Blue and Green as choices and NULL as the default.

Thanks so much. Please let me know when this is complete so I can check the availability of the fields in Marketo.If you need any guidance, check out these Marketo Field Sync Instructions.

Thanks

Marketo Community Articles

6) Not Enough Data to Sync to Salesforce

Depending on your Salesforce settings, you might require the four fields to allow Marketo to sync to Salesforce (First Name, Last Name, Email Address, Company Name).  If your forms just ask for First Name and Email address, that will cause a Salesforce sync error. One could argue that you want to hold off on the sync until you have more data but we'll save that debate for another day.

So what do you do if you want to sync data to Salesforce without having all the required data? You could use a data appending tool like NetProspexZoomInfo or ReachForce to append that data before the sync. However, not everyone has the budget for a third party application. If not, use Marketo's sync options to populate default Last Name and Company Name fields. As leads turn into MQLs, reps can adjust the data further downstream.

Tip: Populate Last Name and Company with default values to enable leads with limited data to sync to Salesforce after creation.Salesforce sync defaults

Marketo Community Articles

7) Marketo-to-Salesforce Sync Happening Too Fast

Marketo is a great new-lead processor that scores, normalizes and segments leads before they hit Salesforce. This allows Salesforce to properly route the lead based on the processing done by Marketo. Most companies have several Marketo processing campaigns that run in the first few minutes after a lead is created.

What happens when the lead syncs to Salesforce before all of the processing happens? This can happen if you use Programs to sync up with your Salesforce Campaigns. Sometimes leads sync BEFORE the processing campaigns do their thing. The end result is some leads are misassigned and some leads sync that shouldn't. This is a known behavior with Marketo so just be aware that some straggler leads my end up in Salesforce prior to scoring, etc.

I'd recommend setting up some error checking Smartlists to catch these are part of your overall error checking process. Here are a few examples from Anna Bruning: Put Down the Pepto: Reduce Marketing Automation Stress. I recently logged an idea on this subject so feel free to vote it up if you are experiencing similar issues.

Marketo Community Articles

😎 Custom Third Party Apps

Sometimes third party apps show data in Salesforce but that data isn't available to Marketo. Time and time again, I hear from clients that, "We see the field in Salesforce...why isn't it available in Marketo?"

In reality, the field looks like it's a regular field but it's just referencing data that exists in some other system. The data doesn't actually live in Salesforce so there is no way to get access to it. There is no solution here besides education.

Overall Salesforce Check

Want to check if your Salesforce sync is working? Just go into the Marketo admin and click on the Salesforce integration choice. Your sync status will appear in the upper right.

Salesforce Sync Check

Conclusion

The Marketo-to-Salesforce sync capabilities offer massive power to organizations that have both systems. We could probably write a book on all the considerations around data syncs between the two but we'll keep it to 1,600 words for now. I'm sure I'm missing some so please add yours to the comments.)

Additional Resources

Marketo Community Articles

14 Comments

Hi Jeff Coveney,

Thx for this excellent article. I would add a couple of items in the list :

Marketo not seeing every lead or every contact.

Sometimes customer restrict the list of leads or contacts that Marketo can see, generally in order to limit the size of the Marketo database and the corresponding fee. The issue is that leads that Marketo cannot see may come to the web site and fill out a form, then get pushed to Salesforce. As Marketo does not know these leads or contacts already exist, it will create a new one in SFDC, therefore a duplicate... Or fail if there is a duplicate prevention system on salesforce side.

This does not mean that one may not restrict the leads and contacts that Marketo can see but it should be done as much as possible when the leads/contacts that are hidden really regard a separate business / unit.

Bad handling of lookup fields

Lookup fields appear in Marketo as 18 character SFDC IDs. Any type of lookup might be concerned, but in my experience, Record Types are the ones that cause the larger number of issues. Users tend to try to set the value of the field with the name of the lookup object, instead of the ID, and this blocks syncs.

2 ways of handling these :

  1. Teach users how to detect an ID and use it for field entry
  2. Create an secondary picklist (or text) field that can contain the value and some workflows in salesforce that sets the lookup field value based on changes in thus secondary field made by Marketo.

My 2 cents

-Greg

Hi again Jeff,

I would also add a clarification point to the "Marketo-to-Salesforce Sync Happening Too Fast" section : SFDC lead assignment rules trigger on lead creation only, which means that is the lead is synch'ed too quickly, the assignment rules will trigger on incomplete data. In SFDC UI, it is possible to manually retrigger lead assignment rules later on. But Marketo sync has not implemented it. Hence the issues you are describing. The work around is to set a  whole bunch of workflows in SFDC, but these are not as flexible as assignment rules.

Hence this idea :

-Greg

Anonymous
Not applicable

Hey Greg, I'd recommend waiting a few minutes before syncing the lead to SF. This allows Marketo to perform all the lead processing to prep it for a SF sync. The other option as you noted is to immediately sync to SF and let SF do the processing--however, SF isn't as flexible as Marketo in that area (Plus, you have to rely in the SF Admin).

SF Sync Campaign Example

  1. Lead is Created
  2. Wait 4 minutes
  3. Sync to SF

What happens in those 4 minutes...Marketo is the processing center.

- Webhooks get called to append data or assign some action

- Data gets normalized (US to USA)

- Geos get populated

- Scores get assigned for lead lifecycle management, etc

Hi Jeff,

Agreed, but there are some situations where you cannot control the delay until the sync. Typically, when a lead fills out a form that is in a program, the lead is immediately added to the program as a member. If the program is sync'ed with a campaign, the lead will be immediately pushed to SFDC.

-Greg

Anonymous
Not applicable

This is an awesome article! It's great to have the issues written out with the solutions. In my three years working with Marketo I have experienced a number of these. I hope this helps people experience these sync issues less often!

Anonymous
Not applicable

We've just discovered that our Company Name field is mapping to the Account Name in SFDC for Contacts which is causing all of our contacts to have their Company Name changed in Marketo any time one of the contacts from that account fills out our forms.

We think we now need to create a Contact Field called 'Company Name' that isn't tied to the  account in SFDC.  Have others had this issue?

Thanks,

Josh

Hi Josh Hollinger,

The SFDC Account <-> Marketo lead sync works only in 1 direction (from SFDC to Marketo). The result of this is that some can update the account name in SFDC, and this will update the Company name of all leads in Marketo that maps with SFDC contacts in this SFDC account.

But it is not possible for someone to update the account name in SFDC from Marketo.

So the case you are describing only happens when someone (a sales ?) updates an account name in SFDC, surely not when a lead fills out a form in Marketo.

-Greg

Anonymous
Not applicable

Thanks Greg - let me clarify.  Our 'Company Name' field in Marketo is mapped to our 'Account Name' field in SFDC for Contacts (not leads).  When a Contact from that account fills out one of our Marketo forms and maybe writes BofA and not Bank of America we then see all of the contacts tied to the Bank of America Account have their company name changed to BofA in Marketo (not SFDC).  SFDC then overwrites that change in the next synch and corrects everything back to Bank of America (the formal account name in SFDC). 

To resolve this we'd like to create a new SFDC field at the Contact Level for Company Name that is not an Account field.  This is also valuable when you are handling registrations for events and printing out name badges.  Often times an employee might associate to a company name that is different than the formal account name in SFDC so it's good to have the options and note the difference.

Our real question is how do we change the mapping in our Marketo/SFDC synch to point Marketo's Company Name field at the contact level to the new Contact Company Name field we're creating in SFDC?

Hi Josh,

I do not think you can change this mapping, as these are default fields. Anyway, mapping change is done by support so ask them.

But what is the issue with keeping both fields in Marketo :

  • The standard company name
  • The "contact" company name

?

You could even create that second company name on the lead object and have it double mapped (contact and lead).

-Greg

Anonymous
Not applicable

We're using a version of SalesForce designed for Associations called Nimble AMS. We ran into the "custom object" sync problem a lot and have managed some fixes for those if anyone runs into that problem and you want some insight I'm happy to help.

We also use "accounts" for people instead of "contacts" which creates another layer of complexity that we've managed to navigate around.