d0a2b582fe
* pin eslint in .syncpackrc run `pnpm run sync-dependencies` to ensure pinned version is used across projects, then run `pnpm install` to update `pnpm-lock.yaml` * add changelog files ran `pnpm run --no-bail --filter='[HEAD^1]' changelog add --significance=patch --type=dev --entry='Update eslint to 8.32.0 across the monorepo.'` * re-run `pnpm install` to fix what broke while merging |
||
---|---|---|
.. | ||
changelog | ||
src | ||
typings | ||
.eslintrc.js | ||
.gitignore | ||
.npmrc | ||
CHANGELOG.md | ||
PREVIOUS_CHANGELOG.md | ||
README.md | ||
composer.json | ||
composer.lock | ||
package.json | ||
tsconfig-cjs.json | ||
tsconfig.json |
README.md
Tracks
WooCommerce user event tracking utilities for Automattic based projects.
Installation
Install the module
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.
import { recordEvent } from '@woocommerce/tracks';
recordEvent( 'page_view', { path } )
Param | Type | Description |
---|---|---|
eventName | String |
The name of the event to record, don't include the wcadmin_ prefix |
eventProperties | Object |
Event 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.
Param | Type | Description |
---|---|---|
eventName | String |
The name of the event to record, don't include the wcadmin_ prefix |
eventProperties | Object |
Event properties to include in the event |
recordPageView( eventName, eventProperties )
Record a page view to Tracks.
Param | Type | Description |
---|---|---|
path | String |
Path the page/path to record a page view for |
extraProperties | Object |
Extra event properties to include in the event |
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:
localStorage.setItem( 'debug', 'wc-admin:*' );