One of the new features going live this weekend in MailChimp is what we call “Smart Merge Tags.”
If you’re a MailChimp customer, you’re familiar with sticking the merge tag *|FNAME|* wherever you want the recipient’s first name to appear. Simple stuff.
But we’ve got a new set of merge tags that let you do some really smart stuff with logic and conditions and A/B test content…
Here’s a list of some of the new Smart Merge Tags in MailChimp, and what you can do with them.
Simple Stuff
*|TITLE:MERGE|* will upper-case the first letter of each word of the field, so that *|TITLE:FNAME|* *|TITLE:LNAME|* will convert “roGEr WATERS” into “Roger Waters”
*|UPPER:MERGE|* will upper-case all the letters in the field
*|LOWER:MERGE|* lower-cases all the letters
*|HTML:MERGE|* will print the field without escaping. So if you merge in HTML code like, <b>Bananas!</b> it’ll actually render like: Bananas! in your email.
Interest Groups
*|INTERESTED:Pizza,Pie|*
This will only show up if they’re interested in pizza or pie
*|END:INTERESTED|*
Note: the interested block right now can only do OR, not AND conditions.
A/B Splits
For A/B splits, there’s
*|GROUP:A|*
This will only show for group A
*|END:GROUP|*
(this lays the foundation for upcoming A/B tests on content)
Advanced Stuff: Conditions
Ever wanted to dynamically change content in your campaigns, based on the recipient?
In general,
*|IF:MERGE|*
something
*|ELSE:|*
something else
*|END:IF|*
For example, a sporting goods store could send a holiday promotion to its entire list, but swap out the offer by the recipient’s state:
*|IF:STATE|*
*|IF:STATE=CA|*
Save 20% on surf boards!
*|END:IF|*
*|IF:STATE=GA|*
Save 20% on Mountain Bikes!
*|END:IF|*
*|IF:STATE=FL|*
Save 40% on water skis!
*|END:IF|*
*|IF:STATE=CO|*
Save 50% on ski gear
*|END:IF|*
*|ELSE:|* Save 10% on everything in the store!
*|END:IF|*
More advanced conditions can be done like:
*|IF:MERGE != Bob|*
Your name’s not Bob!
*|END:IF|*
There’s also:
*|IFNOT:MERGE|* to do negative conditions.
And what if you want to start with “Dear *|FNAME|*” but not all your recipients have FNAME data (someone called about this yesterday)? You don’t want it to be blank. You can replace it with something generic:
*|IF:FNAME|*
Dear *|FNAME|*,
*|ELSE:|*
Dear Braves Fan,
*|END:IF|*
[...] create eye-catching HTML email templates around your feed, insert targeted advertising using our advanced merge tags for dynamic content, and then track your opens and clicks. Yes. Pretty designs, targeted advertising, and tracking. In [...]
This is very, very nice. Now, can we combine these dynamic content tags with RSS merge tags? Like for filtering RSS articles/content by category ? This would open the door to showing selected RSS content on selected spots in a newsletter. Cheers, HJH
This is awesome.. have done a lot with conditional content in the past with enterprise systems. If you need a beta tester let me know.
Will things blow up if I nest conditional IF statements? Is there an ELSEIF function? How about STATE=CA,OR,WA ?
Give an inch…
The STATE=CA,OR,WA won’t work, but nested IF statements are fine and there is an ELSEIF statement that can be used. You can go here: http://blog.mailchimp.com/resources/merge/ to see more advanced things that can be done with dynamic content.
I used the TOC merge tag in our newsletter…however, it did not show up in a Yahoo email. Is there something I can do to fix this?
This is awesome by the way…especially now that I could use it with a 2 column newsletter. Love it!
Are there more complicated conditions that can be tested for, and if so, what are they? For example, can I do *|IF:AGE>24|*, or even *|IF:(some function involving a number merge tag)=1|*?
[...] got an automated A/B testing tool, but did you know that if you use it in conjunction with our dynamic content merge tags, you can actually A/B test your content and creative (even your entire email design, if you [...]
Hi ben
With the a/b splits, are you saying that we can only code it so that group A sees an extra bit of intent that group B does not see, rather than group A and group B can see different content completely?
I’ve only used it to make groups A and B see different stuff.
So do we use the tag *|GROUP:B|* for the other group?
This is not really “Dynamic Content”, just a way of showing static text.
For example. Say there is a random piece of html I want to show to my list, can I get an XML tag like
*|XML:http://www.myxml.com/feed.xml|*
The above feed would be dynamic so the content injected ito the email is dynamic and random. Is this possible?
Is there an answer to Justin’s comment?
Can Mailchimp load data from an external XML feed to display dynamic content to the receiver?
hello, shouldn’t this work?
*|INTERESTED:Status:Member|* Unsubscribe |
*|ELSE:|* Unsubscribe
*|END:INTERESTED|*
Hi,
I am trying to do some tricky stuff
A half of my list has a full name field, other half of the half has First Name and Second Name fields, and others have nothing!
So I suppose merg tags should look like this
Dear
*|IF:FULLNAME|*
*|TITLE:FULLNAME|*
*|ELSEIF:FNAME|*
*|TITLE:FNAME|* *|TITLE:LNAME|*
*|ELSEIF:|*customer
*|END:IF|,
Is that correct? Seems to me it’s not, if you has all fields empty I see nothing instead of *customer*
Please could you help me to understand how to use ELSIF conditions
I would be much appreciated
Looking forward to hearing from you
Kind regards
Alex
This might be better for you:
http://blog.mailchimp.com/kb/article/how-do-i-set-default-merge-values-like-dear-customer
Thanks you Ben so much,
That looks interesting! Need to try
However I figured out where is my mistake seems was just a typo!
I forgot * on the end
Here is full merge tag’s condition:
Dear *|IF:FULLNAME|**|TITLE:FULLNAME|**|ELSEIF:FNAME|**|TITLE:FNAME|* *|TITLE:LNAME|**|ELSE:|*customer*|END:IF|*,
Works pretty fine! Recipient will not see ever any blank space after the greeting Dear
The only one thing I’ve mentioned this doesn’t work for personalize the recipient’s name “To:” field in a campaign settings
For some mails I am getting * instead of names, or even sometimes name+*, for example – First Name*
Dunno why! Any ideas?
Thanks in advance!
Regards
Alex
hey, it would really be super helpful if you could include something like.
*|IF:RSSITEM:CATEGORIES==’CONDITION’|*
Show something awesome and customized.
*|END:IF|*
I would love it if you could show me how to do this. If not then you have all Memorial Weekend to bust some new changes out =]
How is it I just found out about this. Too cool. Off to make a cool newsletter!
Custom mailing list message, based upon user interests?…
Personalization, segmentation and dynamic content in emails according to list variables is a basic feature on almost all ESPs. You can do this very easily with Mailchimp (http://blog.mailchimp.com/conditional-dynamic-content-in-mailchimp/) as I underst…