Documentation
July 30, 2018 ยท View on GitHub
- Automated tracking (browser-only) to capture
pageviews,clicks, andform_submissions - Record events to the API individually or in batches
- Extend events to build intricate, useful data models and ease instrumentation
- Defer events to be recorded at a given interval, or when the queue reaches a given capacity
Examples
App Frameworks:
- React Flux Logger: How to instrument a Flux ReduceStore
- React Redux Middleware: How to instrument a Redux Store
- Vue.js Vuex Store: How to instrument a Vue Vuex Store
Video Players:
- Facebook video player
- HTML5 video player
- Video.js player
- Vimeo video player
- Youtube iFrame video player
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: