Skip to main content

Tracking

Ahoy.js#

For first-party analytics, we use the ahoy.js library, which tracks visits and events. This library works in conjunction with the ahoy_matey gem, which is documented in our backend tracking guide.

Configuration#

The configuration for ahoy.js lives in app/assets/javascripts/base.js.erb. Since we do not track user cookies on the backend, we have configured ahoy.js's defaults to match that on the frontend.

Events#

In order to track an event, use the ahoy.track function:

ahoy.track(name, properties);

This function will send a POST request to the /ahoy/events endpoint on our backend with the name and properties of the event. The backend endpoint will also create a corresponding Ahoy::Visit for the event if one does not exist already.