How to Use Mailchimp for Salesforce

Ooh, I have always thought Mailchimp seems easy but there are some pretty hard things to grasp under the hood. So I found this site today which I think is very interesting.

https://chimpessentials.com/

Check it out if you really want to take Mailchimp from straightforward emails, to a marketing tool for your business.

Terminology

As the words Contact, Subscribers and Campaigns are used in Salesforce and in Mailchimp, I will always use the term MC Campaigns, MC Subscribers, SF Contacts and SF Campaigns to distinguish them. 

Contents

What Mailchimp for Salesforce can do

  • MC Lists and MC Subscribers are visible in SF.
  • MC Subscribers are matched up with SF Contacts or SF Leads based on Email Address.
  • MC Subscribers that subscribe on your website can be created as Leads in SF automatically. 
  • MC Campaigns are visible in SF.
  • All Mailchimp Campaign Stats are visible in SF (see Warnings).
  • You can subscribe SF Contacts to MC Lists (see Contacts).
  • You can unsubscribe SF Contacts to MC Lists.
  • You can bulk add and automatically add SF Contacts, Leads or SF Campaign Members to MC Lists (see Queries).
  • You can view a Subscriber record in MC from SF
  • Lots and lots of Reports in SF (See Reports).

What Mailchimp for Salesforce can't do

  • Check the Email Opt Out field in SF if the MC Subscriber unsubscribes in MC. See Example Process - Mailchimp Unsubscribe for a way to do this with Process Builder.
  • Unsubscribe a SF Contact or SF Lead from MC Lists if the Email Opt Out field is checked. (You need to unsubscribe them through the Manage Subscriptions button on the Contact or Lead form).
  • Override any data already in SF - eg if your MC List has Address details, when this MC Subscriber is linked to a Contact is SF it will not update the Address in SF.
  • Add data to new fields mapped to MC lists unless the record has changed in Salesforce. See https://connect.mailchimp.com/how-to/93.
    • Export the data from Salesforce and import to Mailchimp to update those fields.

Contacts and Leads

These screen shots show the SF Contacts Record. The SF Lead is set up the same.

Note: There are two layouts and one field that can be added to page layouts - I've added the Membership layout and the MC Subscriber field. The Subscriber layout takes up too much vertical space.

