Introduction
If you are moving from Memberstack v1 to v2, one-time plans can be a little tricky.
Here is why:
-
In v1: One-time plans were managed directly inside Memberstack, so you could set expiration dates without Stripe.
In v2: All paid plans connect to Stripe. Because your one-time plans in v1 were never in Stripe, v2 doesn’t know how to match them.
That means:
- Members who had one-time plans in v1 won’t automatically show up with a plan in v2 after migration.
- Expiration dates won’t carry over by default.
Don’t worry — this guide shows you a simple way to move those members over while keeping their access and expiration dates.
The Free Plan Bridge Method
We use temporary free plans as a “bridge” during the migration. These plans hold your members’ access. In case your one-time plans have expiration dates, we’ll set up a small automation to remove access when their expiration date arrives.
The Plan:
- Create temporary free plans in v2 that mirror your old one-time plans.
- Update your migration CSV so those members are tied to the new free plans.
- Import your members with the updated CSV.
- Use automation (like Make.com) to handle expiration.
- Archive the temporary plans when everything is done.
Step 1: Create Free Legacy Plans
- In Memberstack v2, go to Plans → Create Plan.
- For every one-time plan from v1, make a free plan in v2:
- Name: As a recommendation add a prefix like Legacy - (example: Legacy - Premium Access) for easy identification, and to not get mixed with its corresponding paid plan equivalent
- Type: Free
- Gated content: Match the same permissions your original paid plan had.
✍️ Tip: Keep a little list that shows which v1 plan matches which new “Legacy” plan. You’ll need this list in the next step.
Step 2: Update Your Migration CSV
- Open the CSV file you are using for the migration.
- Find the column called plan_id.
- Swap out the old plan IDs with the IDs of your new “Legacy” free plans.
✍️ Tip: If you have recurring and one-time plans mixed. You can split the import and import the recurring plans in one batch, and the one-time plan users in another
Step 3: Import Your Members
- In v2, go to Members → Import.
- Upload the updated CSV.
- Review the preview to make sure the right members are tied to the right plans.
- Complete the import.
✅ Now your members have access again, using the new free “Legacy” plans.
Step 4: Archive the Legacy Plans
This is an optional step that can be completed at any time once members are imported and working correctly. This step is to ensure that no new members can be added to these plans and to avoid confusion with your active plan list:
- Go to Plans.
- Open the settings for each “Legacy” plan.
- Click Archive Plan.
🔎 Note: Archived plans still work for existing members but can’t be assigned to new ones.
If One-Time Plans have Expiration dates
Free plans don’t automatically expire, so we’ll use automation to handle that.
Step 5: Create an automation
To make sure members lose access when their plan expires, you need a small automation. We recommend using Make.com.
What You Need:
- A free Make.com account (up to 1,000 operations per month).
- A spreadsheet (Google Sheets works best).
How it works:
-
Create a spreadsheet with these columns:
- Member ID
- v2-plan-id
- Expiration Date - Make sure its formatted to MM/DD/YYYY
- Status
👉 Or just make a copy of this ready-to-use template:Memberstack Example - Active Members - Prod Mode
- Load your members into the spreadsheet with their expiration dates.
- In Make.com:
- Set up a daily trigger (runs once a day at a specific time of your choosing).
Check the spreadsheet for members whose expiration date has passed. - Remove their free “Legacy” plan in Memberstack.
- Update the spreadsheet status.
- Set up a daily trigger (runs once a day at a specific time of your choosing).
👉 To speed things up, you can import this pre-built Make blueprint: Download Blueprint. Just connect it to your own Google and Memberstack accounts.
Notes:
- Each expiration uses about 3 operations in Make.
- The free tier (1,000 operations/month) covers about 330 expirations/month — enough for most migrations.
Comments
No comments yet. Start the conversation below.
Please sign in to leave a comment.