SubSuite Documentation

Everything you need to build and manage subscription commerce on Shopify.

Getting Started

1

Install SubSuite

Install from the Shopify App Store and connect your store.

2

Create a Selling Plan

Set up your first subscription plan with pricing, frequency, and discount rules.

3

Assign Products

Attach selling plans to products or collections from your Shopify catalog.

4

Choose Your Modules

Unlock add-on modules like analytics, recovery, bundles, or loyalty from the Billing page.

Modules Overview

ℹ️

SubFlow is always included on all plans. Add-on modules can be unlocked based on your billing plan.


Core Module

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
ActiveSubscription is active and billing normally
PausedCustomer has paused the subscription; billing is halted
CancelledCustomer or merchant has cancelled the subscription
ExpiredSubscription reached its end date or cycle limit
FailedBilling 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:

  • Pause their subscription temporarily
  • Resume a paused subscription
  • Cancel at any time
  • Skip the next billing cycle
  • Swap to a different product
  • Change Frequency of deliveries
  • View History of 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.


Add-on Module

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.


Add-on Module

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 TypeDescriptionConfiguration
RETRY_PAYMENTAutomatically retry the failed payment through ShopifystepOrder, delayHours
SEND_EMAILSend a custom dunning email with configurable subject and bodysubject, body, stepOrder, delayHours
WAITPause the sequence for a specified number of hoursstepOrder, delayHours

Recovery Tracking

Monitor the complete lifecycle of recovery attempts with detailed tracking and history.

Attempt Statuses

IN_PROGRESSRECOVERED 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.

OFFER_DISCOUNT: Present a percentage-off discount to keep subscriber engaged
OFFER_PAUSE: Allow customers to pause their subscription for a specified number of days
OFFER_FREQUENCY_CHANGE: Enable customers to adjust their subscription frequency
SURVEY: Collect cancellation reasons with custom survey questions
CONFIRM_CANCEL: Final confirmation step before cancellation is processed

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.


Add-on Module

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

PropertyTypeDescription
namestringBundle display name
typeenumFIXED or MIX_AND_MATCH
minItemsnumberMinimum item count for selections
maxItemsnumberMaximum item count for selections
discountTypeenumPERCENTAGE or FIXED_AMOUNT
discountValuenumberDiscount amount applied
productIdsarrayEligible 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.

UPCOMING

Scheduled

OPEN

Accepting picks

CLOSED

No new picks

SHIPPED

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


Add-on Module

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 TypeDescription
EARN_PURCHASEPoints earned from subscription payments
EARN_TENUREMonthly tenure reward points
EARN_REFERRALPoints from successful referrals
EARN_MILESTONEBonus points for reaching milestones
REDEEM_DISCOUNTPoints redeemed for a discount
REDEEM_PRODUCTPoints redeemed for a free product
REDEEM_FREE_MONTHPoints redeemed for a free month
EXPIREPoints expired after the expiry period
ADMIN_ADJUSTManual 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

GET /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"
    }
  ]
}
POST /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" }
POST /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" }
POST /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" }
POST /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" }
POST /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" } }
POST /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

CodeMeaning
200Success
400Bad request (missing parameters)
404Subscription not found
422Unprocessable (invalid state transition)
500Internal server error

Integration Guide

1

Set up customer authentication in your theme or app. Ensure the customer ID is accessible from the current session.

2

Fetch customer subscriptions using the list endpoint to retrieve all active subscriptions.

3

Render subscription cards with action buttons for pause, resume, cancel, skip, swap, and frequency change.

4

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

$0/mo
  • Up to 50 active subscribers
  • SubFlow core management
  • Customer portal
  • Zero transaction fees

Starter

For growing businesses

$19/mo
  • Up to 500 subscribers
  • Everything in Free
  • Choose 1 add-on module
  • 14-day free trial
Most Popular

Growth

Most popular choice

$49/mo
  • Up to 5,000 subscribers
  • Everything in Starter
  • Choose 2 add-on modules
  • Priority support

Suite

For enterprise businesses

$99/mo
  • 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:

PlanModule Access
Free0 add-ons (SubFlow only)
StarterChoose any 1 add-on
GrowthChoose any 2 add-ons
SuiteAll 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.