Hotjar is a tool used for product experience insights. With Hotjar, you can use heatmaps, recordings, surveys, and user interviews for a full picture of your User Experience.

Destination Info





Getting Started

Follow these steps to enable the Hotjar destination:

  1. Go to your Hotjar "Organization Settings" and copy your Hotjar Site ID. You'll enter this into the configuration setting in Freshpaint.

  2. If you’re already using Hotjar, remove Hotjar’s snippet from your code. Freshpaint will load Hotjar's tracking code for you.

Enable events in order to send them to Hotjar

Set up User Identification

In order to create user profiles and use those profiles to filter Recording and Heatmap data, create Segments, or show Feedback widgets and Surveys only to specific users, you need to have User Identification set up. See below for more on User Identification with Freshpaint and Hotjar.

Confirm Data is Sending to Hotjar

If this integration is set up correctly, you will see Heatmaps and Recordings beginning to populate.


When you call freshpaint.identify, Freshpaint will create a user in Hotjar by calling Hotjar's Identify API. The user properties sent to Hotjar are saved as User Attributes. These User Attributes can be used by Hotjar to enable advanced filtering and segmentation, giving you quality insights faster than before. You can send up to 100 user attributes on any site, with any number of users associated with those attributes. Read the following What Are User Attributes article in Hotjar's documentation to learn more.

Here is an example of an identify call to Freshpaint:

    "email": "",
    "firstName": "John",
    "lastName": "Doe",
    "phone": "555-555-5555"

Hotjar's Identify API cannot store arrays or objects passed to it

Hotjar's Identify API will reject these values if you attempt to pass them in the identify call.

Consider the following example:

    "email": "",
    "firstName": "John",
    "lastName": "Doe",
    "phoneNumbers": {

In the example above, the all the values in the phoneNumbers field will be rejected by Hotjar.


When you send an event to Hotjar via the Freshpant App, or when you call freshpaint.track, Freshpaint creates an event in Hotjar through their Events API.

Hotjar doesn't pass any event properties from Freshpaint as Hotjar currently doesn't support them. For more details on events in Hotjar, see this article on What Are Events? in Hotjar's documentation.

Consider the following example track call:

freshpant.track("Test Event", {
  event_id: "1234",
  test_property: "testing123"

Hotjar will reject the properties of the event - only the event name, "Test Event" will be recorded.

For Hotjar's Observe tools (Heatmaps and Recordings), Events are available on the Observe Business or Observe Scale plans. With the Ask tools (Feedback and Surveys), Events are available on the Ask Plus, Ask Business, or Ask Scale plans. See the Hotjar pricing page for plans and pricing details.

When you enable the Hotjar destination in Freshpaint, recordings will automatically be sent to Hotjar.

When you enable the Hotjar destination in Freshpaint, heat maps will also automatically be sent to Hotjar.

You can also view reports on the data you're sending to Hotjar on your Hotjar Dashboard:

Configuration Options

Connection Mode

Only client-side connection mode is available for this destination. Events originating from the user's web browser will be sent directly to Hotjar.

Event Transformations

Set up transformations to modify your data before it's sent to your destination. Read more about transformations here.

Last updated