A Purchase event isn’t enough for a subscription store
If you sell anything on subscription with WooCommerce — memberships, monthly boxes, software, courses, recurring services — the customer journey doesn’t stop the moment the first order goes through.
Trials convert to paid plans. Subscriptions auto-renew every month or year. Some customers cancel. Some let the subscription expire after a failed card. Some come back six months later.
When all of that flows through the standard WooCommerce Purchase event, your ad platforms and your analytics can’t tell those moments apart. A renewal looks like a brand-new sale. A trial signup looks like nothing at all. Cancellations and expirations don’t show up anywhere.
You see the revenue. You don’t see the story behind it.
And that has real consequences for how you run your ads:
- You can’t optimize a campaign for paid sign-ups if every subscription payment, renewal included, is just a “Purchase.”
- You can’t exclude active subscribers from acquisition campaigns, so you keep paying to advertise to people who already pay you every month.
- You can’t build a clean win-back audience for the customers who recently canceled or expired.
- You can’t tell which acquisition campaign brings the customer who actually renews three times, versus the one who buys once and disappears.
PixelYourSite Pro fixes this by tracking the WooCommerce subscription lifecycle as dedicated events, on top of the standard Purchase event. If you have the official WooCommerce Subscriptions plugin active, PYS Pro fires a separate event for trial signups, paid sign-ups, renewals, cancellations, and expirations — and sends each one to Meta, Google Analytics 4, TikTok, and Pinterest through their server-side APIs.
The stack
- WooCommerce running your store
- WooCommerce Subscriptions (the official Woo plugin) for the subscription products
- PixelYourSite Professional 12.5.0 or later
The server-side connections to Meta, GA4, TikTok, and Pinterest are configured inside PYS Pro.
Five new events for your subscription store
PixelYourSite Professional fires five dedicated events for WooCommerce subscriptions:
StartTrialSubscribeSubscriptionRenewalSubscriptionCanceledSubscriptionExpired
These are not your usual page-view events.
A renewal can happen at 3 AM while the customer sleeps. A subscription can expire in the background after a failed card. A cancellation can come weeks after the last visit.
That’s why these events go through server/API integrations: Meta Conversions API, Google Analytics 4 Measurement Protocol, TikTok Events API, and Pinterest Conversions API.
You won’t see them in your browser console or in the PYS Pixel Helper. You’ll see them in Meta Events Manager (Server tab), GA4 DebugView, and the TikTok and Pinterest event logs.
How to enable WooCommerce subscription events

