Periodically I see the Salesforce Sync Error "UNABLE_TO_LOCK_ROW" in our Marketo notifications. I understand that this error is due to some other process (specifically, an Apex job) running in our Salesforce org every hour and Marketo is trying to write to the same record(s). If we decide that we can't get rid of this other process, is there a smart way to retry the Salesforce sync? So far all I can come up with is a nightly batch campaign that looks for records that have not synced with Salesforce for 24 hours AND have had some type of activity (score change, filled out a form, changed status in any program) but with a fairly large database I'm not sure this is ideal. Any other suggestions?
Your own suggestion is correct. There are a few other options, but the best for the system and for consistency would be the nightly batch.