Embedding a Typeform survey in your project

Add a Typeform survey in your project, add hidden fields and use tips to customize and report about the results.

Stijn Zwarts avatar
Written by Stijn Zwarts
Updated over a week ago

Typeform is one of the multiple external survey tools we allow you to embed seamlessly in your project or project timeline phase. It’s the external survey tool we prefer above the other external survey tools, because of the design and question type capabilities and because it’s the only tool that allows us to link the survey data to the user data of the platform and to export the results from the back-end of the platform.


Embedding a Typeform survey in a project (phase)

You can add a Typeform survey on any phase of your project. You can first read this article on the general set-up of a survey project.

Have you chosen Typeform as your survey tool? Here are the steps you need to follow to embed your Typeform survey into the platform.

STEP 1 Create your survey inside Typeform

Here you can watch a short video on how to get started with Typeform.

STEP 2 Add a hidden field to your Typeform Survey

If you want to link the survey results to the user data of your platform, you need to link the Typeform survey to your platform by adding a ‘hidden field’ to your survey AND you need to make the survey accessible for registered users only.

With hidden fields either the email or the user-ID from registered user are automatically added to the survey results. This will allow you to link your Typeform survey results to the user data of the platform.

Take the following steps, before you launch your survey!

1/ On the right in the admin panel, click on "Logic" > Advanced > Hidden fields

2. Fill in "@user_id" or “@email” and click on "Save".

Important: always click on “Publish” on the top right corner of the screen after making any changes to update your survey.

Side notes on hidden fields

Side note 1: Hidden fields won't work when you embed a Typeform survey in the Content Builder. You can only use hidden fields when you embed a Typeform survey after choosing 'Create an external survey' as a method in your project (phase).

Side note 2: if you want to keep the barrier for filling in your survey as low as possible, and you don't necessarily need to be able to link the survey answers to the user registration data on the platform, you can also decide to just include a question to ask for participants' email addresses in the survey itself, or not ask for an e-mail address at all. It all depends on which data you need and what you want to do with them!

However, if you want to be able to avoid double entries, then you will at least need to ask for an email address to be able to filter out any duplicates.

STEP 3 Get the correct Survey Embed URL of your survey

You can find your embed URL in your Typeform survey by clicking on Share (at the top of the page) > Link > Copy the link

  • Typeform gives the option to customize the URL. Don't use this option because our platform will not recognize a customized URL. The users won't see the URL of the survey when you have embedded it on our platform.

Important: if you are using hidden fields, remove the end of the link before copying the embed URL. For instance:

STEP 4 Paste the Survey Embed URL in your project(phase)

Depending on whether your project has a timeline or not, you can paste the url either in a specific phase of a project, or immediately inside the project. Save your project, and your survey will appear in your project (phase).

STEP 5 Give participation rights to the survey to 'registered users' only

  • If the group 'registered users' doesn't exist yet, first create this 'smart group' of users

  • The group will now appear in the dropdown of the Access Permissions:

You're done now. CitizenLab will now pass down the email or user ID from signed in users. You can then download the survey results either from your CitizenLab platform, or from Typeform directly.

A few tips and tricks using Typeform

Ask your support questions directly to Typeform

Typeform is an external tool we allow you to embed in a CitizenLab platform. Our support team is not able to help you with questions on how to customize your Typeform survey. For Typeform related questions, you can visit the Typeform Help Center, and even contact the Typeform support service, mentioning you have a Workspace under the CitizenLab account.

Remove the "Powered by Typeform" branding

When creating a survey, Typeform automatically adds their logo to your survey. You can easily turn this off in the builder. When you click on the little sprocket you can switch of the branding next to "Typeform branding"

To remove the ‘Powered by Typeform’ text in your Survey, click on the following settings when creating your Typeform survey (left column) :

Don't include a ‘Welcome Screen’

When creating your Typeform survey, you could start by including a "Welcome Screen" (as shown below), but we don't recommend this. Why? It requires participants to click on an extra "Start" button (on this Welcome page) before they can actually start taking the survey. This will have a negative impact on the response volume as it creates an extra barrier for participation. Instead, we advise you to immediately start the survey with your first question, and include the introduction to the survey in your project description on the platform.

Share a Typeform report

