What belongs in a Shopify subscription margin audit?
Last updated: 2026-08-09
Written and reviewed by Seller Profit Guard Editorial Team.
Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test.
Add the nine-attestation register
Record invented-data scope, shared shipment grain, app and selling plans, charge events, checkout disclosure, inventory and fulfillment, contract-order separation, two-person review, and restoration authority.
Each row has owner, reviewer, source, acquisition date, policy date, yes or no, exception, expiry, and downstream consumer. Missing values Block closure.
Preserve immutable subscription history
Append rather than overwrite products, variants, apps, selling plans, prices, frequencies, charge events, payment fees, policies, contract states, order states, fulfillments, inventory, refunds, costs, cohort assumptions, CAC, outputs, decisions, reviewers, backups, and restore drills.
Immutable history distinguishes source correction, economic change, and operational state change without exposing subscriber data.
Identify product and plan
Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 1 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For identify product and plan, 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.
Record billing model
Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 2 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For record billing model, 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.
Record charge and cadence
Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 3 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For record charge and cadence, 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.
Record fulfillment schedule
Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 4 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For record fulfillment schedule, 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.
Record cost packet
Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 5 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For record cost packet, 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.
Record churn evidence
Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 6 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For record churn evidence, 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.
Record CAC cohort
Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 7 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For record cac cohort, 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.
Record policy and checkout
Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 8 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For record policy and checkout, 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.
Record decision ownership
Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 9 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For record decision ownership, 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.
Record backup and restoration
Record the product and variant, selling plan, billing model, price, discount, charge event, cadence, scheduled or expected shipments, churn source, per-shipment costs, payment allocation, app cost, reserve, CAC cohort, policy, checkout, inventory, owner, reviewer, decision, backup, stop rule, and restoration test. Preserve the prior value, new value, reason, source, approver, expected effect, actual effect, and rollback result. Checkpoint 10 in the subscription audit packet records the value, unit, billing event, fulfillment grain, evidence date, owner, and accepted source before any output is interpreted.
For record backup and restoration, 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.
Identify product and plan: verification test 1
Create a synthetic counterexample for identify product and plan. 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.
Record billing model: verification test 2
Create a synthetic counterexample for record billing model. 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.
Record charge and cadence: verification test 3
Create a synthetic counterexample for record charge and cadence. 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.
Record fulfillment schedule: verification test 4
Create a synthetic counterexample for record fulfillment schedule. 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.
Record cost packet: verification test 5
Create a synthetic counterexample for record cost packet. 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.
Record churn evidence: verification test 6
Create a synthetic counterexample for record churn evidence. 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.
Record CAC cohort: verification test 7
Create a synthetic counterexample for record cac cohort. 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.
Record policy and checkout: verification test 8
Create a synthetic counterexample for record policy and checkout. 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.
Record decision ownership: verification test 9
Create a synthetic counterexample for record decision ownership. 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.
Record backup and restoration: verification test 10
Create a synthetic counterexample for record backup and restoration. 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 Margin Audit and Change Log: evidence exercise 1
Reperform identify product and plan 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.
Subscription Margin Audit and Change Log: evidence exercise 2
Reperform record billing model 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.
Subscription Margin Audit and Change Log: evidence exercise 3
Reperform record charge and cadence 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.
Subscription Margin Audit and Change Log: evidence exercise 4
Reperform record fulfillment schedule 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.
Subscription Margin Audit and Change Log: evidence exercise 5
Reperform record cost packet 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.
Subscription Margin Audit and Change Log: evidence exercise 6
Reperform record churn evidence 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.
Subscription Margin Audit and Change Log: evidence exercise 7
Reperform record cac cohort 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.
Subscription Margin Audit and Change Log: evidence exercise 8
Reperform record policy and checkout 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.
Subscription Margin Audit and Change Log: evidence exercise 9
Reperform record decision ownership 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.
Subscription Margin Audit and Change Log: evidence exercise 10
Reperform record backup and restoration 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.
- Shopify Subscription Data Source Map: Map every input to protected selling-plan, product, contract, order, payment, fulfillment, app, inventory, policy, cohort, and CAC evidence.
- 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.
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.