Where should Shopify subscription margin inputs come from?
Last updated: 2026-08-09
Written and reviewed by Seller Profit Guard Editorial Team.
Use current selling-plan and product records, protected checkout tests, payment statements, app bills, fulfillment invoices, inventory records, cancellation and refund policy, aggregate renewal cohorts, scheduled fulfillment evidence, and an approved CAC attribution packet. Publish invented values or aggregates, never subscriber records.
Fingerprint the subscription evidence set
Version product, variant, app, selling plan, billing and delivery frequency, charge event, payment fee, checkout disclosure, policy, contract state, order state, scheduled fulfillment, inventory, shipping, refund, costs, cohort, CAC, owner approval, and restoration proof.
Store source acquisition and seller-policy dates separately; a public help page defines a boundary but does not prove one store's protected configuration.
Keep subscriber data outside lineage
Use invented fixtures and approved aggregate cohorts. The public lineage records source class, grain, period, aggregation rule, minimum count, owner, reviewer, checksum, expiry, and exclusions without names, emails, addresses, contract IDs, order IDs, payment methods, or raw exports.
Private source access and public evidence summaries remain distinct artifacts.
Selling-plan source
Use current selling-plan and product records, protected checkout tests, payment statements, app bills, fulfillment invoices, inventory records, cancellation and refund policy, aggregate renewal cohorts, scheduled fulfillment evidence, and an approved CAC attribution packet. Publish invented values or aggregates, never subscriber records. Record source owner, access date, period, currency, aggregation rule, privacy class, and accepted version. Checkpoint 1 in the subscription lineage map records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For selling-plan source, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.
Product and price source
Use current selling-plan and product records, protected checkout tests, payment statements, app bills, fulfillment invoices, inventory records, cancellation and refund policy, aggregate renewal cohorts, scheduled fulfillment evidence, and an approved CAC attribution packet. Publish invented values or aggregates, never subscriber records. Record source owner, access date, period, currency, aggregation rule, privacy class, and accepted version. Checkpoint 2 in the subscription lineage map records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For product and price source, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.
Payment-event source
Use current selling-plan and product records, protected checkout tests, payment statements, app bills, fulfillment invoices, inventory records, cancellation and refund policy, aggregate renewal cohorts, scheduled fulfillment evidence, and an approved CAC attribution packet. Publish invented values or aggregates, never subscriber records. Record source owner, access date, period, currency, aggregation rule, privacy class, and accepted version. Checkpoint 3 in the subscription lineage map records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For payment-event source, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.
Fulfillment-cost source
Use current selling-plan and product records, protected checkout tests, payment statements, app bills, fulfillment invoices, inventory records, cancellation and refund policy, aggregate renewal cohorts, scheduled fulfillment evidence, and an approved CAC attribution packet. Publish invented values or aggregates, never subscriber records. Record source owner, access date, period, currency, aggregation rule, privacy class, and accepted version. Checkpoint 4 in the subscription lineage map records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For fulfillment-cost source, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.
Subscription-app source
Use current selling-plan and product records, protected checkout tests, payment statements, app bills, fulfillment invoices, inventory records, cancellation and refund policy, aggregate renewal cohorts, scheduled fulfillment evidence, and an approved CAC attribution packet. Publish invented values or aggregates, never subscriber records. Record source owner, access date, period, currency, aggregation rule, privacy class, and accepted version. Checkpoint 5 in the subscription lineage map records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For subscription-app source, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.
Contract-state source
Use current selling-plan and product records, protected checkout tests, payment statements, app bills, fulfillment invoices, inventory records, cancellation and refund policy, aggregate renewal cohorts, scheduled fulfillment evidence, and an approved CAC attribution packet. Publish invented values or aggregates, never subscriber records. Record source owner, access date, period, currency, aggregation rule, privacy class, and accepted version. Checkpoint 6 in the subscription lineage map records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For contract-state source, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.
Inventory and schedule source
Use current selling-plan and product records, protected checkout tests, payment statements, app bills, fulfillment invoices, inventory records, cancellation and refund policy, aggregate renewal cohorts, scheduled fulfillment evidence, and an approved CAC attribution packet. Publish invented values or aggregates, never subscriber records. Record source owner, access date, period, currency, aggregation rule, privacy class, and accepted version. Checkpoint 7 in the subscription lineage map records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For inventory and schedule source, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.
Cancellation and refund source
Use current selling-plan and product records, protected checkout tests, payment statements, app bills, fulfillment invoices, inventory records, cancellation and refund policy, aggregate renewal cohorts, scheduled fulfillment evidence, and an approved CAC attribution packet. Publish invented values or aggregates, never subscriber records. Record source owner, access date, period, currency, aggregation rule, privacy class, and accepted version. Checkpoint 8 in the subscription lineage map records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For cancellation and refund source, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.
Retention cohort source
Use current selling-plan and product records, protected checkout tests, payment statements, app bills, fulfillment invoices, inventory records, cancellation and refund policy, aggregate renewal cohorts, scheduled fulfillment evidence, and an approved CAC attribution packet. Publish invented values or aggregates, never subscriber records. Record source owner, access date, period, currency, aggregation rule, privacy class, and accepted version. Checkpoint 9 in the subscription lineage map records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For retention cohort source, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.
CAC attribution source
Use current selling-plan and product records, protected checkout tests, payment statements, app bills, fulfillment invoices, inventory records, cancellation and refund policy, aggregate renewal cohorts, scheduled fulfillment evidence, and an approved CAC attribution packet. Publish invented values or aggregates, never subscriber records. Record source owner, access date, period, currency, aggregation rule, privacy class, and accepted version. Checkpoint 10 in the subscription lineage map records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For cac attribution source, preserve monthly charge, prepaid amount, scheduled or expected shipments, product cost, payment allocation, fulfillment, app cost, reserve, churn, CAC, policy, checkout, inventory, and contract state as separate fields. A missing field changes the decision rather than disappearing into an average.
Selling-plan source: verification test 1
Create a synthetic counterexample for selling-plan source. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.
Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.
Product and price source: verification test 2
Create a synthetic counterexample for product and price source. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.
Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.
Payment-event source: verification test 3
Create a synthetic counterexample for payment-event source. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.
Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.
Fulfillment-cost source: verification test 4
Create a synthetic counterexample for fulfillment-cost source. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.
Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.
Subscription-app source: verification test 5
Create a synthetic counterexample for subscription-app source. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.
Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.
Contract-state source: verification test 6
Create a synthetic counterexample for contract-state source. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.
Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.
Inventory and schedule source: verification test 7
Create a synthetic counterexample for inventory and schedule source. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.
Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.
Cancellation and refund source: verification test 8
Create a synthetic counterexample for cancellation and refund source. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.
Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.
Retention cohort source: verification test 9
Create a synthetic counterexample for retention cohort source. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.
Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.
CAC attribution source: verification test 10
Create a synthetic counterexample for cac attribution source. Change one input only, retain the prior packet, and show the resulting contribution per shipment, margin, modeled term contribution, contribution after CAC, payback shipments, and Block, Review, or Ready state.
Then reconcile the counterexample against current selling-plan, product, payment, app, contract, scheduled fulfillment, inventory, cancellation, refund, cohort, owner, reviewer, backup, stop-rule, and restoration evidence. Do not expose any subscriber or order record.
Shopify Subscription Data Source Map: evidence exercise 1
Reperform selling-plan source using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.
Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.
Shopify Subscription Data Source Map: evidence exercise 2
Reperform product and price source using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.
Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.
Shopify Subscription Data Source Map: evidence exercise 3
Reperform payment-event source using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.
Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.
Shopify Subscription Data Source Map: evidence exercise 4
Reperform fulfillment-cost source using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.
Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.
Shopify Subscription Data Source Map: evidence exercise 5
Reperform subscription-app source using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.
Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.
Shopify Subscription Data Source Map: evidence exercise 6
Reperform contract-state source using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.
Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.
Shopify Subscription Data Source Map: evidence exercise 7
Reperform inventory and schedule source using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.
Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.
Shopify Subscription Data Source Map: evidence exercise 8
Reperform cancellation and refund source using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.
Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.
Shopify Subscription Data Source Map: evidence exercise 9
Reperform retention cohort source using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.
Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.
Shopify Subscription Data Source Map: evidence exercise 10
Reperform cac attribution source using the invented monthly USD 48 packet and prepaid USD 240 six-fulfillment packet. Keep payment timing explicit: one charge per monthly shipment versus one prepaid charge allocated across scheduled fulfillments.
Stress churn, prepaid term, price, product cost, fulfillment, payment fee, app allocation, reserve, CAC, margin target, payback limit, inventory, policy, checkout, contract status, ownership, or restoration one at a time. Exact cents do not convert a modeled assumption into observed lifetime value.
Sources and further reading
- Shopify Help: Subscriptions: Official purchase-option, app, reporting, payment-data, and subscription-management overview.
- Shopify Help: Subscription business models: Official pay-as-you-go and prepaid model definitions and operating risks.
- Shopify Help: Setting up subscriptions: Official app, product purchase-option, subscription-only channel, and cancellation-policy setup.
- Shopify Help: Managing subscription contracts: Official contract product, cadence, payment method, skip, pause, resume, and cancel controls.
- Shopify Help: Subscription fulfillment: Official recurring order, prepaid schedule, inventory, refund, cancellation, and fulfillment boundaries.
- Shopify Help: Subscription customer experience: Official checkout frequency, discount, shipping, policy agreement, and self-service context.
- Seller Profit Guard methodology: Deterministic formula, evidence, privacy, testing, correction, monitoring, and restoration.
Related Seller Profit Guard tools
- Shopify Subscription Margin Calculator: Run the browser-local monthly versus prepaid model.
- Shopify Bundle Margin Calculator: Keep fixed bundles outside purchase-option modeling.
- Shopify App Cost per Order Calculator: Normalize app cost to a defensible shipment denominator.
- Paid CPA Limit Calculator: Check acquisition limits separately.
- Methodology: Review evidence, privacy, validation, correction, monitoring, and restoration.
- Data Privacy: Protect subscribers, contracts, addresses, payments, orders, and raw exports.
- Shopify Subscription Margin Formula and Inputs: Define monthly and prepaid price, fulfillment, product, payment, app, reserve, churn, CAC, policy, and evidence inputs safely.
- Monthly Shopify Subscription Margin: Worked Example: Calculate one invented pay-as-you-go packet from recurring charge through churn-based expected shipments and CAC payback.
- Prepaid Shopify Subscription Margin by Fulfillment: Allocate one prepaid charge across six scheduled fulfillments without treating checkout cash as first-shipment revenue or profit.
- 10 Subscription Margin Mistakes That Break Payback: Correct charge-event, fulfillment-grain, churn, prepaid revenue, CAC, reserve, inventory, policy, and contract-state errors.
- Set Subscription Margin and CAC Payback Limits: Separate structural Block conditions from contribution-margin and payback Review thresholds, then define a narrow evidence-based Ready status.
- Monthly vs Prepaid Shopify Subscription Economics: Compare recognized shipment revenue, payment allocation, contribution, term economics, obligations, and CAC payback at one grain.
- Weekly Shopify Subscription Margin Review: Turn contract, renewal, prepaid fulfillment, churn, CAC, inventory, exception, and restoration evidence into a recurring control loop.
- Interpret Subscription Contribution Without False LTV: Explain what modeled term contribution and CAC payback can and cannot establish before a pricing, inventory, acquisition, or operating decision.
- Subscription Margin Audit and Change Log: Provide a reusable evidence checklist for selling plans, billing models, fulfillment, retention, costs, CAC, policy, decisions, and rollback.
Next step: Open Seller Profit Guard.
This is operational planning help, not tax, accounting, legal, financial, or platform-policy advice. Review the Terms and disclaimer, and verify current platform rules and fee assumptions before changing prices.