Mailchimp merge tags are short codes wrapped in asterisks and pipes, such as *|FNAME|*, that Mailchimp swaps for each contact's own details when an email goes out. Each audience field has its own tag, and Mailchimp pulls the latest data every time you send.
Here's the catch. Merge tags tied to audience fields are contact-specific, so they won't fill in on a test email, even if you send the test to an address that's in your audience. A test that shows *|FNAME|* or a blank doesn't mean the tag is broken. To see the real result, use Preview mode with Enable live merge tag info switched on, or send a live email to a small test segment.
The two kinds of merge tag
Mailchimp splits them into system merge tags and audience merge tags. System tags pull from your Mailchimp account: unsubscribe, update profile and forward links, social sharing, RSS content, account details and translation. Audience tags pull from your audience, from the audience name and signup form URL to each contact's email address and first name.
| Merge tag | What it does, as of October 2026 |
|---|---|
| *|FNAME|* | The contact's first name, if it's in your audience |
| *|LNAME|* | The contact's last name, if it's in your audience |
| *|EMAIL|* | The contact's email address |
| *|UNSUB|* | An unsubscribe link, required by law and Mailchimp's Terms of Use; add it with the link tool |
| *|UPDATE_PROFILE|* | Lets contacts change their preferences |
| *|ARCHIVE|* | A View this email in your browser link |
| *|MC:SUBJECT|* | The email's subject line |
| *|DATE:d/m/y|* | The date the email is sent, in the format you set |
| *|LIST:RECENTX|* | Links to recent emails, where X is how many; 5 if you leave it blank |
| *|OPTIN_DATE|* | The date the contact subscribed, for the confirmation page and final welcome email only |
You can use merge tags in regular and automated emails, text messages, and the final welcome email in the form builder. SMS merge tags work the same way as email ones.
Set a default value first
A merge tag only works when there's data in the field behind it. If someone signed up without a first name, "Hello *|FNAME|*," goes out as "Hello ," with a gap where the name should be. Set a default and Mailchimp fills it in instead: with the default set to Friend, they'll see "Hello Friend".
- Go to Audience and pick the audience if you have more than one.
- Open More options, then Audience fields and merge tags.
- Select the three dots next to the field, then Edit.
- Type your fallback text in the Default merge tag value field and save.
You can do the same from the form builder, under Field settings. Defaults work for every field except the required Email Address field and the Address field, and on image fields the default only shows as text. Defaults also appear only in sent emails, not in your audience data.
Inserting tags without breaking them
Typing a tag by hand is where most mistakes happen. Any typo shows your contacts the mistyped text instead of their details. The safer route is the Merge Tags menu on the editor toolbar, which drops the tag in exactly as Mailchimp expects it.
Mailchimp's troubleshooting list adds a few traps you wouldn't guess. Stray bold, italics or other formatting around or inside a tag can break it, so it suggests clearing styles around every tag. Square brackets around a tag can break it too. And if you have more than one audience, check you're using the tags for the audience you're sending to, because different audiences can have different tags. If you haven't picked an audience in the builder checklist yet, audience tags show as invalid.
Two encoding tags help when you put audience data inside links. *|HTML:YOUR_MERGETAG|* treats the field as raw HTML and changes nothing, which keeps URL parameters intact. *|URL:YOUR_MERGETAG|* URL-encodes the value instead, so a phrase with spaces works inside a link.
Conditional merge tags
Conditional tags show a piece of content only to contacts who meet a rule. You open with an IF tag and close with *|END:IF|* in the same content block. Mailchimp's own example shows a wine offer only to contacts aged 21 or over: *|IF:AGE >= 21|* then the offer, then *|END:IF|*.
You can use equals, not equal, greater than, less than and the or-equal versions, along with IF, ELSE, ELSEIF and IFNOT. A neat use is a greeting fallback inside the email itself: *|IF:FNAME|* shows the name, and *|ELSE:|* shows Friend. You can also target groups with *|INTERESTED:GroupTitle:GroupName|*, as long as the group category has no colons.
Want AI doing the heavy lifting in your marketing?
I build the systems that handle the boring 80 percent, so you get your week back. Done properly, with the human kept in.
The limits matter. Conditional tags don't work in subject lines or with unique URLs, and they don't populate in test emails. Don't use AND or OR inside one condition, because IF checks the whole string, so *|IF:MERGE OR BAR|* looks for the literal text MERGE OR BAR. For number comparisons, use a number field, since a text field with non-numbers may not give the result you expect. If you're on Standard or higher, Mailchimp's Dynamic Content feature does a similar job without hand-coding the tags.
Fixing broken conditional tags
| Problem | Fix |
|---|---|
| Tag doesn't work at all | Conditional tags are case sensitive; check for typos and extra or missing spaces |
| Group content doesn't show | Match group names exactly as they appear in your audience |
| Broken conditional alert | Find the IF that has no matching END:IF in the same block |
| Extra white space in the email | Remove the spaces between your conditional tags |
| Extra line breaks in plain text | Move commas from outside the conditional tags to inside them |
In the new email builder, invalid merge tags are marked with an exclamation point icon as you work, and the Suggestions panel shows the total number of issues. Merge tags also don't preview in the email template builder, so create an email from the saved template and preview that instead.
My verdict on Mailchimp merge tags
I'd set a default for every name field before your first personalised send, insert tags from the toolbar instead of typing them, and judge them in Preview mode, never in a test email. Keep conditional content simple, one rule per block. If you're still working out whether Mailchimp's free plan covers what you need, here's my guide to whether Mailchimp is free, and if you want a ready-made layout to drop your tags into, try these free email templates.
Frequently asked questions
Why don't Mailchimp merge tags work in a test email?
Merge tags connected to audience fields are contact-specific, so they won't populate in a test email, even if the test address is in your audience. Use Preview mode with live merge tag info or send to a small test segment.
How do I stop a blank first name in Mailchimp?
Set a default merge tag value, such as Friend, in Audience fields and merge tags. Contacts without a first name will then see the default.
Can I use conditional merge tags in a subject line?
No. Conditional merge tags don't work in email subject lines or with unique URLs.
Why is my Mailchimp merge tag showing as text?
Usually a typo, missing asterisks or pipes, square brackets around the tag, or formatting such as bold inside it. Insert tags from the Merge Tags menu to avoid this.
Which merge tag adds an unsubscribe link in Mailchimp?
*|UNSUB|*. Add it with the link tool so it's clickable.