When you have gathered the responses you need, you can check the results in Typeform. When you click on 'Results' in the Typeform builder you can check out the 'Insights', get a 'Summary' or check out the 'Responses' to export them to an excel file.

Under 'Summary' you can click on 'Generate a report'. You'll then get a good overview of the results and also a link so you can easily share the report internally or externally. When sharing the link, no password is required. So if you ask for personal contact details in the survey for instance, these will be accessible if you have the link. So make sure you only share the report through the link, if the results are anonymous.

Creating bilingual surveys

With the combination of hidden fields and question branching you can make sure the users of your platform will see the survey in the same language that they chose on the platform.

First you need to make sure that all the questions are created in all the languages that are available on your platform. If you have English and French users for example, you'll first need to create all the English questions and then add the French questions. If you have 10 questions, the first 10 are English followed by the same 10 questions in French.

When the questions are created, click on 'Logic' in the builder. Under 'Simple' you'll find 'Branching and calculations'.

In the screen that pops up now the first rule is 'Starting logic based on hidden fields'. Here you need to fill in the following:

  • if '@language'

  • is equal to 'fr'

  • then jump to [select the first French question]

  • In ALL other cases jump to [select English question]

NOTE: the language code should be the same as the one shown on the platform but with lowercase letters.

To make sure the English users don't end up in the French questions you need to set up a logic jump at the end as well. In the Question branching screen scroll to the last English question and fill in the following:

  • Always jump to: 'Default end' (or the end that you created yourself)

You can use the same settings for the last French question if you create different endings for both languages.

Be sure to read this support article where you can read all about using question branching.

Changing the default language of your Typeform survey

The builder of Typeform is in English by default. The buttons and text that Typeform automatically adds to your survey are also English by default. You can easily change this to your preferred language in the builder. When you click on the little sprocket the first option you'll see is the language. You can scroll through the languages to see which are available for your survey.

Using a closed survey message

In Typeform you can set a closing time on which the survey will automatically closed. This can come in handy when you don't want to close a phase in a project yet for instance.

When a user scrolls to the part where the survey is embedded a message will be shown stating that the survey is closed. You can edit this message easily in the Typeform builder. First click the little sprocket. Then click on "Access and scheduling" followed by switching on "Show custom closed message". You'll then have the option to create your own title and description or go with the ones that Typeform already created.

Using VLOOKUP to merge hidden fields survey with the exported user list

Inspiration taken from this article on Medium

Let’s assume you have a Contact data file with fields like first name, last name, email, etc. In the same file, you have a company id that is a unique identifier of the company. But all your company data is in a separate Company file.

VLOOKUP to the rescue. Let us go ahead and merge company data from Company file into the Contacts file in few simple (almost) steps:

  • Start by copying Company sheet from a separate file into Contacts file

  • Make sure that the lookup field is the first column in company datasheet. This important, as otherwise VLOOKUP() will not work

  • Now let’s pull a company name from the company datasheet. To do so, create a new column “company name” in the Contacts sheet. And populate first cell with the VLOOKUP formula. It looks likt this:

=VLOOKUP(D2,’company data’!A2:B3,2,FALSE)

  • In human language, the formula above means that we use the value in cell D2 to lookup corresponding row with the same value in a lookup table A2:B3, when found we take column 2 in a lookup table and populate it into the first sheet. Read this sentence 3 times to make sure you follow :) trust me, it will save you many hours later when you try doing this at home.

  • We are almost there, but before copying the formula to the whole column, make sure you have locked the table array using $ sign as following

=VLOOKUP(D2,’company data’!A$2:B$3,2,FALSE)

  • Now as the last step copy the formula to the whole column and enjoy the result.

Using VLOOKUP() function to join data from 2 spreadsheets

Some More VLOOKUP Tips

  • Make sure the ID column is first in the lookup table

  • Always, always, always set “FALSE” in the last parameter of the VLOOKUP field. The parameter has a very unclear name “range_lookup”. What it really means is that if you set it to FALSE, then Excel will try to find an exact match. For some strange reason, default value here is TRUE and creates unexpected results

  • Make sure that the cell data type is matching between the lookup field and a lookup table. For example, if the field type is number in the lookup field, but it’s a text in the lookup array, Excel might not match the fields correctly.


Need more help or support? Contact our Support Team via the chat bubble.

Did this answer your question?