(Note that the MC Subscriber field only shows information based on the first List that that email address was found in, if you have multiple lists.

This is the Subscriber layout - it is shown in a full page when you click the Manage Subscriptions button on the SF Contact or SF Lead record.

From here you can subscribe or unsubscribe this SF Contact or SF Lead from the MC Lists shown. If there are Groups or Segments, you can modify them here also.

If the MC Subscriber has unsubscribed, the layout looks like this

It is up to you if you manually check Email Opt Out so that this is visible on regular Contact or Lead reports.

If the MC Subscriber email address bounced, this is what the layout looks like

Clicking on the MC Subscriber field shows the MC Subscriber screen - a very useful screen

From here you can see:

  • The latest opens, clicks and emails sent.
  • The Contact(s) and Lead(s) this email address is synced to in SF.

From here you can:

  • Click on the View Subscriber in MC link to open MC and see that subscriber in MC.
  • Click on the Manage Subscriptions button to go back to the Subscriber screen.

Queries

This is where the real power of Mailchimp comes in. You can sync any SF Contacts or SF Leads meeting any criteria, or SF Campaign Members to MC automatically. Eg you could

  • Add anyone that purchases a product from your website to MC automatically
  • Add anyone that attended an event (that you managed through Campaigns) to MC automatically
  • Add anyone with particular fields set in SF to a particular Group or Segment in MC automatically

See how to create queries here http://kb.mailchimp.com/article/what-is-mailchimp-for-salesforce

Basic setup instructions for Campaigns

  • Create a Campaign in SF
  • Add Contacts (or Leads) to that Campaign as Campaign Members
  • Go to the MC Setup tab in the Mailchimp App in SF
  • Click New Query
  • Select the MC List to add the SF Campaign Members to.
  • If necessary, choose the Groups and Segments that these SF Campaign Members will be added to
  • Click Next Step
  • Check Campaign Members
  • Select the SF Campaign name from the lookup icon next to the Value field
  • Click Next Step
  • This shows you a preview of the first 2000 Campaign Members in the SF Campaign
  • Click Next Step
  • Enter a name for this Query
  • Choose to run daily at 1:00AM (or any time that suits).
  • Click Save & Run

This will sync those email addresses to MC and add them as MC Subscribers.

On the MC Setup tab click Sync Now to see that the number of MC Subscribers for that list has increased.

The Mailchimp Member Queries list will also show how many subscribers have been added.

Any new SF Contacts or SF Leads that you add to that Campaign will now sync to MC automatically.

Ensuring Mailchimp Member Queries are Scheduled to Run

Go to MC Setup tab
Under Mailchimp Member Queries
Click Schedule button
Set your preffered time and click either Save or Save & Run Button
At the top of the screen, click the Turn on Hourly Sync button.
Set a reminder for yourself to ensure this is running. The results will appear under the Last Run column.

NOTE: If Turn on Hourly Sync is NOT selected, the sync will not occur.

 

Data Flow

From Mailchimp

  • Person comes to your website, enters their details to subscribe to your marketing list (and groups if they are implemented).
  • Person's details are added as a Subscriber in MC. 
  • On the hour, the MC Subscribers are synced with SF. 
  • All of the details including the Groups and Segments that that MC Subscriber are in, are created in SF.
  • If that email address already exists in SF.
    • The MC Subscriber data matches with the SF Contact and the details are shown on the SF Contact record OR
    • The MC Subscriber data matches with the Lead and the details are shown on the SF Lead record. 
  • If that email address does not exist in SF. 
    • MC will create a Lead in SF (if you have that feature turned on) OR
    • The MC Subscriber data will just exist in SF - not visible to anyone (unless you show the MC Subscriber tab - see Tips below).
  • When that person is sent an email via MC a record is created in SF. Other records are created when:
    • They open an email
    • They click on a link in an email
  • If that email address bounces when you send an email to them (hard bounce):
    • The MC Subscriber is "cleaned" (ie removed from the List).
    • On the hour the cleaned status is synced to SF.
    • The SF Contact or SF Lead record is shown as cleaned against that list.
      • Note: This only removes the MC Contact from the one List - the SF Contact only shows data on the Contact record for one List - it may not be the list that was cleaned - you will have to click on the Manage Subscriptions button to see the status of that SF Contact against each MC List.
    • If the email address soft bounces, it will still show as subscribed on the SF Contact.
  • When that person updates their profile to change the groups they subscribe to:
    • The groups are changed in MC
    • On the hour the new status is synced to SF
    • The SF Contact or SF Lead record shows the new Groups when you click on Manage Subscriptions.
  • When that person unsubscribes from the Mailing List:
    • They are marked as unsubscribed in MC.
    • On the hour the status is synced to SF.
    • The SF Contact or SF Lead record is shown as Unsubscribed.
      • Note: This only unsubscribes the MC Contact from the one List - the SF Contact only shows data on the Contact record for one List - it may not be the list that was unsubscribed from - you will have to click on the Manage Subscriptions button to see the status of that SF Contact against each MC List. This is why it is a good idea to not have multiple MC Lists.
    • NOTE: The Email Opt Out field in SF is NOT automatically checked when they unsubscribe. This is not really necessary. If you do want it, it could probably be achieved by a custom trigger.

From Salesforce

  • The SF Contact or SF Lead has Email Opt Out checked
    • If that Contact or Lead is added to a Query to auto add to MC, that SF Contact or SF Lead will NOT be created as a MC Subscriber.
  • You check the Email Opt Out field and the SF Contact or SF Lead is already a subscriber on a MC List.
  • You subscribe a SF Contact or SF Lead to a MC List.
    • On the hour, the List is synced to MC
    • The Contact is added as a MC Subscriber on that list.
  • You unsubscribe a SF Contact or SF Lead from a MC List.
    • On the hour, the List is synced to MC
    • The Contact is unsubscribed from the MC List.

Reports

MC for SF comes with a number of standard reports including

  • All Recent Activity by Campaign
  • Recent Opens by List
  • Recent Unsubscribes by List
  • Recently Created Leads from Mailchimp.

Some sample reports that you can create

  • MC Subscribers and SF Contacts or SF Leads
  • MC Subscriber activity against SF Contacts or SF Leads
  • SF Contacts that have recently unsusbscribed or been cleaned.

Tips

Mailchimp Subscribers Search

The MC Subscriber record in Salesforce contains the email Address of the Subscriber. When you do a general search in SF for that email address the MC Subscriber record is not found in the search. To add MC Subscribers (or any other custom object) to the search you need to create a tab for that object, and set it to be Default Off or Default On (not Hidden) for all profiles that need to search on this.

Then you can search on the email address in Salesforce, and when you click Search All, the MC Subscribers records will be shown.

Warnings

Be careful installing this or Campaign Monitor into an org that is tight on data storage. Or clean up your lists in Mailchimp before setting this up. An org I worked with had over 30 lists in Mailchimp, most of them with the same people in it, so it creates a record for every contact in every list - and as every record in Salesforce takes 2kb of data, it quickly added up, and was around 10% of their Salesforce data. 

Mailchimp creates a record in Salesforce for EVERY subscriber in Mailchimp - regardless as to whether they exist in Salesforce. Be very careful with this for large lists. 

Ensure when you are setting up the lists that you choose to "Sync Subscribers Only" to minimise the amount of data in Salesforce.

Data Storage

It seems that the following records are created:

  • 1 record for each List in MC - MC4SF__MC_List__c
  • 1 record for each MC Campaign - MC4SF__MC_Campaign__c (question)
  • 1 record for each hour, for the first 24 hours of each MC Campaign - MC4SF__MC_Campaign_Hourly_Stats__c (question)
  • 1 record for each Group in each List in MC - MC4SF__MC_Interest_Group__c
  • 1 record for each MC Subscriber's group preferences for each Group in each List in MC - MC4SF__MC_Interest_Group__c
  • 1 record for each MC Segment in each List in MC - MC4SF__MC_Static_Segment__c
  • 1 record for each field in each List in MC - MC4SF__MC_Merge_Variable__c (question)
  • 1 record for each MC Query in SF - MC4SF__MC_Query__c
  • 1 record for each filter condition in each MC Query in SF - MC4SF__MC_Query_Filter__c
  • 1 record for each MC Subscriber in each List. If one person is in two or more lists, that creates two records in SF, even though only one record is shown on the SF Contact page. These records are created regardless of whether the person with that email address is a SF Contact or Lead - MC4SF__MC_Subscriber__c
  • 1 record for each action each MC Subscriber takes with your Campaign email (Subscriber Activity). If one MC Subscriber opens your email 4 times, that's 4 records in SF. NOTE: You usually can't even see this data in SF because you get the error message "Maximum view state size limit (135KB) exceeded" - MC4SF__MC_Subscriber_Activity__c (question)

Remember that each record creates 2kb of data storage inside of Salesforce, so for a large Mailchimp setup, this can quickly chew up your data in Salesforce. 

I would really like to see an option on installation that splits this up into two sets of data - subscriber data and campaign data (the ones marked with a (question) above). You should be able to install Mailchimp for Salesforce without the overhead of the campaign data, as it adds nothing to the value of the app (except for maybe having Salesforce users not having to log into Mailchimp to see the stats, which is of little benefit).

Or at least choose to only sync the latest X days of campaign data, and it would bring back only the Campaigns and Subscriber activity in that time frame. 

Fabulous! this is now an option in MC4SF so I will have no hesitation in recommending this app now.

Mailchimp Usage Tips

Remember, in Salesforce, Organisations (Accounts) do not have email addresses. You email a person, not a company.

If the Organisation really does not have a contact, then create a dummy Contact like Default Contact Company name and add the email address there.

Note that Mailchimp will not import role based email addresses, but you can add them manually if you really want.   

Lists

Only have one list in Mailchimp, unless there is a very good reason to not. 

When you have one list, when the person clicks the unsubscribe link they have to unsubscribe from ALL communications. To unsubscribe just from the newsletter, then they need to update their profile. To do this, I think you need to modify your links at the bottom of the emails to two links:

  • Update your profile to change which emails you receive from us - goes to the profile form (see below)
  • Unsubscribe from all emails from us - goes to the unsubscribe form. 

See this video http://kb.mailchimp.com/article/how-can-i-add-a-update-profile-link

If the person unsubscribes from the list it will mark them as Unsubscribed in SF, so you should honour that. 
So it may be valid to have the following groups:
  • Newsletter
  • Events
  • Regular emails from us

People can modify groups in their profile, but you can also have private groups that you decide how and when MC Contacts are added to them (either by using SF Queries or from within MC).
You create a signup form with the groups on it so that people can choose which groups they subscribe to. On your website you can either just add a link to the subscribe form, or create an embedded form - that is just a simpler version of the signup form, but still includes all the profile fields. 

Example

Example

  • You have some people that have signed up on MC and are not in SF - they have said that they have the interest of Dogs. You create a segment in MC to include where anyone has said they like Dogs in the groups. Call it "Doggy Peeps". 
  • Then you set up a MC Query in SF to combine that list with all the people in your "Dog Owners" Campaign or even just people with a Contact Type of "Dog Owner" or Lead Source of "Dog Show" if you had such a field. 
  • So the MC Segment "Doggy Peeps" includes those that are subscribed only by MC and say they are interested in Dogs, those that may or may not be in SF and have updated their profile to say that they are interested in Dogs, and those that you have explicitly added via your SF Campaign (or query on Contacts or Leads).
  • So now you can send an email to the segment of "Doggy Peeps" about the latest news for your 4-legged friends.