Skip to main content
The sm_order_type field classifies whether an order is a subscription or one-time purchase. SourceMedium determines this at the line-item level first, then rolls those line-level signals up to the order. This classification is used in subscription analytics, cohort analysis, and LTV reporting.

Order Type Values

When you only need the subscription vs one-time split, filter on is_subscription_order = TRUE. It is true for subscription, subscription_prepaid, and subscription_&_one_time.

How Order Type Is Determined

Order type classification uses a multi-signal approach evaluated at the line-item level, then rolled up to the order.

General signal sources

SourceMedium can use several signal families:
  • Direct subscription-platform line-item mappings such as ReCharge, Stay AI, Chargebee, or Amazon Subscribe & Save
  • Shopify line-item metadata and property-based signals
  • Shopify order tags and app/source signals
  • Platform fields such as is_from_subscription

Amazon Seller Central nuance

Amazon does not provide full subscription lifecycle data through Seller Central, such as subscription IDs, active subscriber status, cancellation dates, or active subscription counts. However, when Amazon provides order-item promotion or program signals that identify Subscribe & Save activity, SourceMedium uses those signals to classify eligible Amazon Seller Central orders and order lines as subscription. This improves subscription-vs-one-time reporting for Amazon, but should still be interpreted as order-level Subscribe & Save classification rather than a complete subscriber lifecycle dataset.

Shopify signal precedence

Where your subscription platform supplies line-level data we use it. Otherwise we use Shopify line-item metadata, then order tags (tag classification only where SourceMedium has enabled it for your store). Tag-only classification is the weakest signal; explicit one-time metadata always wins over it. Placeholder metadata, such as a Shopify subscription_id of 1, is ignored. Free-gift metadata does not make a line a subscription.

Subscription tag patterns

When tags are the only signal, an order counts as subscription if a tag matches one of these patterns:
  • A tag containing a word that starts with subscription, such as Subscription, SubscriptionActive, or subscription_order_loop
  • recurring_order or recurring-order
  • Luna Subscription
  • bulksubscription
A tag containing prepaid alongside a subscription tag classifies the order as subscription_prepaid.

is_subscription_order

A boolean convenience field derived from sm_order_type:
Use is_subscription_order = TRUE when you want a simple subscription filter.

order_sequence

Customer lifecycle classification based on order position:

subscription_order_sequence

Subscription-specific lifecycle classification commonly appears as:

Line-level subscription fields

For product-level analysis, use obt_order_lines instead of relying only on the order rollup:
  • order_line_type
  • is_order_line_subscription
  • subscription_order_index
  • subscription_order_sequence
This is especially important for mixed carts, bundles, free gifts, and any analysis where some lines in an order are subscription and others are not.

Using Order Type In Analysis

Filter to subscription orders

Separate subscription vs one-time metrics

Use line-level fields when carts can be mixed

Best Practices

Prefer direct subscription-platform integrations

If you have ReCharge, Skio, Stay AI, Loop, Retextion, Chargebee, or another supported subscription platform, the most reliable classification comes from direct line-level platform data.

Preserve explicit Shopify line-item metadata

For Shopify stores, explicit line-item metadata is more reliable than tag-only logic. If your app emits explicit subscription or one-time properties, preserve them.

Validate with source-platform data

If you have a direct subscription-platform integration, compare SourceMedium classifications to that platform’s line-level or order-level data when troubleshooting mismatches.

Use line-level fields for product analysis

Use order-level fields for order and customer retention analysis. Use line-level fields when the business question is about products, bundles, subscription mixes, or gifts inside a cart.

Subscription Flags

Understand order-level and line-level subscription fields

obt_order_lines

Review line-level subscription field definitions