I love MailChimp.  It does so many things really well, the price is great ( especially if you don't have a lot of contacts, since it's free for less than 2,000 ).  It would seem like the perfect solution for a small business to send a monthly newsletter to it's customers.

One challenge I recently discovered, however, is that MailChimp really wants you to log in and create each newsletter.  While it's certainly a good idea to create a unique newsletter each time, this is not always something a small business will have the resources to manage.

In steps MailChimp's automation tools.  With the automation tools, you can set up various triggers that will send a newsletter automatically.  Think about an ecommerce application.  When a person makes a purchase, maybe you want to email them a nice message thanking them for their recent purchase, maybe some tips on how to best use their recent purchase, the possibilities are endless. 

When a customer recently inquired about how their new Website could be used to email their customers a monthly newsletter that contained a link to their content service, I immediately thought MailChimp would be an excellent solution.  However, I was initially stymied about how to make MailChimp work for them.

For starters, the way their content service works is a bit different than what I am accustomed to.  It seems in some industries, rather than creating unique content in the form of a blog or something similar, they will subscribe to a monthly service that creates content for them, and makes the same content available to many of their customers.

Before you start jumping up and down about SEO and the value of original content, which was my initial reaction, this can make sense in certain circumstances.  

  1. For this particular client, the goal was not SEO, but rather offering useful tips to their customers.
  2. The content is not hosted on their site, it's hosted on the content service's site, and my client just links to it.
  3. My client wouldn't create this content on their own, nor pay for unique content ( which would be expensive due to the expertise needed ), so without the service, my client's customers would be deprived of these tips.

So, the content service is in place and performs it's responsibility well enough.  My job was to get this content to my client's customers every month.

The Constraints

What my client needs is a automated way to send the EXACT same email newsletter, with a link to their content service.  The URL to the content never changes, so there would be no need ( or willingness on my client's part ) to log into MailChimp and update the campaign. They just want to set it and forget it.

MailChimp has the ability to use feed ( like RSS ) to trigger these email newsletters.  It can actually parse the feed to use as the content for the newsletter.  While I can see this being a useful feature, it would not work for my client, because their content service does not provide any sort of feed.  I'll keep this one tucked in memory for future projects.

The only trigger that makes sense is a time duration ( once every 30 days ).  My client wants the newsletter to be sent once per month, on the same day for all subscribers.  

However, MailChimp doesn't really have a great way to configure this.  It seems this isn't a use-case they considered when designing their automation tools.

Date Based Automation

The one automation that MailChimp offers that seemed to fit my client's needs is the Date Based automation.  

Date-based automations can help you engage with your subscribers throughout the year.

There are four Date Based automations that MailChimp supports:

  • List added date
  • Birthdays
  • Specific date
  • Recurring date

List added date is great if you want to have a funnel-type of workflow.  Set up one or more emails when a person subscribes with messaging designed to move them towards your goal.

Birthday emails are just to make your organization seem more personal.

You can use specific date campaigns to touch subscribers on holidays, important shopping days, etc.

Recurring date is based on a field you create on the subscriber profile.  This can be an anniversary of any type.  The day you adopted a pet, the day you bought a car, whatever.

Missing from these otherwise useful Date Based automation triggers is the one thing I need, a trigger that I can use to send a MONTHLY email to all subscribers on the same day.

The Work Around

Since these are the only tools I had to work with, I had to think a bit differently about my problem.  Really, I wanted to send a monthly email, but what if I could send an annual email, once per month?  

Instead of sending 1 monthly email, I could send 12 annual emails, just on separated by 30 days?  That seems to meet my needs.

The Solution

I would need to put a couple of pieces in place to make this work, since it doesn't seem that MailChimp wants to support this use-case out of the box. 

The Template

The first step is to create a template that is actually less of a template and really a copy of the actual email that I want to send.  I used MailChimp's Template Builder to create what would be sent each month, complete with logo, text, and links that the subscribers would receive.  

The Date Field

The next step is to add a new date field to the subscriber profile.  Read more about how to add fields. There are a few things I needed to consider:

  • I need the field to have the same value for each subscriber ( more on this in a bit ), as this will be part of my trigger.
  • I do not want the subscriber to access this field directly, it wouldn't make sense to them, and if they altered the field, it would mess up my plan.
  • This field will determine what day of the month my emails send, so I need to set it for a day when I can be fairly certain the content will be updated.

I created a date field, Newsletter Date, and set it for an arbitrary month and year.  The day is the important piece.  I want my email to go out in the middle of each month because ( according to my client ) the new content is sure to be updated.  For this post, let's say, 11/15/2017.

You'll want to pay attention to, and probably notate the name or merge name you give this field.

Populating the date field.

Unfortunately, MailChimp does not allow you to set a single default value for a field.  Instead it uses a "merge" value, so that when this field is merged into your template, it will be populated, unless it is otherwise set. 

This is annoying, because it would require someone editing each record by hand, as you'll see.

When I first set this up, I imported their existing customers, so it was easy enough to add a column to the CSV that had the date field populated.  But what about new subscribers on their website?

What I had to was hard code a value for that field, so when a person signed up, it would insert the correct date into the field we created.

How you do this will depend on how your subscription form works.  If you are using the form MailChimp provides, you will probably want to use the Embedded Forms, choose Advanced, and add this field as a Hidden Field.

For my purposes, I am using a module that let's me map values to the MailChimp fields.  If you are using Drupal, you will want to check out Webform MailChimp.

Recurring Campaign

Now that we have a reliable date field on our subscribers, we need to set up a Recurring Campaign.  

In MailChimp:

Step 1 - Click Campaigns
Step 1 - Click Campaigns
Step 2 - Click Create Campaign
Step 2 - Click Create Campaign
Step 3 - Click Create an Email
Step 3 - Click Create Campaign
Step 4 - Click Automated
Step 4 - Click Automated
Step 5 - Click Date Based
Step 5 - Click Date Based
Step 6 - Click Specific Date
Step 6 - Click Specific Date
Step 7 - Give it a name and select the list
Step 7 - Give it a name and select the list with your date field.
Step 8 - Create your triggers.
Step 8 - Create your triggers, one per month, in 30 day intervals.
Step 9 - Create 12 iterations
Step 9 - Create 12 iterations
Step 10 - Click Design Email
Step 10 - Click Design Email for each trigger
Step 11 - Be sure to give each trigger a name so you can tell them apart.
Step 11 - Be sure to give each trigger a name so you can tell them apart.
Step 12 - Choose Custom Templates and customize if desired.
Step 12 - Choose Saved Templates and customize if desired.

Congratulations!  Now you have an email that will send to all subscribers on the same day each month, every year, with no interaction required.  Just make sure your new subscribers are getting the correct date added when they subscribe.