[How-to] Pre-Fill MailChimp Merge Tags Into Unbounce Forms

Make Converting Quick and Painless with Pre-populated Landing Page Forms

Imagine for a second that your ideal customer has just opened up the latest email from your company. The email hits all their pain points and you’ve convinced them to click that all important click-through button. From there, the landing page they end up on is not only personalized (addressing them by name), but the contact form already contains their information. All they’ve gotata do is click on your CTA and officially convert. I mean, really, how easy was that?! Everyone goes home happy, and it all happened so quickly.

But, can you actually have a lead’s contact info pre-populate in a landing page form like this?

Well, yes, it can be done. You can make forms a quick and painless experience for your landing page visitors, and when the path to conversion is simplified, you can end up converting even more (so long as your page and offer is actually persuasive).

If you use MailChimp and Unbounce, you can pre-populate forms with a few simple steps. It involves MailChimp merge tags, URL parameters, and an Unbounce form.

In MailChimp, *|MERGETAGS|* are typically used to personalize certain aspects of an email. You add a merge tag and MailChimp replaces that merge tag with information from your contact database. For example, if you use the merge tag *|FNAME|*, MailChimp will replace that merge tag with your recipient’s first name. These are typically used for introductions or salutations to give the email a personal feel.

BUT, with MailChimp you can also put these merge tags into the URL link that you’ve included in your email. Using URL parameters, you can pass personal information from your MailChimp contact database into your landing page’s form/. The Click Through button in the email that links the visitor to your landing page is where the magic happens.

Typically a link in your email that sends recepients to your landing page would look something like this http://unbouncepages.com/prefill_forms/. You can then add any URL parameter into a URL by adding this code at the end of the address: ?parameter=value.

Now, if you have a URL parameter in your MailChimp link that uses MailChimp merge tags, and it corresponds with a form field on your Unbounce landing page (i.e. First name, last name, email address), you’ll be able to pre-fill an Unbounce form with customer data from your MailChimp account.

For example, If I want to prefill a form with my customer’s first name, last name and email address, in MailChimp I add the following URL to my click through link: [http://unbouncepages.com/prefill_forms/?first_name=*|FNAME|*&last_name=*|LNAME|*&email=*|EMAIL|*]For each email that is sent out in a MailChimp campaign, those merge tags in the URL parameters will be filled in with the corresponding info from your MailChimp contact list.

When my email recipient opens that link they would end up on a landing page that looks just like this:

As you can see, the form fields are filled out and all my visitor has to do is click to convert. This reduces friction and gives my customer the ease of not having to fill out a form (this is especially handy if they’re a regular visitor to my site or promotion-specific landing pages and have already filled out forms in the past to receive other offers).

And there you have it. Making conversion quick and painless with pre-populated form fields for page visitors. Pretty ballin’.

But that’s not all you can do…

Add a Personal Touch to Your Landing Pages with Merge Tags and Dynamic Text

Now here’s where things get especially interesting. If you combined this MailChimp merge tag approach with Unbounce’s dynamic text feature, you can actually grab any URL parameter and put it into dynamic text.

In Unbounce, Dynamic Text Replacement allows you to swap out select words on your landing page to match keywords of your choice. For example, you might want to start geo-targeting customers based on their location and your landing page’s headline could swap out words to appeal to specific locations.

You could go from:
Get 50% off pro-grade roofing

Get 50% off pro-grade roofing, in Phoenix Arizona (or any specific city).

This targeting can make a big impression and a big difference when leads see you’re local to them.

Using this feature I added a personalized greeting to my page’s headline using the dynamic text URL parameter ‘first_name’. Dynamic text will grab the same first name as the form field is using.

Here’s how the page would look personalized: http://screencast.com/t/aWbemexSdY2.

This means that when folks end up on this page from your initial email, if Dynamic Text can pull their first name, it’ll personalize the page with it.

And marketers can definitely appreciate the power of personalization!

With Great Power Comes Great Responsibility

Now, all of this stuff from pre-populating forms with URL parameters, and the personalization using Dynamic Text Replacement is awesome.


When you’re pulling personal data like this, you’ve gotta be careful.

As a disclaimer, feeding personal information from email into forms runs afoul of Google’s Privacy Policy. So, if you’re using Google Analytics to track your landing pages, you’ll want to ensure that any Personally Identifiable Information (PII) from MailChimp is stripped out of the URL that Unbounce passes to Google Analytics.

Here’s some documentation we’ve got that covers this step

Want to take your Unbounce landing pages to the next level?
:spinbounce: Check out the Ultimate List of Unbounce Tips, Scripts & Hacks

"You could go from:
ÒGet 50% off pro-grade roofingÓ


ÒGet 50% off pro-grade roofing, in Phoenix ArizonaÓ (or any specific city)."

How is this possible without replacing any keywords on the landing page. In this example it seems like you have just added the geo-specific section to the end of the sentence.

Hi I’ve tried adding the merge fields (which match those in MC) to the unbounce landing page url but I only get a 404 message. The link works fine without the merge fields

Is there anything else I can check?

Many thanks

Hey Brian,

Thanks for getting in touch about this. I’ve opened up a support ticket and I’ll be emailing you about this issue. We can take a look at your setup and see what might be going wrong.

Look out for a reply from me shortly : ) 

This used to be an old old feature on Google Adwords called {lb.city} which if you used in the URL, would have worked as described.

But I am wondering how, now, it would do that. Joel I see you skipped over this question altogether; would love an answer please.