Segmenting a MailChimp List by Signup Source

I love Nathan Barry’s post on how he does email marketing. One small, but important, detail that I picked up the second time through the post is that Nathan keeps all of his subscribers in a single MailChimp list and then segments them down by signup source in order to deliver the most relevant content.

This is an excellent way to structure your list. You could achieve the same result with separate lists for each signup source, but that will become unwieldy when you want to send a single campaign to multiple lists, or to your entire subscriber base.

So, how do you capture signup source?

It’s really easy! Login to MailChimp and click on Lists in the left nav and then click on your list name. Click Signup Forms and then General Forms.

Add a hidden text field called SOURCE with a label “Signup Source” and a reasonable default value (in case you forget to pass one). Save your form.


Notice how I put the merge code *|SOURCE|* in the header of the signup form as well — this essentially lets you call your list something different to people signing up for different reasons versus settling on a generic name and potentially confusing people.

Now, wherever you embed your form, simply add the following line of HTML right above the <div> that encloses your submit button:

<input type="hidden" name="SOURCE" id="SOURCE" value=" Newsletter">

Obviously you should change the value parameter to whatever you want that signup source for that form to be.

That’s it — now you’ll have an extra property on every subscriber record that indicates which form they came in on. If you’re capturing email addresses with multiple different incentives, this extra bit of data is vital.


  1. Thank you. This is exactly what I was looking for!


  2. Quick question, I’m doing this on my forms (, but I’ve found it difficult to manage signups for different things (newsletter, courses, workshop), that I ultimately want all to be on the single master newsletter list. If a user tries to sign up to the list again, with a different “SOURCE” you get a big ugly error that they already exist. Have you experienced this at all?

    • Rob Sobers (Author)

      Hey Brandon – I haven’t run into that yet. That’s an edge case I haven’t tested yet, but I would consider it a bug. Have you contacted MailChimp support?

      Multiple conversions is tricky because, not only do you want to avoid the ugly error, you probably also want to keep track of historical conversions as well. This is where something like KISSMetrics or comes in. I’m using to track each subscriber’s historical form submissions.

Leave a Reply

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see