Common questions, tips and help when debugging User Attributes/Identify API problems.
- How can I verify my user attributes are being sent to Hotjar?
- I have enabled User Attributes, but I cannot trigger Surveys/Incoming Feedback on them.
- I have a single page app. Do I need to make an Identify API call on every route?
- Can Identify calls be made using GTM?
- Why don't my User Attributes appear in Surveys or Incoming Feedback?
- Can I delete some/all User Attributes on my account?
- User Attributes are being collected - now what can I do with them?
- Why aren’t all my sessions from a specific user being captured?
- What is the maximum number of user attributes can we send?
- I have sent Personally-Identifying Information about anonymous users (using null value User IDs) to Hotjar. What can I do?
- How do user attributes affect user privacy?
- Do User Attributes inside Recordings get updated?
How can I verify my user attributes are being sent to Hotjar?
Your user attributes page allows you to see what user attributes have been sent to Hotjar, and what value types each attribute has. You can also check recordings for user attributes, which appear in the recording side panel.
I have enabled User Attributes, but I cannot trigger Surveys/Incoming Feedback on them.
Surveys require a call to Identify on any page you want to trigger a Survey based on a user's attributes. Most commonly, this points to user attributes only being set on certain pages. To reliably target Surveys based on user attributes, we highly recommend making a call to Identify on every page of your site.
I have a single page app. Do I need to make an Identify API call on every route?
We recommend calling Identify on every route, yes. This is because Hotjar treats every URL change as a new page, whether or not the browser window has loaded a new document. Certain tools rely (Surveys, Incoming Feedback) on the call being made after the URL change.
One thing to watch out for, is that the API call happens after your router has changed the URL. Making the API call before the router has finished changing routes may mean that Hotjar observed the API call on the previous URL. This would prevent targeting rules applying correctly.
Can Identify calls be made using GTM?
Yes! There are two things you may need to account for though.
First, you want to ensure Hotjar has loaded before making the call to Identify. Alternatively, it can be useful to assume it has not, and queue up calls by adding the following line just before your Identify call:
Second, GTM will need access to values you want to pass to Hotjar. Commonly, this is done using the GTM data layer, which acts as an interface for passing data from your database to services such as Hotjar.
Why don't my User Attributes appear in Surveys or Incoming Feedback?
Sorry, but this isn't supported yet! We intend for these values to appear in your feedback widget responses in the future.
Can I delete some/all User Attributes on my account?
It's not currently possible to remove user attributes from your account once sent in-app. You should bear in mind the limit of 100 attributes when setting up attributes, and take care to avoid accidentally sending attributes you do not intend to use.
If you do run into this limit, you can contact support. To help speed the process up, you should do the following:
- Delete any code sending attributes you do not need to Hotjar.
- Delete any recordings associated with attributes you no longer need to keep.
- In your support request, send a CSV including the exact attribute names you would like us to delete.
User Attributes are being collected - now what can I do with them?
Once Hotjar is receiving User Attributes, you can use them for the following:
Why aren’t all my sessions from a specific user being captured?
Your users may be out of the sample. Read What happens when I exceed my plan’s limit? for more information. Alternatively, they may have chosen to enable Do Not Track for Hotjar. You can read more about cases where Hotjar does not track users in Does Hotjar collect data from all my users?
If you are being sampled, you can increase your plan to avoid sampling. Unfortunately, we cannot do anything about users who choose to block Hotjar!
What is the maximum number of User Attributes we can send?
There is currently a maximum of 100 User Attributes that can be sent per site.
I have sent Personally-Identifying Information about anonymous users (null value User IDs) to Hotjar. What can I do?
Don't do this. No, seriously, do not do this!
If you have sent User Attributes to Hotjar on a null value, Hotjar has no way of attributing this information to a unique individual via User Lookup unless they consent to connect feedback responses with their email address. This is not an effective way of making sure all users who you have collected personal information about can be retrieved and deleted.
Do not send PII as User Attributes unless you have a User ID. We cannot do anything to lookup and remove this data if you do it. You would need to lookup and delete each user's data individually, or delete the Site in Hotjar.
How do user attributes affect user privacy?
Hotjar requires that in enabling user attributes, you abide by our terms and conditions, acceptable use policy, and accept the conditions of our data processing agreement.
User attributes are designed to explicitly allow you to perform lookup and deletion requests, allowing you to manage user data management requests, in line with privacy legislation requirements. They do rely on you passing a user ID that can be used for user lookup, so only pass personally-identifying information if you have a user ID.
Do user attributes inside Recordings get updated?
User Attributes are associated with a recording at the time of processing. They will reflect the value passed to Hotjar prior to the user's session ending. They are not updated after processing.
Practically speaking, this means that if a user's attributes are updated, an older recording will reflect different values than the newer one. Let's say a customer placed purchases on both their first and second visits to your site. On both occasions, you tracked them spending 100. You have a total_customer_value attribute tracking their total value to the company. The first session will show their total value of 100. The second will show their total value as 200.