Forms: splitting full_name field -> first_name and last_name with MailChimp integration


Hey Unbouncers!

Maybe some of you bright minds out there can help me with my problem.  

I currently have 2 form fields on my Unbounce landing page ( full_name & email.  I have mapped these fields to MailChimp successfully.  In my experience, 2 fields leads to a materially higher conversion rate than 3 fields (first_name, last_name, email).    

My problem: I want to send MailChimp campaigns that greet my list’s recipients by their first name (i.e “Hi John!” instead of "Hi John Zettler!).  This requires me to somehow split my full_name field into a first_name & last_name field.   I cannot figure out how to split full_name to first_name & last_name.

Has anyone been able to do this successfully?  Either on MC’s platform or via custom field mapping on Unbounce’s platform?


(If you’re still confused by my question, I am trying to solve for the opposite of #6 here:


Hi John!
This is a great question. We don’t currently know of an easy way to do this, but my hunch is that it should _be achievable with some javascript. I’ll ping a few customers who might have given this a shot at one point to see if they can give some recommendation. 


Great - thanks for asking around, Justin!

I was playing around on MC’s platform, but it’s not as open/hackable as Unbounce’s (with custom JS, HTML, etc.).  In the meantime, I might just switch to a first_name only field and wait to collect Last Name until User Registration (upon product launch, of course).  

If anyone else comes across an answer, I’d love to know!


I am in need of the same thing for my Fullname field going to infusionsoft. Infusionsoft doesn’t have fullname only firstname lastname and of course fullname is better for conversions. Please Help!


Yeah, this should be 101 standard best practice - it’s almost like the UB guys have not actually marketed to people :))


Hi @Jason_Kerr,

Splitting a full name into first and last name is one of those problems that only appears to be simple but in fact is not that easy to tackle.

You are making 2 key assumptions that when put into the real world would break any script that tries to accomplish the task.

  1. Visitors would always do what they are told, exactly how you want them to do it.

  2. The full name would always be 2 words, each name with a capitalized first letter and a single space between them

However, the above scenario would break your supposed implementation in any of the following scenarios:

  • Mr. Jason Kerr
  • MR Jason Kerr
  • Jason Kerr Jr.
  • Jason Kerr Junior
  • M.D. Jason Kerr
  • MD Jason Kerr
  • Jason A. Kerr
  • Jason Andrew Kerr
  • J. Kerr
  • J.K.
  • Jason von Kerr
  • JV Kerr
  • Jason K.
  • Jason Kerr, III

These are just a few edge cases that are actually quite common. When you trow in all the different ways a visitor might actually type those out…

So what appears to be an easy and quick fix can get pretty complicated pretty fast.

Yes, you can write a script that would account for most of these but at best that would be only accurate 90% of the time. You would constantly need to update it to account for all the new edge cases coming in.

If you rely on your script to do it’s job and that form’s data gets pushed to an automated system like MailChimp, you would be sending a lot of “Hi Mr.,”, “Howdy von,” “Welcome MD,” etc.

A better way to approach this is to ask for what you need immediately: First Name and Email. After that setup systems and automations to capture everything else.

Just my 2c.



Thanks Hristian, thoughtful reply.


Hello people!

I was looking for a solution for this problem earlier in the day and couldn’t really find a solid solution anywhere online so I decided to write a script in nodejs that does the job. Here is the link
Note I’m a full-stack developer.

I know this post is super old but if somebody new lands on this page, at least they will have somewhere to go.