Using Dynamic Content to make your life easier in Mailchimp

Do you want all your recipients on the same list in Mailchimp rather than separate lists? Do you want to be able to create one email but with different content shown for different types of recipient?

We’ve put together this short step-by-step guide to help you do just that!

Looking at a example of having multiple sign up forms on your site that offer different free content for download, here’s how to do it in Mailchimp:

Step 1: Make sure the required data is available in your database

In order to serve different pieces of content to different subscribers, your database needs to include a field by which to filter accordingly.

For example you could create a new field called ‘Source’ and track each form on your website that your opt in’s originate from if you have multiple forms but only want to create one list of subscribers (see end of this post for instructions on how to do this).

Step 2: Create your dynamic content

In order to show different content to different people, you have to tell the email what it needs to do in each circumstance. We do this by including an ‘IF’ statement.

For example:

*|IF:SOURCE=Form1|* This is where the text you want to show for those who have subscribed through Form1 is placed *|END:IF|* *|IF:SOURCE=Form2|* This is where the text you want to show for those who have subscribed through Form1 is placed *|END:IF|*

So, to break it down:

*|IF:SOURCE=xxxx|* = starting container for piece of dynamic content

*|END:IF|* = end container for piece of dynamic content

These two elements must always be present (with your content in between) and created for each different version of content that could be shown (each different field value).

NOTE: If your recipient has something in the Source field in your database that is not Form1 or Form2, the text will not show at all or, you can add a default fall back.

Step 3: Add your IF statements to your email

Now you have built your IF statement, you should have something like this where 4 different forms are used and different content needs to be served for subscribers to each:

*|IF:SOURCE=Form1|* This is where the text you want to show for those who have subscribed through Form1 is placed *|END:IF|* *|IF:SOURCE=Form2|* This is where the text you want to show for those who have subscribed through Form1 is placed *|END:IF|* *|IF:SOURCE=Form3|* This is where the text you want to show for those who have subscribed through Form3 is placed *|END:IF|* *|IF:SOURCE=Form4|* This is where the text you want to show for those who have subscribed through Form4 is placed *|END:IF|*

Wherever you want different content to be shown for each of these forms, simply add this to your emails code:

A.      Open up the email you want to add this to

B.      Click to edit your text area

C.      Click on the ‘Source’ Icon  

Mailchimp - dynamic content screenshot creative source button

D.     Paste in your ‘IF’ statement block.

E.      Save it!

Step 4: Test it works

Test your dynamic content works through the testing platform or by registering via your forms, (different email address per form) – then send a test email to each of these addresses. (keep a note of which email account is associated to which form so that you can check the correct info shows)

How to get the data in there!

OK so here there are two main steps to ensuring the data is collected to track different sign up forms.

Step 1 – Create your custom field

  1. Go to ‘Lists’
  2. Select your list
  3. Select ‘List Fields and Merge Tags’ from the ‘Settings’ drop down menu
  4. Click ‘Add A Field’
  5. Select a field type to add (for this example, you would choose ‘Text’)
  6. Complete your new ‘Field Label’ (what you will know the field by when looking in your database) and ‘Put this tag in your content’ fields (see example below with ‘Opt In Source’ and ‘SOURCE’). Un-tick the ‘visible?’ check box (unless you want this to show to your potential subscribers on your form)

 Mailchimp - custom fields screenshot

Step 2 – Add the tracking to your form code on your site

Now you need to add this custom field value into the forms on your site in order to make a distinction between each one.

  1. Download your form code from Mailchimp as you normally would to add it to your website (or connect the form to a plugin such as Hybrid Connect).
  2. Look for this line in the code:

<input id=”mc-embedded-subscribe” type=”submit” name=”subscribe” value=”Subscribe” />

  1. Immediately before it, add this line of code (personalised with your details where highlighted):

<input id=”SOURCE” type=”hidden” name=”SOURCE” value=”Form1” />

(Where… SOURCE = your custom field merge tag | Value = what you want this form to be identified as.)

NOTE: Using this method and having all your subscribers in one list means that users can only subscribe once to your list (meaning they can only register to receive one of your giveaways – if you have multiple giveaways on different forms).

Another option…

If you don’t want to go through the above steps, simply create separate lists and campaigns in your account (this will also allow subscribers to sign up on multiple forms for different offers, but does mean that the lists may contain duplicate subscribers).

If you can set up the custom fields however but don’t want to use Dynamic Content, you could instead build segments from your list using your custom fields and create separate email campaigns to send to each segment.


Have you create  an email using dynamic content in Mailchimp? Do you customise your forms to track each for feeding into one list? Let us know in the comments below how its working for you!

Ready to take your email marketing to the next level?

If you want help to create a customer-centric, personalised, intelligent email marketing programme, get in touch with eFocus Marketing and discover how we can help you skyrocket your results.

You may also like...