Available for Feedback and Surveys with Ask or plans. See the Hotjar pricing page for plans and pricing.
With the User Attributes feature, you can send attributes about your users to Hotjar and use those attributes to target on-site Surveys and Feedback widgets based on predefined conditions. For example, you could tell Hotjar exactly when somebody signed up for your service, what industry they work in, or what their total customer lifetime value is.
This allows you to target a specific set of users visiting your site, such as “target this Survey to paying customers only”, offering more relevant answers to the questions you have about your users.
If you haven't yet set up User Attributes for a site now, check out our How to Set Up User Attributes article.
Can I see User Attributes in my Survey or Feedback responses?
After setting up User Attributes, these attributes are currently only visible in the downloaded CSV or XLSX file for your Survey responses. We hope to expand this to the Feedback tool, and also make the attributes visible within Hotjar in the future. However, currently, this is functionality is not available.
- Sending User Attributes with Survey Responses
- Targeting On-site Surveys and Feedback widgets with User Attributes
Sending User Attributes with Survey responses
When exporting your Survey responses, it can be useful to see the User Attributes for users that submitted a response. User Attributes will only be captured alongside responses for on-site Surveys (Popover or Full Screen) and can only be viewed in the downloaded CSV or XLSX Survey responses file. External Link Surveys will not include User Attributes with responses, as this type of Survey is hosted by Hotjar, meaning the coded you use to send User Attributes to Hotjar won’t be present on the External Survey page.
Enabling Session capture is not required for targeting with User Attributes that are already present in Hotjar
User Attributes that are already available for use inside Hotjar can be used to target Surveys or Feedback widgets, without needing to enable Session capture. You can check what User Attributes are already available on your User Attributes page. To target based on a new User Attribute that's not already available inside Hotjar, you'll need to execute an Identify API call while sending a Survey response, or while enabling Session capture so that Hotjar can receive the new attribute.
Create a new Survey or Feedback widget.
If you're not sure how the following guides can help:
In the Targeting section, select Specific users
Click Add attribute
Once you have selected one attribute and condition, you can add more by clicking Add attribute again. Hotjar will only display the widget if the user matches all the attributes listed. ('AND' logic is used here, not 'OR')
Remember when adding multiple attributes to the targeting rules
If you're combining any triggers with user attribute targeting, then the trigger code will need to be added after your identify API code has executed. This is because the trigger will rely on information the identify API has already sent to Hotjar.
Select the attribute you want to target.
Select the attribute condition you want to trigger the widget on.
This allows you to be more specific about what user attributes the widget can trigger on. For example, you could select "all users who became a customer less than 7 days ago".
Once you have selected the correct condition, click Apply. After you've finished creating/editing the Survey or Feedback widget, it will only appear for users who match the conditions set with your User Attributes filters.
Targeting requires User Attributes to be sent with each session state change
To target a user, the attribute(s) must be sent to Hotjar each time the session state changes. This means that you should be sending User Attributes to Hotjar every time a new page loads, or the state changes in a Single Page Application. Hotjar reevaluates User Attributes after each state change, so without a new Identify API call for each page load or state change, the Survey or Feedback widget may not match correctly.