Go to PixelYourSite Professional → WooCommerce.
Find the Track Subscriptions card and turn it on.
Expand it to see the destinations. Pick the platforms where you want these events to land — Facebook, Google Analytics, TikTok, Pinterest.
Before you rely on the events, make sure the destination you picked has its API connection configured:
- For Meta, configure Meta Conversions API.
- For Google Analytics, configure Google Measurement Protocol for GA4.
- For TikTok, enter the Events API token.
- For Pinterest, enter the Conversions API token.
You set these up from the main PixelYourSite plugin page, inside the settings for each tag.
This matters. Subscription events often happen with no browser visit attached. The server-side connection is what makes them work.
StartTrial
Fires when a customer starts a free trial on a subscription product.
A trial signup is a strong signal. They didn’t pay yet, but they moved past browsing and gave you their email and (often) their card.
How to use it
Build an audience of users who fired StartTrial.
Then exclude users who later fired:
SubscribeSubscriptionRenewalPurchase
What’s left is your “trial users who haven’t converted” pool. Run ads at them before the trial ends.
Things that tend to work in those ads:
- “Still in your trial? Here’s what you unlock with the full plan.”
- “Get the most from your subscription before the trial ends.”
- “See why customers stay long after the trial.”
The same audience works for Meta remarketing and for GA4 audiences pushed into Google Ads.
Subscribe
Fires when a brand-new paid subscription starts with no trial in front of it.
This is not the same thing as Purchase.
Purchase says money came in. Subscribe says a recurring customer relationship just started.
For subscription stores, that distinction is often more important than the first dollar amount. A first payment can be small, discounted, or zero. The real value comes later, in the renewals.
Expected LTV for Meta
When it can, PixelYourSite calculates the expected lifetime value of the subscription and sends it with Subscribe.
That gives Meta a much better value signal than the first-payment amount alone.
The realistic way to think about it:
Purchase shows the first transaction. Subscribe with expected LTV shows the potential value of the customer.
This will not magically fix bad campaigns. You still need event volume, a correct API setup, and a sane campaign structure. But for a subscription store it is a much better signal than treating every new subscriber like a one-time buyer.
How to use it
Use Subscribe to:
- track new recurring customers separately from one-time buyers
- build an “active subscribers” audience
- exclude subscribers from cold acquisition campaigns
- compare campaigns by subscribers acquired, not just orders
- send Meta a richer value signal when expected LTV is available
- build GA4 reports around subscription starts
SubscriptionRenewal
Fires on every renewal payment of an existing subscription.
This is retained revenue, and it deserves its own column in your reports.
A small but important detail: the first paid charge after a free trial is treated as a renewal, not as a Subscribe. So if you sell trials, your Subscribe event represents direct paid sign-ups, and your SubscriptionRenewal event represents both trial-to-paid conversions and every renewal after that.
How to use it
Use SubscriptionRenewal to:
- separate new sales from retained revenue
- see which acquisition campaigns bring customers who actually renew
- build “active subscriber” and “loyal customer” audiences
- exclude already-renewed customers from your renewal-reminder ads
- compare first-purchase campaigns with long-term customer quality
That last one is the lever most stores never pull. The campaign that brings the cheapest first purchase often isn’t the one that brings the customer who renews three times. Without SubscriptionRenewal you can’t see that.
SubscriptionCanceled
Fires when a subscription is canceled.
You don’t optimize for this. But it’s a great audience signal and a great reporting signal.
A canceled customer is not a cold visitor. They know your product. They were committed enough to subscribe. They left for a reason — and they might come back for a reason.
How to use it
Build a comeback audience from SubscriptionCanceled.
Then exclude users who later fired:
SubscribePurchaseSubscriptionRenewal
That way your comeback ads don’t waste impressions on people who already returned.
Messages that land for this audience:
- “See what changed since you canceled.”
- “Come back when you’re ready.”
- “Restart your subscription with a special offer.”
- “New features are available since you left.”
Use this audience in Meta Custom Audiences and in GA4 audiences pushed to Google Ads.
SubscriptionExpired
Fires when a subscription’s status becomes expired. Usually that means a renewal payment failed or the subscription reached the end of its term without renewing.
This is your reactivation signal. The customer had access. They no longer do. They’re not gone, they’re lapsed.
How to use it
Build an audience of SubscriptionExpired.
Exclude users who later fired:
SubscriptionRenewalSubscribePurchase
Run reactivation ads at the remainder.
Messages that work here:
- “Your subscription expired. Reactivate to continue.”
- “Come back and keep access.”
- “Renew now and pick up where you left off.”
- “Your account is waiting if you want to return.”
Use these events in GA4
In GA4, mark the positive subscription events as key events:
StartTrialSubscribeSubscriptionRenewal
Keep SubscriptionCanceled and SubscriptionExpired around for audiences, reports, and reactivation analysis. They are useful, but they are not positive conversions.
Recommended custom dimensions:
subscription_name— which plan triggered the eventcurrency— if you sell in multiple currenciespayment_method— to compare gateways
Recommended custom metrics:
predicted_ltvsubscription_valuenumber_of_transactions
A small note on payment_method: this parameter currently rides along with the subscription events only when they are sent to Meta. GA4, TikTok, and Pinterest don’t get it yet (and the same applies to new_customer). If you need a gateway breakdown on the GA4 side, segment by date or by subscription_name instead.
The combo that gives most stores the best report:
- mark
Subscribeas a key event - add
predicted_ltvas a custom metric - add
subscription_nameas a custom dimension - break subscriptions and expected value down by source, medium, campaign, and landing page
GA4 audiences worth building:
StartTrialbut noSubscriptionRenewalSubscriptionCanceledbut no recentPurchaseSubscriptionExpiredbut noSubscriptionRenewal
Push them to Google Ads remarketing once your GA4 property is linked.
Keep Purchase as your main revenue event
Don’t replace Purchase with these new events.
Purchase still matters. It’s the revenue source of truth, and it’s also what Meta and Google have been trained on for years.
The subscription events add context around the lifecycle on top of it.
Use them for:
- audiences
- exclusions
- GA4 reports
- comeback campaigns
- Meta subscription signals
- renewal and churn analysis
A good setup uses both:
Purchase for revenue. Subscription events for lifecycle context.
Quick recap of the setup
These features need PixelYourSite Professional 12.5.0 or later, plus the official WooCommerce Subscriptions plugin active on your store.
- Update PixelYourSite Professional to the latest version.
- Go to PixelYourSite Professional → WooCommerce.
- Turn on Track Subscriptions.
- Pick the destinations.
- Confirm the server-side connection is configured for each destination you picked.
Then run a test subscription end to end — trial signup, paid conversion, cancellation — and watch the events arrive in Meta Events Manager (Server tab) and GA4 DebugView.