Skip to main content
Question

How to pass hidden fields from Klaviyo form to Typeform


Forum|alt.badge.img+6
  • Active Contributor II
  • 19 replies

Hello,

I have this little challenge.

I would like to pass personal info (name and email) as hidden fields from Klaviyo directly to Typeform quiz.

This is the only way I could think off to first get GDPR consent so I can send future emails to anyone who submits Typeform quiz.

Here is the link of what I am trying to do.

https://www.arspharmae.com/test-formularjev

 

I know how to do it in this order:

Submits Klaviyo form → gets email with embedeed Typeform → Typeform quiz.

This passes hidden fields just fine.

I would like to eliminated an email in between if possible and pass name and email directly into form.

Like:

Submits Klaviyo form → go to url (Typeform quiz).

Thank you for your interest.

Did this topic or the replies in the thread help you find an answer to your question?

4 replies

Mich expert
Problem Solver III
Forum|alt.badge.img+6
  • Problem Solver III
  • 63 replies
  • January 28, 2025

To pass hidden fields like name and email from a Klaviyo form directly to a Typeform quiz without using an intermediate email, you can achieve this with URL parameters and Typeform's support for hidden fields. Here's how to set it up:

Step 1: Set Up Hidden Fields in Typeform

  1. Open your Typeform quiz in the Typeform editor.
  2. Click on Settings (gear icon) and select Hidden Fields.
  3. Add the fields you want to pass, such as name and email. These must match the parameters you'll send in the URL (e.g., name and email).

Step 2: Configure Your Klaviyo Form

  1. In your Klaviyo form builder:

    • Collect the name and email fields as part of the form submission.
    • Add a hidden field if necessary for additional tracking.
  2. Set the Submit Button Redirect URL to include the Typeform quiz link with dynamic fields. The URL should look like this:

     

    ruby

    CopyEdit

    https://yourtypeformurl.com/?name={{ first_name }}&email={{ email }}

    Replace https://yourtypeformurl.com/ with your Typeform URL. The placeholders {{ first_name }} and {{ email }} should match the variables used in Klaviyo.

    • If your form collects the full name, split it into first_name and last_name using Klaviyo's profile fields.

Step 3: Test the Integration

  1. Publish the Klaviyo form and submit a test entry.
  2. Check if the Typeform quiz opens and pre-fills the name and email fields based on the submitted data.

Step 4: Confirm GDPR Compliance

To ensure compliance with GDPR:

  • Clearly state in your Klaviyo form that users are consenting to email communication by submitting the form.
  • Include a checkbox for explicit consent if required.

Advanced Tip: Handle Special Characters

To prevent issues with special characters (e.g., &, +), use a URL encoder to encode dynamic values. Klaviyo typically handles this automatically, but confirm during testing.

Outcome

This setup eliminates the need for an intermediate email and passes user data seamlessly from the Klaviyo form to Typeform while maintaining GDPR compliance.

Let me know if you encounter any challenges or need further clarification!


Forum|alt.badge.img+6
  • Author
  • Active Contributor II
  • 19 replies
  • January 29, 2025

Hi Mich, thanks a lot.

I had already done all mentioned.

This is the “go to url link” in Klaviyo form leading to Typeform:

https://arspharmae.typeform.com/betacold-junior#name={{ first_name|default:'' }}&email={{ email|default:'' }}

The link was copied in Typeform Share option.

This is url once Typeform is opened in Chrome. It doesn’t show the name and email, just variables

https://arspharmae.typeform.com/betacold-junior#name={{%20first_name|default:''%20}}&email={{%20email|default:''%20}}

I am not what is wrong. Brackets maybe?

Best, Iztok

 

 

 


Amos Peace
Problem Solver III
Forum|alt.badge.img+5
  • Problem Solver III
  • 42 replies
  • January 29, 2025

Hello ​@Iztok,

 

The issue is that Typeform uses ? for URL parameters, not # (hash). The hash (#) prevents parameters from being sent to the server, so Typeform never sees the name and email values.

Fix: Change # to ?

Update your Go to URL link in the Klaviyo form to:

https://arspharmae.typeform.com/betacold-junior?name={{ first_name|default:'' }}&email={{ email|default:'' }}
 

Why This Works

  • ? (question mark) starts the query string, allowing data to be passed properly.
  • # (hash) is used for in-page navigation and does not send data to the server.

Final Steps

1️⃣ Update the Klaviyo form with the fixed URL.
2️⃣ Test it: Submit a form and check if the name/email appears in Typeform.

Let me know if you need further tweaks.

 

 

Best Regards,

 


Forum|alt.badge.img+6
  • Author
  • Active Contributor II
  • 19 replies
  • January 30, 2025

Hi Amos.

Thank you for your interest and help.

Sadly, I must inform you, this doesn’t work either.

This is the final URL in Typeform, once I submit a Klaviyo info.
https://arspharmae.typeform.com/betacold-junior?name={{%20first_name|default:%27%27%20}}&email={{%20email|default:%27%27%20}}

I also talked with the Klaviyo support and they basically said it is not possible to do it at this moment. 

Quote:
“The signup form, is not able to collect the data and pass it as hidden filed in the link, even if you use a multiple step form, this can't be achieved I'm afraid. I was looking for a workaround to automate this without sending an email, but I couldn't find any.”

They added:
“I think it's would be a really useful feature, I never had this request before and I found it interesting. I'll be more than happy to submit the feedback to our product team.”

I also asked them if it is possible to pass a GDPR consent from Typeform to Klaviyo, because then, the Klaviyo form in this case is unnecessary: 
“Regarding the gdpr, I'll add this to the product team feedback so that they can loop in the legal team to check if this is possible.”

Hope this is useful to anyone.

Thanks again Amos.

Best, Iztok