Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 33 additions & 7 deletions data-transformations/order-segmentation/order-type.mdx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
title: "Order Type (sm_order_type)"

Check warning on line 2 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L2

Did you really mean 'sm_order_type'?
description: "How SourceMedium classifies orders as subscription vs one-time purchases"
sidebarTitle: "Order Type"
icon: "repeat"
Expand All @@ -23,13 +23,39 @@

| Priority | Signal | Result |
|----------|--------|--------|
| 1 | Amazon Subscribe & Save line item match | `Subscription` |
| 2 | `prepaid` + subscription tag in order tags | `Subscription - Prepaid` |
| 3 | Subscription platform line item type (ReCharge, Retextion) | Per platform classification |
| 4 | Shopify Subscription Contract app ID | `Subscription` |
| 5 | Order tags matching subscription patterns | `Subscription` |
| 6 | Line item `is_from_subscription` flag | `Subscription` |
| 7 | **Default** | `One-time` |
| 1 | Shopify explicit one-time line signal | `One-time` |

Check warning on line 26 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L26

Did you really mean 'Shopify'?
| 2 | Shopify explicit subscription line signal | `Subscription` |

Check warning on line 27 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L27

Did you really mean 'Shopify'?
| 3 | Amazon Subscribe & Save line item match | `Subscription` |
| 4 | Subscription platform line item type (ReCharge, Retextion) | Per platform classification |

Check warning on line 29 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L29

Did you really mean 'Retextion'?
| 5 | Legacy tag/order-source fallback logic | `Subscription` / `One-time` |
| 6 | **Default** | `One-time` |

## Shopify Metadata Update (February 20, 2026)

Check warning on line 33 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L33

Did you really mean 'Shopify'?

For Shopify, order-line classification now uses a broader set of line-item metadata keys from `stg_stitch__shopify__order_line_properties`.

Check warning on line 35 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L35

Did you really mean 'Shopify'?

### What changed

- Added more subscription-indicator keys (e.g., selling plan, prepaid, bundle, and app-emitted subscription metadata keys).
- Added explicit one-time keys used by common subscription apps.
- Added guardrail for placeholder values:
- `subscription_id = '1'` by itself is treated as a placeholder and **does not** create a subscription signal.
- Added Shopify app-id fallback coverage for single-line orders:

Check warning on line 43 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L43

Did you really mean 'Shopify'?
- Includes ReCharge app id `294517` in the post-cutover order-source fallback list.

### Signal precedence (Shopify)

Check warning on line 46 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L46

Did you really mean 'Shopify'?

1. Explicit one-time signal wins.
2. Explicit subscription signal is used when explicit one-time is absent.
3. Exact/fuzzy subscription platform line-item matches are used next.
4. Legacy/tag-based fallback logic applies.
5. Otherwise classify as one-time.

### What existing users should expect

- Some Shopify lines/orders may move from `One-time` to `Subscription` where subscription metadata was previously under-detected.

Check warning on line 56 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L56

Did you really mean 'Shopify'?
- A smaller set of Shopify lines/orders may move from `Subscription` to `One-time` when the only signal was placeholder `subscription_id = '1'`.

Check warning on line 57 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L57

Did you really mean 'Shopify'?
- No schema change: field names like `sm_order_type`, `is_subscription_order`, and `subscription_order_sequence` are unchanged.

### Subscription Tag Patterns

Expand All @@ -52,13 +78,13 @@
| Platform | Data Source |
|----------|-------------|
| ReCharge | Line item type from ReCharge API |
| Retextion | Line item type from Retextion API |

Check warning on line 81 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L81

Did you really mean 'Retextion'?

Check warning on line 81 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L81

Did you really mean 'Retextion'?
| Chargebee | Invoice line subscription sequence |

Check warning on line 82 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L82

Did you really mean 'Chargebee'?
| Amazon Subscribe & Save | SKU-level subscription matching |

## Related Dimensions

### is_subscription_order

Check warning on line 87 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L87

Did you really mean 'is_subscription_order'?

A boolean convenience field derived from `sm_order_type`:

