WooCommerce Subscriptions Tracking
PixelYourSite Pro can track the full lifecycle of a WooCommerce Subscription — trial sign-ups, paid sign-ups, renewals, cancellations, and expirations — and send each one as a dedicated event to your ad and analytics platforms.
Five server-side events are available:
- StartTrial — fires when a customer starts a free trial.
- Subscribe — fires on the first paid sign-up (no trial).
- SubscriptionRenewal — fires on every renewal payment.
- SubscriptionExpired — fires when the subscription expires.
- SubscriptionCanceled — fires when the subscription is cancelled.
Each event is sent server-side via API to:
- Meta (Facebook) — Conversions API
- Google Analytics 4 — Measurement Protocol (as GA4 custom events)
- TikTok — Events API
- Pinterest — Conversions API
Because the events are sent server-side only, they will not appear in your browser console or in the PYS Pixel Helper. You will see them in Meta Events Manager (Server), GA4 DebugView, and the TikTok / Pinterest Events Managers.
Requirements
- PixelYourSite Professional with subscription tracking support
- The official WooCommerce Subscriptions plugin, installed and active
- A configured server API for each destination you want to fire to:
- Meta CAPI
- Google Analytics – GA4 with Measurement Protocol enabled
- TikTok with the Events API token entered
- Pinterest with the Conversions API token entered
If WooCommerce Subscriptions is not active, the Track Subscriptions card is shown disabled with a notice asking you to install the plugin first.
How to enable it
- Go to the PixelYourSite Pro → WooCommerce tab.
- Find the Track Subscriptions card.
- Turn on the Track Subscriptions switcher.
- Under it, enable the platforms you want to fire to (Facebook, Google Analytics, TikTok, Pinterest). Each platform’s sub-toggle is only available when that platform’s server API is already configured.
- Save changes.

The five events
StartTrial
Fires on woocommerce_subscription_payment_complete when the subscription has a non-empty trial period.
Use it to:
- Build audiences of trial users
- Optimize ad campaigns for trial sign-ups
- Power onboarding or trial-to-paid nurture sequences
Payload: subscription_id, subscription_name, currency, order_id, products. No value is sent — a free trial has no payment yet.
Subscribe
Fires on woocommerce_subscription_payment_complete when there is no trial period and the order is not a renewal — i.e., the first paid sign-up of a brand-new subscription.
Use it to:
- Optimize ads for paid sign-ups
- Build “new subscribers” audiences
- Report acquisition value
Payload: subscription_id, subscription_name, value (initial payment total), currency, shipping_cost, shipping_tax, predicted_ltv (when enabled), products, order_id.
SubscriptionRenewal
Fires on woocommerce_subscription_payment_complete when the order is a renewal (wcs_order_contains_renewal() is true). This includes the first paid payment after a free trial — that payment is treated as a renewal, not a Subscribe.
Use it to:
- Report recurring revenue
- Build “active subscriber” and “loyal customer” audiences
- Power retention and upsell campaigns
Payload: subscription_id, subscription_name, value (the latest renewal order total), currency, number_of_transactions (initial payment plus all renewals so far), subscription_value (lifetime total: initial + all renewals), products, order_id.
SubscriptionExpired
Fires on woocommerce_subscription_status_updated when the subscription’s new status is expired.
Use it to:
- Trigger win-back campaigns
- Exclude expired subscribers from acquisition campaigns
- Segment churn cohorts in your reports
Payload: subscription_id, subscription_name, order_id (parent order), currency, products. No value.
SubscriptionCanceled
Fires on woocommerce_subscription_status_updated when the subscription’s new status is cancelled.
Use it to:
- Trigger cancellation flows or surveys
- Build win-back audiences
- Track voluntary churn separately from expirations
Payload: same as SubscriptionExpired.
The free-trial path
A subscription that starts with a free trial will fire events in this order:
StartTrial— once, when the trial beginsSubscriptionRenewal— for the first paid payment when the trial converts, and for every subsequent renewalSubscriptionExpiredorSubscriptionCanceled— if and when the subscription ends
A trial subscription never fires Subscribe. If you want to count “paid conversions”, build that audience or report on SubscriptionRenewal for trial subs, or on Subscribe for direct paid sign-ups.
What’s not tracked
PixelYourSite Pro does not currently emit events for:
- Switches between subscription products
- Manual pauses or “on hold” transitions
- Pending-cancel states
- Resubscribes after cancellation
Only the five events listed above fire, and only on the hooks listed.
Event parameters reference
Common to all five events: subscription_id, subscription_name, currency, order_id, products, plus a fresh eventID per event for server-to-browser deduplication.
Additional fields per event:
| Event | value | subscription_value | number_of_transactions | predicted_ltv |
|---|---|---|---|---|
| StartTrial | — | — | — | — |
| Subscribe | initial payment | — | — | when enabled |
| SubscriptionRenewal | latest renewal total | initial + all renewals | initial + renewal count | — |
| SubscriptionExpired | — | — | — | — |
| SubscriptionCanceled | — | — | — | — |
payment_method and new_customer — the global toggles for these parameters live under the WooCommerce Events Parameters settings. Note that they currently only ride along with subscription events when the event is sent to Meta, because Meta’s Subscribe and SubscriptionRenewal reuse the same payload helper as the Purchase event. GA4, TikTok, and Pinterest subscription events do not carry these two fields.
How to use it
A few common plays once these events are firing:
- Meta Ads. Create custom conversions on
SubscribeandSubscriptionRenewalto optimize ad sets for paid sign-ups and recurring revenue. Build retargeting audiences onStartTrial(trial-to-paid funnels) and onSubscriptionCanceled(win-backs). - Google Analytics 4. Mark the events as key events, build subscriber cohorts in Explorations, and send
Subscribe/SubscriptionRenewalfrom GA4 into Google Ads to bid on paid sign-ups and recurring revenue. - TikTok / Pinterest. Use the events as custom optimization signals and audience seeds.
Verifying the events
- Meta: Meta Events Manager → your dataset → Test Events or Server; look for the five event names.
- GA4: Admin → DebugView during a test transaction; the events arrive as GA4 custom events with their parameters.
- TikTok: TikTok Events Manager → your pixel → event log.
- Pinterest: Pinterest Events Manager → your tag → event log.