Skip to content

Latest commit

 

History

History
 
 

Documentation


Examples

App Frameworks:

Video Players:

Ads and Conversion Tracking Pixels:


Utilities

  • Cookies (browser-only) for persisting data from one page to the next
  • Listeners (browser-only) for capturing and taking action during common DOM events like click, scroll, and submit
  • Timers for tracking time before and between user or system interactions

Helpers

  • Datetime index for decomposing a date object into a set of properties like "hour_of_day" or "day_of_month"
  • Unique ID for generating UUIDs
  • DOM node path for returning the xPath for a given DOM element
  • Screen profile for generating a set of properties describing the current device screen, like "height", "availHeight", and "orientation"
  • Window profile for generating a set of properties describing the current window, like "height", "scrollHeight", and "ratio" to screen dimensions
  • Browser profile for generating a set of properties describing the current browser, like "useragent", "online" status, and "language", plus screen and window profiles
  • Scroll state for generating a set of properties profiling the current scroll state of the window

Debugging

Dev console errors and messages are turned off by default, but can be activated by setting KeenTracking.debug = true;. Additionally, you can disable writing events to the API by setting KeenTracking.enabled = false;.

import KeenTracking from 'keen-tracking';

// Track errors and messages in the dev console
KeenTracking.debug = true;

// Disable event writes to the API
KeenTracking.enabled = false;

const client = new KeenTracking({ /*configure*/ });

// Observe what's happening in each method
client.on('recordEvent', KeenTracking.log);
client.on('recordEvents', KeenTracking.log);
client.on('deferEvent', KeenTracking.log);
client.on('deferEvents', KeenTracking.log);
client.on('recordDeferredEvents', KeenTracking.log);
client.on('extendEvent', KeenTracking.log);
client.on('extendEvents', KeenTracking.log);

Contributing

This is an open source project and we love involvement from the community! Hit us up with pull requests and issues.

Learn more about contributing to this project.


Support

Need a hand with something? Shoot us an email at team@keen.io. We're always happy to help, or just hear what you're building! Here are a few other resources worth checking out: