Re: Changes to Marketo Salesforce Sync – Questions and Discussion

Mike_Reynolds2
Level 10

Re: Changes to Marketo Salesforce Sync – Questions and Discussion

That's odd. Probably ought to Contact Marketo Support  at this point so it can be looked at in detail.

Mia_Whitfield
Level 2

Re: Changes to Marketo Salesforce Sync – Questions and Discussion

Mike,

We've been going round & round with support on an issue where Salesforce Collision Detection is being triggered by a Marketo "edit" during sync which is actually just locking the record to read.  (Why Marketo needs to lock the edit to read, I don't know, but that's what Support says is happening.)

Given the timeframe overlaps with your other changes, I wonder if there is some relation to the architectural changes you are making.  I hope you can help, as it's a very big issue for us, negatively affecting speed of use and adoption, and giving a negative impression of Marketo.

Here's what's happening:

1. User edits a contact (often changing the parent account) and saves.

2. Marketo sees the change and locks the contact to read as part of the Salesforce-Marketo sync.

3. User wants to save a second edit on the contact, but Salesforce believes that Marketo has made a more recent change, and triggers Collision Detection error.  This forces the user to reload the page and re-enter the data before they can save.

During #2, does Marketo do anything to the record that would cause Salesforce to trigger Collision Detection?  This is happening frequently to us in situations where Marketo is (supposedly) only reading the record and has no data that it should need to write to Salesforce.

Thank you in advance for your help!!

Mia

Mike_Reynolds2
Level 10

Re: Changes to Marketo Salesforce Sync – Questions and Discussion

Hi Mia Whitfield

The first (and probably most important) question is whether you've already recreated the new fields in SFDC. The action of recreating the fields in SFDC is what starts the backfill process and kicks the whole thing off to start. That's what is being scheduled--the date range for when you're supposed to recreate the fields and start the process.

Now, if you've already recreated the fields, the backfill process is already running now (or may have finished, depending on when it started). So if it's running already, Marketo is pushing data to these new fields that are currently empty and have no values. If a record is passing through the standard sync cycle between SFDC and Marketo, that will update the new fields with the new values and since it's already been updated, it will kick it out of the backfill process because it isn't needed any more. All fields get updated when a change happens to the record on either side--the standard sync is queued and the record gets updated. That's true of the SFDC sync regardless of the whole thing with the MLM Package being removed.


In your scenario above:

1. User edits a contact and saves. ---This queues the record to be re-synced to Marketo

2. The record gets locked while the update is being written to Marketo. --This is expected behavior any time a record is updated on either side. You can't have the record being updated by two sources at the same time, so it gets locked to prevent errors.

3. User tries to make a second change but gets the Collision Detection error. Depending on how quickly that change is being made, this could also be expected behavior. If the user is going back into the record right away, then it's still being written to by Marketo. If you've already recreated the fields, you know for sure there's a new value being written into that record, so while the field is being written to, the record will be locked. Then the user refreshed the page and tries again, and by then the update from Marketo has finished, so you're able to get in again.

Any time a new value is written TO SFDC, it'll lock the record. During the integration change, if you've recreated the fields, every record getting synced will be guaranteed to have new values being written to it by Marketo because of the new fields.

Hope that helps!

Mike

Mia_Whitfield
Level 2

Re: Changes to Marketo Salesforce Sync – Questions and Discussion

Thank you for that explanation, Mike.  For clarity, I will focus on my record locking questions in this response.

You mentioned that:

  • when an SFDC record is edited, it is queued to be re-synched to Marketo, and
  • the record is locked in Salesforce while the record is being updated in Marketo

However, the error message we're seeing in Salesforce Collision detection is implying that Marketo made an edit:

"The record you were editing was modified by Marketo [integration user] during your edit session"

and it forces the user to refresh the browser before continuing.  If it was just a temporary lock while Marketo read the Salesforce changes, I wouldn't expect this.  Instead, I would expect the lock to be temporary and something the user could just wait out.  Is there something I'm missing here?

