woocommerce/plugins/woocommerce-admin/client/lib/tracks.js

37 lines
962 B
JavaScript

/** @format */
/**
* Record an event to Tracks
*
* @param {String} eventName The name of the event to record, always prefixed with wca_
* @param {Object} eventProperties event properties to include in the event
*/
export function recordEvent( eventName, eventProperties ) {
if ( ! wcSettings.trackingEnabled || 'development' === process.env.NODE_ENV ) {
return false;
}
// @todo Should we add validation/whitelist of tracks
// @todo Don't send tracks in dev envs maybe based off WP_DEBUG?
const event = `wca_${ eventName }`;
// Should already be initialized via inline ./lib/clicent-assets.php
// but just being extra safe
window._tkq = window._tkq || [];
window._tkq.push( [ 'recordEvent', event, eventProperties ] );
}
/**
* Record a page view to Tracks
*
* @param {String} path the page/path to record a page view for
*/
export function recordPageView( path ) {
if ( ! path ) {
return;
}
recordEvent( 'page_view', { path } );
}