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.

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.

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”.

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.