Subscription milestones
Boost customer retention by automatically rewarding subscribers when they reach specific successful billing cycles.
This feature is available for Advanced and Ultimate plans.
Overview
Subscription milestones track consecutive successful billing cycles across a customer's subscription contracts and trigger rewards when they hit specific renewal targets.
When to use this
You sell subscription products and want to reduce churn
You want to reward long-term subscribers for their commitment
You want to incentivize customers to keep their subscription active rather than canceling
How to set up
When you open the Subscription milestone config page, you'll see a setup guide with 4 steps:

Step 1: Ensure Shopify Flow is connected
Go to Settings → Integrations and make sure Shopify Flow is connected to Joy.
Step 2: Import the Flow template (Required)
The subscription milestone needs a Shopify Flow workflow to track billing cycle data. Here's how to do it:
Manual import
Download the Flow template file: Joy Loyalty – Subscription Order Data Sync.flow below:
In your Shopify admin, go to Apps → Shopify Flow
Click Import (top-right corner)

Select the downloaded
.flowfile

Review the workflow and click Turn on

Why is this needed? Shopify doesn't send subscription renewal data to apps by default. This Flow template listens for subscription billing events and sends the data to Joy, so we can count billing cycles for your milestones.
Step 3: Set up your milestone rules
Rule name: Give your milestone a descriptive name (e.g., "6-Month Subscriber Reward")
Start date / End date: Set the active period (end date is optional)
Milestone condition: Set the number of successful billing cycles required
Example: Set to
6to reward customers after their 6th consecutive renewal
Rewards: Choose one or more rewards (Bonus points, Gift, or Discount)

Step 4: Activate the program
Click Save to apply your changes, then click Turn on to start tracking.
How it works
The milestone counts consecutive successful billing cycles for each subscription contract
If a customer has multiple subscriptions, only one needs to reach the milestone to trigger the reward
Each customer receives the reward once per milestone — not per subscription contract
Important notes
Paused subscriptions do not reset progress. When resumed, the cycle count continues from where it left off
Cancelled or expired subscriptions will reset the cycle count for that contract
Upgrade/downgrade of a subscription plan does not reset progress (as long as the subscription isn't cancelled)
Prepaid subscriptions (one-time payment covering multiple cycles) are not supported and will not count toward this milestone
FAQ
Does each subscription contract count separately? No. The milestone is per customer, not per contract. If a customer has 2 active subscriptions and both reach the milestone threshold, the reward is only given once — on the first contract that qualifies.
What happens if a customer cancels and resubscribes? The cycle count resets. They start from 0 on the new subscription contract.
Do I need a specific subscription app? No specific app is required. The milestone works via Shopify Flow, which tracks billing events from any subscription app integrated with Shopify.
Is this available on all plans? Subscription milestones are available on Advanced and Enterprise plans.
Last updated
Was this helpful?