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
Common values in customer-facing datasets are:Exact enum strings can vary by dataset version or customer environment. When you need to filter precisely, confirm values with
SELECT DISTINCT sm_order_type in your own warehouse. When possible, prefer boolean helper fields such as is_subscription_order.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, Retextion, 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
For Shopify, SourceMedium now prefers explicit line-level signals over older order-tag-only heuristics.
Direct subscription-platform mappings can come from exact line-item joins or fallback matching when platform data is incomplete, which helps some lines classify correctly even when a perfect line-item ID match is unavailable.
Shopify cutover behavior
After the Shopify subscription-classification cutover date (2025-01-01 in the current project config), SourceMedium applies stricter line-level rules:
- Explicit one-time metadata can override ambiguous subscription-like metadata.
- Placeholder metadata such as a Shopify
subscription_idof1is ignored as a subscription signal. - Free-gift metadata is separated from true subscription classification.
- Legacy order-tag fallback remains available only in limited merchant-specific cases.
- That post-cutover fallback is restricted to single-line orders. Multi-line orders from not-yet-cutover merchants default to one-time unless explicit line signals or direct subscription-platform mappings are present.
Subscription tag patterns
When legacy order-tag fallbacks are used, the system recognizes patterns such as:Subscription,SubscriptionActiverecurring_order,recurring-ordersubscription_order_loopfirst_subscription_order,first-subscriptionLuna Subscription,Ordergroove Trigger Order
Related Dimensions
is_subscription_order
A boolean convenience field derived fromsm_order_type:
is_subscription_order = TRUE when you want a stable filter that is less sensitive to enum-string differences across environments.
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, useobt_order_lines instead of relying only on the order rollup:
order_line_typeis_order_line_subscriptionsubscription_order_indexsubscription_order_sequence
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 after the cutover. 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.Related Resources
Subscription Flags
Understand order-level and line-level subscription fields
obt_order_lines
Review line-level subscription field definitions

