Solved

Collecting First Name via Multi-Step Form and use in Welcome Flow does not work

  • 30 November 2021
  • 6 replies
  • 229 views

Userlevel 1
Badge +4

Store: https://yxo-cosmetics.com/ (Signup form appears after 30 seconds)

System: Shopify

 

Hi there, 

 

I am trying to collect multiple properties (email, first name, interest) via a multi-step signup form. After users confirm the opt-in (DOI), they are added to the newsletter list and should receive a welcome message. In this message, I want to use the first name. However, the name never shows up (even after adding a 2-minute delay in the flow), and it always reverses back to the default, which is just an empty space. Besides from that, everything is working as expected. 

 

What am I missing? 

 

Thanks for your help

Hendrik

 

icon

Best answer by Dov 30 November 2021, 17:14

View original

6 replies

Userlevel 7
Badge +61

Hello @NextLevel,

Thank you for sharing this question with us. I’m glad to hear that you have everything set-up and users are flowing into your Welcome Series.

With respect to this issue, I am going to assume you are using the following tag:

{{ first_name|default:'' }}

If so, given what you’ve described, it sounds like any user who is seeing an email like your screenshot above, failed to fill out the first name field on the form. You can make the “First Name” field mandatory on your form avoid this issue. The “required” field can be accessed by clicking on the input field within the sign-up form builder and checking the checkbox.

 

 

After checking the box, I recommend running a test with a separate email address or an email alias “youremail+123@domain.com”, with the signup form. That will allow you to fill it out and receive a welcome series email. It should then have the name populated for every user who fills out this form.

I hope that helps!

Userlevel 1
Badge +4

@Dov: Thanks for taking the time to answer. 

 

I have double-checked the settings and can confirm that the field was set to “required”. One odd thing I have noticed is that the first name does appear in all profiles I have used to test the sign-up process. So there is no problem with getting and saving the information, but with filling the variable.  

 

Is there maybe a time lag between the sign-up and the data being fully saved in the profile? 

 

Best

Userlevel 7
Badge +61

Hi @NextLevel,

Thank you for your follow-up reply.

@Dov: Thanks for taking the time to answer. 

Is there maybe a time lag between the sign-up and the data being fully saved in the profile? 

 

Best

 

Nope, the first name should be populating in the email immediately with no time lag/delay. Can you confirm you are using the same tag for first name as I described above? I also suggest trying to use just

{{ first_name }}

and see if anything populates. If not, it may be that the first name is being populated, but as a separate property (not under the default property for first name). If the first name variable is filled in correctly, you should see it at the top of the profile like the following:

 

If you have first name logged under the Information Section of the Profile, then the first name variable is being passed through as a custom property rather than the default “First Name” field. In this case, you’d have to use a separate tag to successfully pull in First Name into your email. That tag would be the person-lookup tag like this:

{{ person|lookup:'First Name'|default:’’ }}

I would also check your font colors, it could be that the name is coming through correctly but it is simply whited out. If you highlight the text where the first name should be, see if you can see it. You can adjust the colors for specific text using this button:

Selecting the font color

Let me know if that helps.

Userlevel 1
Badge +4

Hi @Dov! Thanks again for your detailed instructions. 

 

I changed the variable to 

{{ first_name }}

Before it was 

{{ first_name|title|default:'' }}

and checked that the text is not in white color. It was not :sweat_smile:

 

After testing, I can confirm that:

  1. The first name appears in the email. 
  2. The first name is captured as a default property.

 

Then I changed the variable to 

{{ first_name|default:'' }}

After testing, I can confirm that:

  1. The first name appears in the email. 
  2. The first name is captured as a default property.

So this is working now :muscle_tone1:

 

However, during testing, I realized that the double opt-in email is already triggered when the user adds the email address (first step).

I could then confirm the opt-in and get the welcome message anyway without adding the additional info in steps 2 (name) and 3 (interests).

That’s not good at all, as I have built flows based on step 3 (interest). Is there any way to holding the double opt-in email back until the user fills in all information in the multistep form? 

 

Thanks & Best

Hendrik

Userlevel 7
Badge +61

Hello @NextLevel,

I am very glad to hear that portion is sorted out.

The double-opt in email will always be dispatched when the user fills in the email address input. Therefore, the solution is to re-arrange the email input field to the last step of the form. So your new flow would be step 1 (name) step 2 (interest) step 3 (email address). You can drag and drop the “Email Opt-in” section of the form by hovering the mouse over the middle of it

 

 

Userlevel 1
Badge +4

Hi @Dov!

 

Alright. In my opinion, the order (email, name, interest) would make more sense because I get the “buy-in” from our users and then just collect additional data. To me, it seems more likely that users are open to add more data after submitting their email address. 

But I don’t want them to get the double opt-in email so early in the process, so I changed the order as you proposed. Maybe I will A/B test this in the future. 

 

Thanks for your help. I really appreciate it. Have a good one! 

Reply