I am using the MailChimp for Salesforce SyncApps. I am also exceeding my API request limit in Salesforce.
Can you give me an estimate of how many API calls are needed to support a given list size?
Details: There are 25,000 subscribers in MailChimp. Does it mean 25,000 calls for each campaign? Does using additional merge fields affect the number of API calls?
SyncApps does the following process to sync MailChimp for Salesforce:
1. Checks in Salesforce email cache. if exists then do not process
2. Checks in Salesforce whether the email address exist, if exists then do not process
3. If email address does not exist in Salesforce then create a new record in Salesforce
For your sync, there is no cached data for most of the email address so SyncApps sends 25,000 requests to Salesforce to check whether the email address exists. Currently, we check one email address at a time. We might optimize to check a few contacts at once.
There are a few options to avoid this type of API issue:
1. You have selected Campaign as List feature but only have 48 contacts in this Campaign in Salesforce. To have an efficient sync, please turn off "Sync Campaign as List" feature then do an initial sync so all email address will be cached by SyncApps.
2. Or, alternatively, if you don't want new contacts to be created in Salesforce from MailChimp, you can disable two way syncing. Campaign Response will still be synced if you enabled this option but please note that only campaign metrics for contacts that have been synced from Salesforce to MailChimp will be populated so if you have only 48 contacts synced then only those 48 contacts will be populated with Campaign Response Metrics.
So in your use case, the first option is better.
3. Start with an empty MailChimp list for your "Master List" and populate the list with contacts from Salesforce is best practice to minimize API usage.
Estimate API Calls for Campaign Response Sync:
SyncApps needs fewer API calls if using an Empty MailChimp List as the "Master List".
Each API call can update 200 Salesforce records so for 10,000 campaign response only 50 calls will be needed.
Retrieving contacts/leads from Salesforce also requires far fewer API calls.
Currently, it is set 500 records per call so for 20,000 records only needs 40 API calls.
Currently, the issue is the email existence checking in Salesforce when an email address is not in cache. So if there are 20,000 records in MailChimp there will be 20,000 calls required if you do not sync all contacts/leads like in many of SyncApps subscriber's current configurations.
If you sync all contacts there will be no problem as on initial sync SyncApps will retrieve Salesforce contacts and put them in SyncApps Cache.