- Sometimes, the campaign member sync can run late. It's one of the objects that syncs last so if you have a lot of late sync, this may happen.
- Make sure that no one tempered with the member status labels in SFDC. If they are even slightly different (even an uppercase / lowercase difference), the sync will break
- Make sure that the leads themselves can sync. Look into their activity logs and check there is no sync error
Thanks for the Reply Grégoire!
Unfortunately, while they're good ideas I don't think any of those are the culprit.
1. Yes, but the Marketo program and the SFDC campaign would have been in alignment by the end of the Salesforce sync. I saw the Marketo <-> Salesforce sync complete multiple times with the statuses out of perfect alignment.
2. Nobody did tamper with the labels in SFDC. As you can see in the screenshots the labels are identical and worked for most, but not all of the leads.
3. I don't think this is the case, because all of the leads were eventually placed in the Salesforce campaign with the correct status when I disabled Program sync and used a smart campaign to push them to the correct status.
Even if a lead could sync in the past, it may happen it can no longer sync if some values have changed and SFDC is now preventing the update, such as a validation that now fires.