Thank you for your help!

Mia

Mia_Whitfield
Level 2

Re: Changes to Marketo Salesforce Sync – Questions and Discussion

Mike Reynolds​ Just wanted to make sure this question didn't get lost among everything else you are covering.  We are hopeful you will have some insights here.

For clarity, I will focus on my record locking questions in this response.

You mentioned that:

  • when an SFDC record is edited, it is queued to be re-synched to Marketo, and
  • the record is locked in Salesforce while the record is being updated in Marketo

However, the error message we're seeing in Salesforce Collision detection is implying that Marketo made an edit:

"The record you were editing was modified by Marketo [integration user] during your edit session"

and it forces the user to refresh the browser before continuing.  If it was just a temporary lock while Marketo read the Salesforce changes, I wouldn't expect this.  Instead, I would expect the lock to be temporary and something the user could just wait out.  Is there something I'm missing here?

Thank you for your help!

Mia

Jon MetcalfKathryn Langemak

Mike_Reynolds2
Level 10

Re: Changes to Marketo Salesforce Sync – Questions and Discussion

Mia Whitfield

I'd expect the record lock to occur during the update between Marketo and SFDC, but from the sounds of it, it's happening on records even after the Marketo update has completed, is that correct? As in, the update to the SFDC record goes through (it would help to check activity history for time stamps of exact changes as compared to when the edits are being made by SFDC users), and then later after it's finished, when the user goes into the record, it pops up the Collision Detection warning even if it's much later on. Let me know if that's accurate and if there are any inconsistencies with the time stamps in the record's activity history.

There's a pretty good chance that this is occurring within SFDC. I found an article in SFDC's site that just gives a general explanation of what a Collision Detection error is. Basically what we already know - record is being updated by another user at the same time.

However, I also found this discussion thread where other SFDC users found that the error was being caused by an Apex Trigger and that that's the most common reason.

The curve ball here is that it's identifying the Marketo sync user as the source of the record lock / collision detection. I'd check your Apex Triggers to see if any are reacting to integration related changes, or if they are in any way using the same user or profile that the Marketo sync user (integration user) is using. From the research I've done so far, it all points to Apex Triggers, but since that's all on the SFDC side, it's hard for us to pinpoint from the Marketo side (not our product) and I can only speculate why it's calling out the integration user.

Hope that helps!

-Mike

Mia_Whitfield
Level 2

Re: Changes to Marketo Salesforce Sync – Questions and Discussion

Thanks, Mike. The curve ball truly is the Marketo sync user as the source of the record lock/collision detection.  We don't use that user for anything except for connecting to Marketo.  To help me find the problem in the Activity History, would you please let me know the fields Marketo updates?  Then I can make sure they're all covered in Activity History tracking.  Thanks!

Mike_Reynolds2
Level 10

Re: Changes to Marketo Salesforce Sync – Questions and Discussion

There are set fields that are always synced between Marketo and Salesforce and you can find that list here: Default Salesforce Field Mapping - Marketo Docs - Product Docs.​​ Of course these new fields being recreated for this process would sync over as well. In addition to those lists, you can also figure that any custom SFDC field that the sync user has visibility to would sync down to Marketo and create a corresponding field there.

Another option would be to export the list of all Marketo fields: Export a List of All Marketo API Field Names - Marketo Docs - Product Docs  This will give you a full list of Marketo fields and the API names used, but the catch is that it doesn't actually show which ones are mapped to SFDC.

pastedImage_6.png

-Mike

Mia_Whitfield
Level 2

Re: Changes to Marketo Salesforce Sync – Questions and Discussion

Thanks, Mike, that's helpful.  I've set up activity history tracking for the contact fields we weren't already tracking and we'll see what we see.

Mia_Whitfield
Level 2

Re: Changes to Marketo Salesforce Sync – Questions and Discussion

Additional question for you, Mike... we just refreshed our Salesforce sandbox... I had been planning to install MLM before connecting it to our Marketo sandbox... instead, should I create the fields as you document above (even though our window isn't until October)?