Expand All @@ -71,7 +97,7 @@
LIMIT 10;
```

### order_sequence

Check warning on line 100 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L100

Did you really mean 'order_sequence'?

Customer lifecycle classification based on order position:

Expand All @@ -80,7 +106,7 @@
| `1st_order` | Customer's first order (new customer) |
| `repeat_order` | Any subsequent order (returning customer) |

### subscription_order_sequence

Check warning on line 109 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L109

Did you really mean 'subscription_order_sequence'?

Subscription-specific lifecycle classification:

Expand Down Expand Up @@ -137,7 +163,7 @@

### Ensure Consistent Tagging

For accurate subscription classification in Shopify, ensure your subscription app consistently applies subscription tags to orders. Most subscription apps (ReCharge, Skio, etc.) do this automatically.

Check warning on line 166 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L166

Did you really mean 'Shopify'?

Check warning on line 166 in data-transformations/order-segmentation/order-type.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

data-transformations/order-segmentation/order-type.mdx#L166

Did you really mean 'Skio'?

### Validate with Subscription Platform Data

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,20 @@
These fields are most reliable when you have a direct subscription-platform integration (or consistent subscription tagging in Shopify).
</Note>

## Shopify behavior update (February 20, 2026)

Check warning on line 24 in help-center/core-concepts/data-definitions/subscription-flags.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

help-center/core-concepts/data-definitions/subscription-flags.mdx#L24

Did you really mean 'Shopify'?

For Shopify order lines, SourceMedium now uses expanded line-item metadata signals when setting subscription flags.

Check warning on line 26 in help-center/core-concepts/data-definitions/subscription-flags.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

help-center/core-concepts/data-definitions/subscription-flags.mdx#L26

Did you really mean 'Shopify'?

What this means in practice:
- More Shopify subscription metadata keys are recognized (including common selling-plan/prepaid/app-emitted keys).

Check warning on line 29 in help-center/core-concepts/data-definitions/subscription-flags.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

help-center/core-concepts/data-definitions/subscription-flags.mdx#L29

Did you really mean 'Shopify'?
- Explicit one-time line signals take precedence over explicit subscription line signals.
- Placeholder-only `subscription_id = '1'` no longer counts as a subscription signal by itself.
- Post-cutover, single-line order-source fallback includes ReCharge app id `294517`.

Expected impact for existing users:
- You may see some historical Shopify orders reclassified between one-time and subscription after refresh/backfill cycles.

Check warning on line 35 in help-center/core-concepts/data-definitions/subscription-flags.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

help-center/core-concepts/data-definitions/subscription-flags.mdx#L35

Did you really mean 'Shopify'?
- Field definitions and column names do not change.

## Recommended query pattern

```sql
Expand All @@ -41,4 +55,3 @@

- [Order Type (sm_order_type)](/data-transformations/order-segmentation/order-type)
- [`obt_orders` column docs](/data-activation/data-tables/sm_transformed_v2/obt_orders)

1 change: 1 addition & 0 deletions help-center/faq/data-faqs/data-faqs-home.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
icon: "question-mark"
---

Use this section when you’re comparing SourceMedium to another system (Shopify, ReCharge, ad platforms, GA4) and you’re trying to understand why numbers don’t match.

Check warning on line 8 in help-center/faq/data-faqs/data-faqs-home.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

help-center/faq/data-faqs/data-faqs-home.mdx#L8

Did you really mean 'Shopify'?

## Start here

Expand All @@ -17,6 +17,7 @@
- [Why would external reports not match the SourceMedium dashboard?](/help-center/faq/data-faqs/why-would-external-reports-not-match-the-sourcemedium-dashboard)
- [Why don't the Executive Summary and Shopify's Sales Report match?](/help-center/faq/data-faqs/why-dont-the-executive-summary-and-shopifys-sales-report-match)
- [Why doesn't ReCharge subscription data match SourceMedium reports?](/help-center/faq/data-faqs/why-doesnt-recharge-match-sourcemedium)
- Includes notes on the February 20, 2026 Shopify subscription signal update.

Check warning on line 20 in help-center/faq/data-faqs/data-faqs-home.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

help-center/faq/data-faqs/data-faqs-home.mdx#L20

Did you really mean 'Shopify'?
- [What impact does Global-E have in SourceMedium?](/help-center/faq/account-management-faqs/what-impact-does-global-e-have-in-source-medium)
- [What attribution windows does SourceMedium report on for marketing platforms?](/help-center/faq/data-faqs/what-attribution-windows-does-sourcemedium-report-on-for-marketing-platforms)
- [How does Stripe metadata work?](/help-center/faq/data-faqs/how-does-stripe-metadata-work)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,10 @@

It’s common for subscription reporting to differ across tools. ReCharge and SourceMedium may be answering slightly different questions, using different timestamps, or applying different rules for refunds, cancellations, and attribution.

<Note>
As of **February 20, 2026**, Shopify line-item subscription classification in SourceMedium was updated to use expanded metadata signals (including ReCharge app-id fallback coverage for `294517`) and to ignore placeholder-only `subscription_id = '1'`.
</Note>

## Start by aligning on definitions

Before troubleshooting, confirm which definition you’re using in each tool:
Expand Down Expand Up @@ -40,6 +44,14 @@

Confirm you’re comparing the same store(s), channel(s), and date range in both tools.

### 5) Shopify metadata signal changes (for existing users)

Check warning on line 47 in help-center/faq/data-faqs/why-doesnt-recharge-match-sourcemedium.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

help-center/faq/data-faqs/why-doesnt-recharge-match-sourcemedium.mdx#L47

Did you really mean 'Shopify'?

If your subscription/non-subscription split changed recently, this can be expected after the Shopify signal update:

Check warning on line 49 in help-center/faq/data-faqs/why-doesnt-recharge-match-sourcemedium.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

help-center/faq/data-faqs/why-doesnt-recharge-match-sourcemedium.mdx#L49

Did you really mean 'Shopify'?

- Some lines previously marked one-time may now be classified as subscription due to newly recognized metadata keys.
- Some lines previously marked subscription may now be one-time if the only prior signal was placeholder `subscription_id = '1'`.
- In post-cutover Shopify data, single-line orders with `order_source_name = '294517'` can now classify as subscription via fallback logic.

Check warning on line 53 in help-center/faq/data-faqs/why-doesnt-recharge-match-sourcemedium.mdx

View check run for this annotation

Mintlify / Mintlify Validation (sourcemedium) - vale-spellcheck

help-center/faq/data-faqs/why-doesnt-recharge-match-sourcemedium.mdx#L53

Did you really mean 'Shopify'?

## What to do next

If you’re still seeing unexplained differences, share the following with your SourceMedium team:
Expand Down
Loading