Subscription Ecommerce Tracking: First Orders vs Renewals | Adslytics | Adslytics

Enhanced Ecommerce Tracking How-To Guide

Subscription Ecommerce Tracking: First Orders vs Renewals

By Muhammad Farooq · March 3, 2026 · 6 min read
Subscription Ecommerce Tracking: First Orders vs Renewals

Why Subscription Tracking Is Different

For subscription businesses, lumping first-time orders and renewal orders into a single "purchase" event makes your ecommerce analytics nearly useless for decision-making. Marketing spend drives first orders — measuring ROAS requires knowing which revenue came from new subscribers. Retention efforts drive renewals — measuring their effectiveness requires knowing renewal count and churn rate. Mixed together, neither metric is meaningful.

The Subscription Type Custom Parameter

Add a custom parameter to distinguish order types on the purchase event:

dataLayer.push({ecommerce: null});
dataLayer.push({
  event: "purchase",
  ecommerce: {
    transaction_id: "T-456",
    value: 29.00,
    currency: "GBP",
    items: [{
      item_id: "PLAN-PRO-MONTHLY",
      item_name: "Pro Plan - Monthly",
      price: 29.00,
      quantity: 1
    }]
  },
  // Custom parameters outside ecommerce object for GA4 event-level dimensions
  subscription_type: "new",  // or "renewal"
  subscription_plan: "pro_monthly",
  subscription_cycle: 1      // which billing cycle this is (1=first, 2=second, etc.)
});

Register subscription_type and subscription_plan as custom dimensions in GA4 (Admin then Custom Definitions then Custom Dimensions, scope: Event).

Tracking Renewal Events

For subscription renewals, the purchase event typically fires server-side (via the Measurement Protocol) when your payment processor confirms the renewal charge, rather than in the browser. This is the correct approach for server-side billing:

POST https://www.google-analytics.com/mp/collect
?measurement_id=G-XXXXXXXX&api_secret=YOUR_SECRET

{
  "client_id": "CUSTOMER_GA4_CLIENT_ID",
  "user_id": "INTERNAL_USER_ID",
  "events": [{
    "name": "purchase",
    "params": {
      "transaction_id": "RENEWAL-456-CYCLE-2",
      "value": 29.00,
      "currency": "GBP",
      "subscription_type": "renewal",
      "subscription_cycle": 2,
      "items": [...]
    }
  }]
}

LTV Analysis with Subscription Data

With subscription_type and subscription_cycle parameters in GA4:

  • Filter by subscription_type = "new" to see acquisition revenue and calculate ROAS on marketing spend
  • Filter by subscription_type = "renewal" to see retention revenue
  • Use subscription_cycle to see revenue by cohort cycle (how much revenue do month-3 subscribers generate vs month-1?)
  • Combine with GA4's user_id to track individual subscriber lifecycle in BigQuery

Churn Rate Measurement

Build a GA4 audience of users who triggered a purchase with subscription_type = "renewal" in month N-1 but NOT in month N. Export this audience count monthly to calculate churn rate. Or, for more precision, use BigQuery to calculate churn from the raw event tables where you have complete purchase history per user.

Summary

Subscription ecommerce tracking requires a custom parameter (subscription_type: new/renewal) on every purchase event to separate acquisition from retention revenue. Renewals should be sent via the Measurement Protocol from your backend when the charge is processed. With this data, ROAS, LTV, and churn rate analysis become possible in GA4 and BigQuery.

See our Enhanced Ecommerce Tracking service for subscription tracking implementation.

Need subscription ecommerce tracking set up? Contact Adslytics.

Need expert tracking setup?

Our Google Tag Manager experts have delivered 500+ tracking setups with a 98% success rate.

Get a Free Consultation →
← Back to Blog
Muhammad Farooq

Author

Muhammad Farooq GTM & Analytics Expert · Adslytics Founder

Tracking specialist with 10+ years of experience in Google Tag Manager, GA4, Server-Side Tracking, and Google Ads. Founder of Adslytics — a dedicated analytics agency with a 98% success rate across 232+ projects on Upwork.

Top Rated Plus LinkedIn Visit the author's profile →