Personalize Surveys

Personalizing surveys is a powerful method to increase response rates and provide a great User Experience. With Refiner, it’s easy to personalize the content of your surveys with the help of so called “Liquid Tags”.

You can add Liquid Tags to the title or description of any question. These tags are then dynamically replaced with user data when the survey is shown.

Personalize the title or description of a question with Liquid Tags

Prerequisites for Survey Personalization

To use personalization, you need to have user data (e.g. First Name, Company Name, etc.) in your Refiner account to work with.

There are multiple ways to send user data to your Refiner account. If you installed our Javascript client, the easiest way to import user data is to use the “identifyUser” method. You can also import user data through our API, Segment or Zapier integration.

Add Liquid Tags to your Surveys

Once you have user data showing up in your account, you can start personalizing your survey questions and/or the description text of each question.

You can use Liquid Tags in the Headline and Description of any question.

As mentioned above, the templating language we are using is Liquid which is a simple to use templating engine developed by Shopify.

While Liquid offers various complex control elements – such as if/else commands – we recommend keeping the usage of tags light and simple.

Available user data

Refiner provides user data in two objects:

  • Contact: All user data which you sent to us through an identifyUser call is stored here.
  • Account: This object contains data if you are grouping your users into accounts (“companies”, “teams”, etc.). This is a slightly advanced feature and you’ll likely won’t need it.

You can find a list of all available data fields in your Refiner dashboard under “Settings > Data Attributes”.

All available data fields can be found in the Settings of your Refiner project.

Three popular examples

Here is a very basic example that adds the name of a user:

Hello {{ contact.first_name }}, good to see you.

If you are not sure if you have a first name on record of all your users, you can use and if/else statement as followed:

{% if contact.first_name %}Good to see you again {{ contact.first_name }}{% else %}Hey stranger!{% endif %}

Another popular option is to define a default value as a fallback:

As a user on the {{ company.subscription | default: 'Free' }} plan, we would like to hear your opinion.



Was this helpful? Let us know with a quick a vote