Hi Marketo Community — wondering if anyone could provide some detail.
Problem: My company has an independent sales channel that provides us with most of our leads (contacts). These are being imported into Marketo today because we are working through some challenges with syncing. Specifically, if a contact provides us with something that is alternative than the information we have provided — such as a different mailing address or a name change — I believe it is stated in the documentation that Marketo would write to SFDC. However, in my business, we cannot allow name changes to be made from the Marketo end.
Ideally, we would like to have the ability to choose which fields we can write versus read-only. For example:
|First Name||Last Name||Company Name||Role||State||Birthday|
Are we able to do this on Marketo? Or within SFDC? How do we prevent changes from being made where it shouldn't be made?
If you're concerned about stopping Marketo from making updates to a field that already has a value -- whether that value was originally set in Marketo or in SFDC -- you can use the Block Updates feature in Field Management.
More complex arrangements need to be done using SFDC. Block Updates can't stop Marketo from updating fields from empty to non-empty (that is not considered an update).
Other ways to handle this, in addition to Sanford's idea of importing these data as "untrusted" and blocking field updates from untrusted imports.
1/ create validation rules or play with the profiles in SFDC to do this. Typically, what I would to is create validation rules that prevent the field updates when another field (lets call it "sales channel") is true. When you import, you set this field to true in Marketo and when the sync happens, the value is blocked. Then SFDC values will override the data in Marketo. The drawback of this method is that it will block any update to any fields, including filling in empty ones.
2/ Another way to look at it is to distinguish the leads that were created on import vs the ones that were updated. You can do this through importing in static lists and using appropriate filters (lead was created + "list is XXX" constraint). You can combine this with proxy additional fields in which you store a copy of the salesforce values for the fields you want to protect. Then, when the field is updated from import, you use some smart campaigns to restore the values from the proxy fields.