Back to Woocommerce

Tracks

packages/js/tracks/README.md

10.8.0-dev2.5 KB
Original Source

Tracks

WooCommerce user event tracking utilities for Automattic based projects.

Installation

Install the module

bash
pnpm install @woocommerce/tracks --save

Usage

The store must opt-in to allow tracking via the woocommerce_allow_tracking setting. If the store is not opted-in no events be recorded when using the following functions.

recordEvent( eventName, eventProperties )

Record a user event to Tracks.

jsx
import { recordEvent } from '@woocommerce/tracks';

recordEvent( 'page_view', { path } )
ParamTypeDescription
eventNameStringThe name of the event to record, don't include the wcadmin_ prefix
eventPropertiesObjectEvent properties to include in the event

queueRecordEvent( eventName, eventProperties )

Queue a tracks event.

This allows you to delay tracks events that would otherwise cause a race condition. For example, when we trigger wcadmin_tasklist_appearance_continue_setup we're simultaneously moving the user to a new page via window.location. This is an example of a race condition that should be avoided by enqueueing the event, and therefore running it on the next pageview.

ParamTypeDescription
eventNameStringThe name of the event to record, don't include the wcadmin_ prefix
eventPropertiesObjectEvent properties to include in the event

recordPageView( path, extraProperties )

Record a page view to Tracks.

ParamTypeDescription
pathStringPath the page/path to record a page view for
extraPropertiesObjectExtra event properties to include in the event

bumpStat( statName, statValue )

Bump a stat or group of stats.

typescript
import { bumpStat } from '@woocommerce/tracks';

// Bump a single stat
bumpStat( 'stat_name', 'stat_value' );

// Bump multiple stats
bumpStat( {
  stat1: 'value1',
  stat2: 'value2'
} );
ParamTypeDescription
statNameString or ObjectThe name of the stat to bump, or an object of stat names and values
statValueStringThe value for the stat (only used when statName is a string)

Note: Stat names are automatically prefixed with x_woocommerce-. Stat tracking is disabled in development mode.

Debugging

When debugging is activated info for each recorded Tracks event is logged to the browser console.

To activate, open up your browser console and add this:

js
localStorage.setItem( 'debug', 'wc-admin:*' );