Getting started with Hull.jsUpdated 01/05/2019

Tracking users via Hull.js on your website is fairly easy; all you have to do is to install the hull.js snippet on your website. This can be done manually within the source of your site, or the snippet can be deployed via Google Tag Manager.

Embedded content:

Add hull.js to your Hull account

First, navigate to your dashboard overview within Hull and select the "Add Platform" button at the bottom of the page.


From the Add Platform screen, you can assign a name for the platform, and define the domain(s) that you want hull.js to run on. Enter the primary URL where the snippet will run in the "Homepage" field. You can whitelist additional domains in the "Allowed domains" field.

When you're ready, click the "Install" button.


On the next screen, you can confirm or edit your options. Furthermore, you'll see the unique snippet that you'll need to use in order to install hull.js on your site.


Once you are satisfied with your settings, simply click "Save Changes."

Manually Install Snippet

To manually install hull.js, follow these simple steps.

  1. Copy your unique snippet from the newly created hull.js platform.
  2. Add your hull.js snippet to the of your website


If you just want to send anonymous traffic to Hull, you're done! Hull will automatically capture your traffic and show it in the Users section of your Dashboard.

If you want to capture know user data (as opposed to anonymous users), you need to identify those users when you know about them.

Identifying users

User Email

Identifying users allows to tie Email information and custom attributes to the users who visit your website in Hull.

Once an anonymous user on your website fills out a contact form with an email address you can use hull.js to capture this email. This will apply the identity resolution with the email address and anonymous_id (cookie value) so you have a unified user profile.

Here is how to perform the call:

hull.identify({ email: "" });

The Hull platform will detect users with the same email address if any exists, and merge them automatically into a unified profile.


Attributes are values that are associated to the User. Here's how you would pass those:

  preferred_language: "French"

Note: You don't need to pass the email at every call. Once data has been passed, you don't need to send it again.

There are a few special attributes you want to treat specifically, Read about them here Special, reserved attributes