SubSuite Documentation
Everything you need to build and manage subscription commerce on Shopify.
Getting Started
Install SubSuite
Install from the Shopify App Store and connect your store.
Create a Selling Plan
Set up your first subscription plan with pricing, frequency, and discount rules.
Assign Products
Attach selling plans to products or collections from your Shopify catalog.
Choose Your Modules
Unlock add-on modules like analytics, recovery, bundles, or loyalty from the Billing page.
Modules Overview
SubFlow
Core ModuleCore subscription engine — selling plans, contracts, customer portal.
SubPulse
Add-onSubscription analytics & insights — MRR, churn, LTV, cohorts.
SubRecover
Add-onChurn recovery & dunning — payment retry, cancellation prevention.
SubBundle
Add-onBuild-a-box subscriptions — fixed bundles, mix & match, tiered pricing.
SubLoyal
Add-onLoyalty & rewards — points engine, VIP tiers, referrals, milestones.
SubFlow is always included on all plans. Add-on modules can be unlocked based on your billing plan.
SubFlow — Subscription Engine
The foundation of SubSuite. Manage selling plans, subscription contracts, and the customer portal.
Overview
SubFlow is the core subscription management module included with every SubSuite plan. It handles the full lifecycle of subscription commerce: creating and managing selling plans in Shopify, tracking subscription contracts, and providing a customer-facing portal for self-service management.
As the foundation of SubSuite, SubFlow powers all subscription functionality across the platform. Whether you're running a basic subscription offering or a complex multi-plan commerce strategy, SubFlow provides the infrastructure to manage every aspect of the customer subscription journey.
Selling Plans
Create flexible subscription plans with comprehensive customization options. Define the cadence and pricing structure that matches your business model.
Plan Creation
Create subscription plans with custom names, delivery frequencies, billing frequencies, and pricing. Set up one-time setup fees and recurring charges.
Discount Rules
Configure percentage or fixed-amount discounts for subscribers. Encourage longer commitments with flexible discount structures.
Product Assignment
Attach selling plans to individual products or entire collections. Control which plans are available for each product.
Shopify Sync
Plans sync directly with Shopify's Selling Plan Groups API for native checkout integration. Automatically appears in Shopify checkout.
Subscription Contracts
Every subscription in SubFlow is represented as a contract that tracks the complete lifecycle of the customer relationship. Contracts are created automatically when customers subscribe and provide a complete audit trail of all changes.
Contract Status Tracking
| Status | Description |
|---|---|
| Active | Subscription is active and billing normally |
| Paused | Customer has paused the subscription; billing is halted |
| Cancelled | Customer or merchant has cancelled the subscription |
| Expired | Subscription reached its end date or cycle limit |
| Failed | Billing attempt failed; requires recovery or cancellation |
Event Logging & Audit Trail
Every lifecycle change is logged automatically for a complete audit trail. You can track when a subscription was created, activated, paused, resumed, cancelled, or expired.
Logged Events: Created, Activated, Paused, Resumed, Cancelled, Expired, Reactivated. Each event includes timestamp and metadata for compliance and debugging.
Contract Data
Contracts automatically store customer details, order information, and subscription parameters locally for fast access and reporting. This includes:
- Customer name, email, and contact details
- Billing and shipping addresses
- Original order and subscription parameters
- Current status and next billing date
- Payment method and billing history
- Custom metadata and tags
Customer Portal
SubFlow includes a REST API that powers a full-featured customer portal. Allow customers to self-manage their subscriptions directly from your storefront or a dedicated portal.
7 REST Endpoints: Pause, resume, cancel, skip next billing, swap products, change frequency, and retrieve subscription details.
The Portal API integrates seamlessly with your Shopify theme or headless storefront. Customers can:
Pausetheir subscription temporarilyResumea paused subscriptionCancelat any timeSkipthe next billing cycleSwapto a different productChange Frequencyof deliveriesView Historyof all transactions
Webhook Integration
SubFlow uses Shopify webhooks to synchronize subscription data in real-time. This ensures your subscription data is always up-to-date and consistent with Shopify.
SUBSCRIPTION_CONTRACTS_CREATE
Fires when a customer subscribes. SubFlow creates a new contract and begins tracking.
SUBSCRIPTION_CONTRACTS_UPDATE
Fires when a contract status changes. SubFlow logs the event and updates the state.
BILLING_ATTEMPTS_SUCCESS
Fires when a payment succeeds. Records the successful charge and schedules next billing cycle.
BILLING_ATTEMPTS_FAILURE
Fires when a payment fails. Marks the contract as failed and triggers recovery if SubRecover is enabled.
SubPulse — Analytics & Insights
Track MRR, churn, LTV, and subscriber trends with real-time analytics dashboards.
Overview
SubPulse gives you deep visibility into your subscription business performance. Track key metrics in real-time, visualize revenue trends, analyze subscriber cohorts, and forecast future growth — all from a single dashboard.
Key Metrics
MRR
Monthly Recurring Revenue — calculated from successful billing attempts in the last 30 days.
ARR
Annual Recurring Revenue — projected annual revenue based on current MRR (MRR × 12).
Churn Rate
Percentage of subscribers who cancelled within a period. Formula: cancelled / (active + cancelled).
LTV
Customer Lifetime Value — average revenue per subscriber divided by churn rate.
NRR
Net Revenue Retention — measures revenue retained from existing subscribers including expansions.
Dashboards & Charts
- Revenue Timeline: Daily MRR charted over 30/60/90 day windows using interactive line charts.
- Subscriber Growth: Area chart showing daily active subscriber count trends.
- Revenue Breakdown: Revenue split by product and by selling plan.
- Revenue Forecast: Linear projection of MRR forward 6 months based on historical growth rate.
Cohort Retention Analysis
- Cohort Grouping: Subscribers grouped by month of first subscription.
- Retention Tracking: Up to 12-month retention tracked per cohort.
- Visualization: Retention rates displayed as percentages in a heat-map style table.
Daily Snapshots
SubPulse automatically captures daily snapshots to maintain an accurate historical record. Tracked data points include: active subscriber count, new subscribers, cancelled subscribers, total revenue, MRR, ARR, and churn rate.
Pro Tip: SubPulse snapshots are generated automatically. For the most accurate data, ensure your Shopify webhooks are properly configured.
SubRecover — Churn Recovery
Automate failed payment recovery with dunning sequences and prevent voluntary cancellations.
Overview
SubRecover helps you recover failed payments and prevent voluntary churn. Set up automated dunning sequences that retry payments, send reminder emails, and escalate recovery efforts — all on autopilot. Combined with cancellation prevention flows, SubRecover maximizes subscriber retention.
Dunning Sequences
Create multi-step recovery workflows that automatically handle failed payments.
Sequence Builder
Create multi-step recovery workflows with configurable actions and timing.
Trigger Events
Sequences triggered by BILLING_FAILURE or CARD_EXPIRING events.
Max Retries
Configure maximum retry attempts per sequence to avoid over-billing.
Activate/Deactivate
Toggle sequences on and off without deleting configuration.
Dunning Steps
Each step in a dunning sequence performs a specific action with configurable timing.
| Action Type | Description | Configuration |
|---|---|---|
RETRY_PAYMENT | Automatically retry the failed payment through Shopify | stepOrder, delayHours |
SEND_EMAIL | Send a custom dunning email with configurable subject and body | subject, body, stepOrder, delayHours |
WAIT | Pause the sequence for a specified number of hours | stepOrder, delayHours |
Recovery Tracking
Monitor the complete lifecycle of recovery attempts with detailed tracking and history.
Attempt Statuses
IN_PROGRESS → RECOVERED or EXPIRED/FAILED
Tracked Information
Subscription, sequence used, current step, start time, completion time.
Recovery Details
Recovered amount, recovered order ID, and full payment confirmation.
Full History
Complete recovery history with pagination and status filtering.
Cancellation Prevention
Display configurable multi-step flows when customers attempt to cancel their subscriptions.
Recovery Analytics
Attempt Counts
Total, recovered, failed, in-progress
Recovery Rate
% of successful recoveries
Revenue Recovered
Total $ recovered from failures
Avg. Recovery Time
Hours to recovery completion
Monthly Failures
Failed payments this month
Active Sequences
Enabled dunning sequences
Getting Started: Start with a simple 3-step sequence: Wait 24h → Retry Payment → Send Email. You can refine timing as you learn your recovery patterns.
SubBundle — Bundle Builder
Create build-a-box subscription bundles with flexible product selection and tiered pricing.
Overview
SubBundle lets you create subscription box experiences where customers can customize their orders. Offer fixed bundles with pre-set products or mix-and-match bundles where subscribers choose from your catalog. With tiered pricing, cycle management, and selection tracking, SubBundle powers the complete build-a-box workflow.
Bundle Types
Fixed Bundles
Pre-configured bundles with set products. Great for curated boxes where you choose the items.
Mix & Match
Let subscribers choose their own products from eligible items. Set min/max item limits for flexibility.
Bundle Configuration
| Property | Type | Description |
|---|---|---|
name | string | Bundle display name |
type | enum | FIXED or MIX_AND_MATCH |
minItems | number | Minimum item count for selections |
maxItems | number | Maximum item count for selections |
discountType | enum | PERCENTAGE or FIXED_AMOUNT |
discountValue | number | Discount amount applied |
productIds | array | Eligible products for selection |
Tiered Pricing
Configure price tiers based on the number of items selected. Each tier has a minimum items threshold and a corresponding discount value. Tiered pricing encourages subscribers to add more items for better value.
Example Configuration
3 items = 10% discount
5 items = 15% discount
8 items = 20% discount
Cycle Management
Each bundle operates on cycles with open, close, and ship dates. Merchants control when cycles open and close, allowing subscribers to make their selections during the OPEN window.
Scheduled
Accepting picks
No new picks
Fulfilled
Selection Tracking & Stats
Subscribers choose products per cycle per bundle. Each selection is confirmed and stored with a timestamp. The system maintains one selection per subscriber per cycle using upsert logic.
Active Bundles
Open Cycles
Selections This Cycle
Total Selections
Popular Products
SubLoyal — Loyalty & Rewards
Reward long-term subscribers with points, VIP tiers, referral bonuses, and milestone achievements.
Overview
SubLoyal turns subscribers into loyal advocates. Build a points-based loyalty program that rewards purchases, subscription tenure, and referrals. Create VIP tiers with exclusive perks, celebrate milestones with automatic rewards, and grow your subscriber base through referral incentives.
Points Engine
Earn per Dollar
Award points for every dollar spent on subscription orders (configurable rate).
Earn per Month
Automatic monthly tenure points for active subscribers.
Referral Points
Both referrer and referee earn points when a referral converts.
Milestone Points
Bonus points awarded at subscription milestones (3 months, 6 months, 1 year, etc.).
Point Transaction Types
| Transaction Type | Description |
|---|---|
EARN_PURCHASE | Points earned from subscription payments |
EARN_TENURE | Monthly tenure reward points |
EARN_REFERRAL | Points from successful referrals |
EARN_MILESTONE | Bonus points for reaching milestones |
REDEEM_DISCOUNT | Points redeemed for a discount |
REDEEM_PRODUCT | Points redeemed for a free product |
REDEEM_FREE_MONTH | Points redeemed for a free month |
EXPIRE | Points expired after the expiry period |
ADMIN_ADJUST | Manual adjustment by merchant |
VIP Tiers
Configure named tiers with minimum lifetime points thresholds. Each tier includes custom perks (free shipping, early access, exclusive products, etc.). Members automatically upgrade when they reach the next tier's points threshold.
Example Tier Structure
Bronze: 0 points
Silver: 500 points
Gold: 2,000 points
Platinum: 5,000 points
Milestone Rewards
Configurable rewards triggered at subscription month thresholds. Each milestone has a months threshold, reward type, reward value, and badge name.
- Reward Types: POINTS (bonus points), FREE_PRODUCT, DISCOUNT
- Triggers: Subscription month thresholds (3 months, 6 months, 1 year, etc.)
- Tracking: Automatic duplicate prevention to ensure each milestone is awarded once
- Badge Names: Custom badge names celebrate subscriber achievements
Referral Program
Each member gets a unique 8-character referral code. When a referred customer subscribes, both parties earn points.
- Referral Codes: Unique 8-character codes per member
- Statuses: PENDING → REWARDED
- Point Distribution: Both referrer and referee earn configurable amounts
- Auto-Enrollment: Referee automatically joins loyalty program
- Tier Recalculation: Automatic tier updates after referral rewards
Member Management
Members are auto-enrolled when a subscription is created (if the loyalty program is active). Track points balance, lifetime points, current tier, and subscription months. Search members by name or email, filter by tier.
Pro Tip: Enable auto-enrollment so every new subscriber is automatically added to your loyalty program. Combined with monthly tenure points, subscribers earn rewards from day one.
Customer Portal API
REST endpoints for customer self-service subscription management. Integrate with your Shopify theme or headless storefront.
Overview
The Customer Portal API provides 7 endpoints that enable subscribers to manage their subscriptions directly. These endpoints can be integrated into your Shopify theme's customer account pages or used in a headless storefront application. All endpoints are prefixed with /api/customer/subscriptions.
Authentication: All API requests require a valid customer ID. In a Shopify theme context, the customer ID is available from the Shopify Liquid customer object. For headless implementations, use Shopify's Customer Account API.
Endpoints
/api/customer/subscriptions?customerId={id}
List Subscriptions
Returns all subscriptions for a customer.
curl -X GET "https://your-store.myshopify.com/api/customer/subscriptions?customerId=gid://shopify/Customer/12345"
Response (200):
{
"subscriptions": [
{
"id": "gid://shopify/AppSubscription/1",
"status": "ACTIVE",
"product": { "title": "Premium Coffee" },
"frequency": { "interval": "MONTH", "intervalCount": 1 },
"nextOrderDate": "2026-04-03T00:00:00Z"
}
]
}
/api/customer/subscriptions/{id}/pause
Pause Subscription
Pauses an active subscription. Returns updated status.
curl -X POST ".../subscriptions/{id}/pause" -H "Content-Type: application/json"
Response (200): { "status": "PAUSED", "pausedAt": "2026-03-03T14:22:00Z" }
/api/customer/subscriptions/{id}/resume
Resume Subscription
Resumes a paused subscription. Returns updated status and next order date.
curl -X POST ".../subscriptions/{id}/resume" -H "Content-Type: application/json"
Response (200): { "status": "ACTIVE", "nextOrderDate": "2026-04-03T00:00:00Z" }
/api/customer/subscriptions/{id}/cancel
Cancel Subscription
Cancels a subscription. Accepts an optional reason in the body.
curl -X POST ".../subscriptions/{id}/cancel" \
-H "Content-Type: application/json" \
-d '{"reason":"Product no longer needed"}'
Response (200): { "status": "CANCELLED", "reason": "Product no longer needed" }
/api/customer/subscriptions/{id}/skip
Skip Next Order
Skips the next scheduled order, advancing the next billing date.
curl -X POST ".../subscriptions/{id}/skip" -H "Content-Type: application/json"
Response (200): { "skipped": true, "nextOrderDate": "2026-05-03T00:00:00Z" }
/api/customer/subscriptions/{id}/swap
Swap Product
Swaps the subscribed product variant. Requires variantId in body.
curl -X POST ".../subscriptions/{id}/swap" \
-H "Content-Type: application/json" \
-d '{"variantId":"gid://shopify/ProductVariant/789"}'
Response (200): { "variant": { "title": "2 lb Bag", "sku": "COFFEE-2LB" } }
/api/customer/subscriptions/{id}/frequency
Change Frequency
Changes delivery/billing frequency. Requires interval and intervalCount.
curl -X POST ".../subscriptions/{id}/frequency" \
-H "Content-Type: application/json" \
-d '{"interval":"MONTH","intervalCount":2}'
Response (200): { "frequency": { "interval": "MONTH", "intervalCount": 2 } }
Status Codes
| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request (missing parameters) |
| 404 | Subscription not found |
| 422 | Unprocessable (invalid state transition) |
| 500 | Internal server error |
Integration Guide
Set up customer authentication in your theme or app. Ensure the customer ID is accessible from the current session.
Fetch customer subscriptions using the list endpoint to retrieve all active subscriptions.
Render subscription cards with action buttons for pause, resume, cancel, skip, swap, and frequency change.
Call the appropriate endpoint when a customer clicks an action and display the result.
Warning: These endpoints modify live subscription contracts in Shopify. Always confirm destructive actions (cancel, swap) with the customer before calling the API.
Billing & Plans
Choose the right plan for your subscription business. All plans include zero transaction fees.
Overview
SubSuite offers four pricing tiers designed to grow with your business. Every plan includes SubFlow (core subscription management) with zero transaction fees. Unlock additional modules as add-ons based on your plan level.
Pricing Plans
Free
Perfect for getting started
- ✓ Up to 50 active subscribers
- ✓ SubFlow core management
- ✓ Customer portal
- ✓ Zero transaction fees
Starter
For growing businesses
- ✓ Up to 500 subscribers
- ✓ Everything in Free
- ✓ Choose 1 add-on module
- ✓ 14-day free trial
Growth
Most popular choice
- ✓ Up to 5,000 subscribers
- ✓ Everything in Starter
- ✓ Choose 2 add-on modules
- ✓ Priority support
Suite
For enterprise businesses
- ✓ Unlimited subscribers
- ✓ All 5 modules included
- ✓ Dedicated support
- ✓ 14-day free trial
Module Add-ons
SubSuite's feature set is built around a modular architecture. SubFlow (core) is included in every plan. Choose additional modules based on your plan:
| Plan | Module Access |
|---|---|
| Free | 0 add-ons (SubFlow only) |
| Starter | Choose any 1 add-on |
| Growth | Choose any 2 add-ons |
| Suite | All 4 add-ons included automatically |
Module selection can be changed at any time, with swap date restrictions to prevent mid-cycle abuse.
Plan Changes
Upgrades
Take effect immediately with prorated billing.
Downgrades
Processed at end of current billing cycle.
Module Changes
Adjusts automatically based on new plan limits.
Frequently Asked Questions
Can I change my plan at any time?
Yes. Upgrades take effect immediately, while downgrades are processed at the end of your billing cycle.
What happens if I exceed my subscriber limit?
You'll receive upgrade notifications on your billing page. You can upgrade to a higher plan at any time.
Are there any setup fees or transaction fees?
No. All SubSuite plans include zero transaction fees and no hidden setup fees. You only pay the monthly plan price.
Can I switch modules after signing up?
Yes. You can change your add-on module selection at any time based on your plan's limits. Module changes are subject to swap date restrictions.
Is there a long-term contract?
No. All SubSuite plans are month-to-month with no long-term commitment. You can cancel anytime.
Getting Started Tip
Start with the Free plan to set up your selling plans and test the subscription flow. Upgrade to Starter when you're ready to add analytics, recovery, bundles, or loyalty.