Skip to main content
Automatically Generated — These events are created by Upstack backend services for Shopify customers. You do not need to fire these events manually.

Overview

Upstack automatically generates subscription purchase events for stores using subscription apps like Recharge, Bold Subscriptions, Skio, or native Shopify Subscriptions. These events help you measure subscription acquisition, retention, and recurring revenue.

Event Types

Event NameDescription
subscription_initial_purchaseFirst-time subscription purchase (new subscriber)
subscription_recurring_purchaseRecurring subscription renewal

How It Works

When a subscription order is processed, Upstack analyzes the order metadata:
  1. Order received — Shopify sends a purchase webhook to Upstack
  2. Subscription detection — Upstack checks for subscription app tags and order properties
  3. Classification — The order is classified as initial or recurring based on the subscription data
  4. Event generation — The appropriate subscription event is generated
  5. Forwarding — Events are sent to your configured destinations

Detection Methods

Upstack identifies subscription orders through:
  • Order tags from subscription apps (e.g., subscription_first_order, recurring_order)
  • Order properties and line item properties containing subscription metadata
  • Subscription app-specific identifiers in the order data
Subscription detection works with most major Shopify subscription apps including Recharge, Bold Subscriptions, Skio, Loop Subscriptions, and native Shopify Subscriptions.

subscription_initial_purchase

Generated when a customer signs up for a new subscription. This is the first order in a subscription sequence.

Use Cases

  • Measure subscriber acquisition — Track how many new subscribers you’re acquiring
  • Calculate subscriber CAC — Understand the true cost to acquire a subscriber
  • Optimize acquisition campaigns — Train ad algorithms to find subscription-likely customers
  • Attribution for LTV — Attribute the full potential LTV to the acquiring campaign

subscription_recurring_purchase

Generated for each recurring subscription renewal. This includes all orders after the initial subscription purchase.

Use Cases

  • Track subscription retention — Monitor recurring revenue from existing subscribers
  • Measure churn impact — Understand when recurring purchases decline
  • Attribution for retention campaigns — Track which campaigns drive continued engagement
  • Revenue forecasting — Use recurring purchase data to predict future revenue

Properties

Both events include all properties from the original purchase event:
PropertyTypeDescription
orderIdstringShopify order ID
valuenumberOrder total value
currencystringISO 4217 currency code (e.g., USD)
itemsarrayProducts purchased
emailstringCustomer email (hashed for destinations)
phonestringCustomer phone (hashed for destinations)

Destination Mapping

Subscription events are forwarded to destinations as:
DestinationEvent NameNotes
Meta CAPIPurchaseWith subscription_type in custom data
Google AdspurchaseFilterable by event name
TikTok Events APICompletePaymentSubscription flag included
KlaviyoPlaced OrderTagged with subscription type
GA4purchaseCustom dimension for subscription

Metrics Available

In the Upstack dashboard, you can view:
MetricDescription
Subscription Initial PurchasesNew subscription sign-ups
Cost per Subscription InitialCAC for new subscribers
Subscription Initial ValueRevenue from new subscriptions
Subscription Recurring PurchasesRenewal orders
Cost per Subscription RecurringCost attributed to renewals
Subscription Recurring ValueRecurring subscription revenue

Subscription vs. SaaS Events

Important distinction: These events (subscription_initial_purchase, subscription_recurring_purchase) are for e-commerce subscription boxes and recurring product purchases.For SaaS subscription lifecycle events (plan changes, trials, etc.), see SaaS Events.
Event TypeUse For
subscription_initial_purchaseE-commerce: First subscription box order
subscription_recurring_purchaseE-commerce: Recurring subscription box renewal
subscription_startedSaaS: New software subscription
subscription_createdSaaS: Subscription record created