Salesforce Partner API constraints are well documented and necessary in any multi-tenant environment.
When a Salesforce email campaign is dispatched using S4S EXM, Sitecore will generate data in its analytics database. This information needs to be surfaced back in Salesforce so the marketer can determine the success of the campaign at an individual level. This is not achievable on a real time basis as the API count would be quickly exceeded on large campaigns.
S4S EXM pushes Sitecore analytics data to Salesforce using a Sitecore scheduled task. A setting in web.config determines when and how often a Sitecore scheduled task will run. Typically this is set so the task begins during the night when server loading is lowest. minimal. The task will update every Salesforce contact or lead that is a member of the Sitecore campaign.
A Get Sitecore Email Campaign Analytics's button on the lead or contact record lets sales operators update Salesforce immediately.
Both processes use the same back-end functionality and retrieve the analytic information in bulk, minimizing the number of Partner API calls.