Install on WordPress
A first-class plugin handles snippet injection, settings, optional WP user identification, and (for WooCommerce stores) ecommerce auto-capture. No theme edits, no copy-paste into header files.
Plain-HTML / Shopify / Webflow / etc.? See Browser snippet instead.
What you’ll need
- Your API key from the dashboard at Settings → API Keys (format
st_live_...orst_test_...). - Admin access to your WordPress site.
- WordPress 5.8+ on PHP 7.4+. WooCommerce 7+ if you want ecommerce auto-capture (optional).
Install
- Download the latest plugin .zip from GitHub releases — file name
trackcrumb-wp-<version>.zip. - In your WordPress admin, go to Plugins → Add New → Upload Plugin.
- Choose the .zip you just downloaded and click Install Now.
- Click Activate Plugin.
Once activated, a new Settings → TrackCrumb menu item appears.
Configure
Go to Settings → TrackCrumb and fill in:
| Field | What it does |
|---|---|
| API key | Your st_live_... / st_test_... key. Required — the snippet is suppressed when this is blank. |
| API host | Ingest endpoint. Leave the default unless you self-host. |
| Enable autocapture | Captures pageviews, clicks, and form submits. On by default. |
| Enable session replay | Records DOM mutations for replay (PII masking on by default). Off by default. |
| Identify logged-in WordPress users | When enabled, fires identify(user_id, {email, role}) on every pageload for any logged-in visitor. Off by default. |
| Capture WooCommerce events | When enabled and WooCommerce is active, captures the canonical ecommerce events (see below). Off by default. |
Click Save Changes. The snippet is now live on every page.
Verify
Visit the front page of your site in an incognito window with DevTools → Console:
window.TrackCrumbshould be an object (the loaded SDK).- View source — between
<head>and</head>you should see a<!-- TrackCrumb -->comment followed by the async stub. - Open the dashboard → Live Events stream — events should appear within seconds.
WordPress user identification (opt-in)
Off by default. When you flip the Identify logged-in WordPress users toggle ON, the plugin emits one extra inline call right after the SDK init:
TrackCrumb.identify('<user_id>', { email: '<email>', role: '<primary_role>' });This means logged-in admins / editors / subscribers are tied to a stable distinct_id across sessions. Anonymous visitors continue to use the auto-generated UUID.
Privacy note: sending email addresses and user IDs to a third-party service may require a consent banner update under GDPR / CCPA. Keep this off until your privacy posture catches up.
WooCommerce auto-capture (opt-in)
Off by default. Requires WooCommerce to be active. When enabled, the plugin hooks the following WC actions and emits matching TrackCrumb events:
| WC action | TrackCrumb event | Properties |
|---|---|---|
woocommerce_add_to_cart | add_to_cart | product_id, variant_id, quantity, name, price, currency |
woocommerce_cart_item_removed | remove_from_cart | product_id, variant_id, quantity |
woocommerce_before_checkout_form | checkout_started | item_count, subtotal, currency |
woocommerce_thankyou | purchase | order_id, total, subtotal, tax, shipping, currency, items[] |
woocommerce_order_refunded | refund | order_id, refund_id, refund_amount, currency, reason |
Events from a single pageload are batched into a single <script> block emitted at footer time, so there’s no per-event overhead in the rendered HTML.
Building funnels in the dashboard
Once events are flowing, use Funnels to chain them:
$pageview (url contains /shop/)
→ add_to_cart
→ checkout_started
→ purchaseDrop-off rates surface immediately. No SQL.
CDN + version pinning
The plugin pins the SDK to https://docs.iwanttotrysomething.site/sdk/v1/sdk.min.js (latest 0.x). Patch updates land automatically — you do not have to update the plugin every time the SDK ships a fix.
If you need stricter change control (e.g. for a security-sensitive site), pin to an exact version manually using the browser-snippet docs and disable this plugin’s injector. (We may add an “advanced URL override” setting in v1.x — file an issue if you need it sooner.)
Privacy + cookie consent
The plugin loads the snippet on every front-end pageload. If your jurisdiction requires explicit consent before analytics tracking begins, gate the SDK behind your consent plugin (CookieYes, Complianz, OneTrust, etc.). The TrackCrumb plugin does not auto-detect consent state.
Recommended pattern for CookieYes / Complianz:
- Configure the consent plugin to block scripts by default.
- Add
https://docs.iwanttotrysomething.siteandhttps://ingest.iwanttotrysomething.siteto the consent plugin’s allowlist for the analytics category. - Enable the TrackCrumb snippet only after consent is granted (the consent plugin handles this).
Strict CSP
If your site sets a Content-Security-Policy header, you’ll need:
script-srcto allow'self'and the inline-stub hash (sha256-...of the inline snippet body — your CSP plugin can compute this) OR'unsafe-inline', plushttps://docs.iwanttotrysomething.site.connect-srcto allowhttps://ingest.iwanttotrysomething.site.
Compatibility
| Min WordPress | 5.8 (covers ~95% of installs) |
| Min PHP | 7.4 |
| Tested up to | WordPress 6.4 |
| WooCommerce | 7+ (only required if you enable WC capture) |
| Multisite | Single-site activation tested. Network-wide activation should work but is not in v1’s automated test matrix. |
| Browser | All modern evergreen browsers; IE11 not supported. |
Uninstalling
Plugins → Installed Plugins → TrackCrumb → Deactivate stops the snippet from rendering but keeps your settings (so reactivating is one click). To wipe settings, click Delete after deactivation.
The plugin never writes user data to your WordPress database — only the plugin settings are persisted (single row in wp_options keyed trackcrumb_options).
License
GPL-2.0-or-later. Source: github.com/Paisit1559/trackcrumb, folder packages/wordpress-plugin/trackcrumb/.
Troubleshooting
The snippet doesn’t appear in <head>.
Check that you saved the API key — the injector skips emission entirely when blank.
Events aren’t reaching the dashboard. Confirm the API key matches a workspace in Settings → API Keys. If using a self-hosted ingest, confirm the API host field points at it.
WooCommerce events aren’t firing. Confirm both: (a) the WC toggle is ON and (b) WooCommerce is active. The plugin no-ops on non-WC sites.
Caching plugins (W3TC / WP Rocket / WP Super Cache).
The async stub is small enough to inline safely; most caching plugins handle it correctly. If you see stale snippets, exclude <!-- TrackCrumb --> from minify/combine rules.
Next steps
- Set up a funnel — see User Manual → Funnels.
- Send a test event manually — call
TrackCrumb.track('test_event', { source: 'manual' })from the browser console. - Build a churn cohort — see User Manual → Predictive Analytics.