EDD Subscriptions Tracking
PixelYourSite Pro can track the full lifecycle of an Easy Digital Downloads subscription — free trial sign-ups, paid sign-ups, renewals, expirations, and cancellations — 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 EDD Recurring Payments add-on, 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 EDD Recurring 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 → Easy Digital Downloads 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 edd_subscription_post_create when the subscription starts in trialling status with a non-empty trial period.
Use it to:
- Build audiences of trial users
- Optimize ad campaigns for trial sign-ups
- Power trial-to-paid nurture sequences
Payload: subscription_id, subscription_name, order_id, payment_method (when enabled). No value — a free trial has no payment yet.
Subscribe
Fires when a brand-new subscription is created without a free trial. There are two timing paths:
- Immediate — fires on
edd_subscription_post_createwhen the parent payment is already confirmed at sub-creation. - Deferred — when the parent payment is still in
pendingstatus (typical for off-site gateways such as PayPal), PixelYourSite flags the subscription and waits. TheSubscribeevent fires later fromedd_subscription_status_changewhen the gateway confirms the payment and the subscription flips toactive.
Use it to:
- Optimize ads for paid sign-ups
- Build “new subscribers” audiences
- Report acquisition value
Payload: subscription_id, subscription_name, value (initial subscription amount), currency, predicted_ltv (when enabled), order_id, payment_method, products.
SubscriptionRenewal
Fires on edd_subscription_post_renew. This includes the first paid charge after a free trial — that payment is treated as a renewal, not a Subscribe.
Use it to:
- Report recurring revenue
- Build “active subscriber” audiences
- Power retention and upsell campaigns
Payload: subscription_id, subscription_name, value (this renewal order’s total), currency, number_of_transactions (initial payment plus all renewals so far), subscription_value (lifetime: initial + all renewal totals), order_id, payment_method, products.
SubscriptionExpired
Fires on edd_subscription_status_change 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, currency, order_id, payment_method, products. No value.
SubscriptionCanceled
Fires on edd_subscription_status_change 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 fires events in this order:
StartTrial— once, when the trial beginsSubscriptionRenewal— for the first paid charge when the trial converts, and for every subsequent renewalSubscriptionExpiredorSubscriptionCanceled— if and when the subscription ends
A trial subscription never fires Subscribe. To measure “paid conversions”, report on SubscriptionRenewal for trial subs or on Subscribe for direct paid sign-ups.
Deferred Subscribe (pending payments)
EDD Recurring creates a subscription as soon as the customer submits checkout, but with some gateways the parent payment can sit in pending status until the gateway confirms it (for example off-site PayPal). PixelYourSite handles this in two stages:
- On sub-creation it inspects the parent payment. If the payment is
pending, it stores a flag on the subscription rather than firingSubscribestraight away. - When the gateway confirms the payment and the subscription transitions to
active, PixelYourSite consumes the flag and firesSubscribe.
The result is that some Subscribe events may arrive seconds or minutes after the order — this is expected. There is no duplicate fire: the flag is removed once Subscribe has been sent.
What’s not tracked
PixelYourSite Pro does not currently emit events for:
- Subscription product switches
- Manual pauses or “on hold” transitions
- 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, order_id, products, plus a fresh eventID per event for server-to-browser deduplication.
Additional fields per event:
| Event | value | currency | subscription_value | number_of_transactions | predicted_ltv |
|---|---|---|---|---|---|
| StartTrial | — | — | — | — | — |
| Subscribe | initial payment | yes | — | — | when enabled |
| SubscriptionRenewal | latest renewal total | yes | initial + all renewals | initial + renewal count | — |
| SubscriptionExpired | — | yes | — | — | — |
| SubscriptionCanceled | — | yes | — | — | — |
payment_method — global toggle in the EDD events parameters section. When enabled, the gateway label is attached to all five subscription events.
new_customer — the New Customer parameter is computed for the EDD Purchase event but is not attached to the subscription events. If you need a “new vs returning” split on subscription audiences, segment by date or by number_of_transactions instead.
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.
For the full step-by-step playbook, see the strategy guide: Track EDD Subscriptions and Renewals with PixelYourSite.
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.