Creating Randomized Email Campaigns

What happens when you need your survey tool to act like an email delivery system and your email delivery system to act like a survey tool?

That’s exactly what I came across when my boss wanted me to survey our company’s current newsletter subscribers. However, rather than invite the entire list to take the survey, he wanted only enough to product a statistically significant sample.

This post is going to cover the steps I took to force Campaign Monitor to behave like a survey tool.

Step One: Scrub the Subscriber List

First, I had to randomly select people who would be invited to take the survey. I could do this manually if I was a glutton for punishment, or I could let Excel do the work for me.

To do this, I exported my subscriber list from Campaign Monitor into a .csv file and opened it up in Excel. I added a new column to my spreadsheet called “Random” and typed the Random Number function in the first cell: =Rand()

The function outputs some funky looking decimal, but it’s completely random. So I repeated the function for the rest of the cells in the column until every subscriber had a number. I selected the entire form and sorted the data (Data > Sort) by the Random field, largest to smallest. That left me with a completely randomized order for my subscriber list.

My boss determined that how many responses would be statistically significant for our survey. Knowing that our email campaigns typically average a 33% open rate, I tripled that number and used that as the number of I would use for my sample pool. I deleted every subscriber after that number to finalize my list.

Step Two: Set a Custom Field

I use Campaign Monitor for anything and everything related to creating and sending email campaigns and, while my love for it borders on the inappropriate, there seems to be no way to randomly select subscribers from a master list. Otherwise, I could have skipped Step One altogether, right?

It’s very simple to create a new subscriber list in Campaign Monitor, but you’re kinda screwed if you’re on a unlimited monthly subscription plan. We pay $250 per month for our account and adding this new list would have pushed us into the next payment tier, doubling our total to $500 per month. That’s an expensive survey!

So, I got a little crafty to avoid that charge. Campaign Monitor allows you to create Custom Fields for the purpose of creating more personalized messages, though can also be used to segment your lists for more targeted sends.

To take advantage of these features, I added a new column to my spreadsheet called “Survey Sample” and added the number “1” in it next to each subscriber in my random list.

Then I went back in Campaign Monitor to create a custom field. You can do this very easily by:

  • Navigating to the “Lists and Subscribers” tab
  • Select the list you want to add the custom field to
  • Click the “Custom Fields” option in the right menu

I named mine “Survey Sample” and set it to be a numeric field.

Step Three: Import the List

Among the many nice features of Campaign Monitor (I can’t name enough of them!) is its ability to de-duplicate subscriber lists. That means you can try to add the same email address over and over again, but it will only take it once.

At the same time, it recognizes whether new information is available for the address you’re trying to import. For example, if there is a new name associated with the email address, it will updated with the latest import.

That worked to my advantage because I was able to re-import my random list into the master subscriber list in my account (1) without creating a duplicate subscriber and (2) updating each subscriber with my new Survey Sample custom field. No harm done and my list is still completely intact with the new Custom Field information!

Step Four: Segment the Master List

My last step was to segment my master list of subscribers. Segments are a handy little way to create sublist of subscribers that share a common attribute. For example, if your list includes the state field, you can create a segment of all subscribers in California and send a campaign targeted directly to them.

Creating a segment is as easy as:

  • Navigating to the “Lists and Subscribers” tab
  • Select the list you want to segment
  • Click the “Segments” option in the right menu

Campaign Monitor does an excellent job of guiding you through next steps from there. I named my segment “Survey Sample” and based it on the “Survey Sample”field for any subscribers that equal 1.


After I saved my work, I was left with a perfect list of randomly-selected subscribers to invite to take our survey. We can argue whether or not the survey could have just been sent to the entire list, but this solution allowed me to accomplish exactly what my boss was looking for while saving us $250 to boot.

Maybe now I should solicit Campaign Monitor to extend the randomizing feature of its A/B tests to any sent campaign. (Wink, wink.)

✏️ Handwritten by Geoff Graham on August 7, 2012


  1. # August 7, 2012

    Hey there Geoff, this is Ros from Campaign Monitor – we hear ya! Thank you so much for this clever writeup and yes, by all means use the app as a survey tool – we’re so glad we saved you a fair few bucks in the process :)

    I’ve added your vote internally for randomized segments – every now and then we get this request, usually for testing purposes. Naturally, we’ll keep you posted if it’s something we add in a future release. 

    Thank you again, Geoff and keep up the brilliant work! We’re looking forward to hearing more about your adventures in our app :D

    • geoffgraham
      # August 8, 2012

      Thanks, Ros! I love that you guys keep up with your customers and follow-up with feedback. Keep up the awesome work!

Leave a Reply

Markdown supported