Skip to main content

Stripe Subscription Migration Guide

Matt Lawrie avatar
Written by Matt Lawrie
Updated this week

Our subscription migration service is available on any annual Paid Plan!

If you’re currently running subscriptions on another platform—whether it’s Passion.io, Uscreen, Squarespace, Vimeo, or any of the many other tools out there, and you’re thinking about migrating your community to an app made with Movement, this guide will walk you through the process step by step. We’ve broken the migration into three clear stages for a hassle-free setup.

By the end of this guide, your members will have been migrated seamlessly to your Movement app, with their product access and active subscriptions properly mapped and managed through Movement and Stripe.

Step 1: Preparing for Migration

In Movement, products are used to sell anything in your app – whether that’s specific types of content, a program or a subscription to your whole app. To successfully migrate your paying members, you need to ensure that you have created products in your Movement app that correspond to the existing products in your old platform.

Steps to Complete:

  1. Create your Products in Movement

    Learn more about setting up products here: How to Create Products in Movement

    • Ensure that you create a corresponding product in Movement for each ‘Pricing Plan’ you offer in your Passion.io app (or other platform).

  2. Set up your Access Rules
    Once you’ve set up your products, you’ll want to add them to your access rules to paywall some or all of your content: Check out our guide on this here.

Step 2: Import Members and associated product IDs using our CSV Template


The first part of the migration involves importing all your members into Movement and giving them access to the correct one-off purchase products, as well as initial access to subscription products. This will be done using a CSV file that includes the members’ name and email address, as well as the ID(s) of products they should have access to when they join your Movement app.

On completion of this step, members will be invited to create an account in your app via a welcome email, and will have access to any products you specify once they join your app.

What You’ll Need:

  • A CSV file created **from this template** (do not update the column titles)

    • Make a copy of this template in Google Sheets


  • We recommend first filling this CSV out with a test group of 5-10 members to test the import with before migrating all your members.

  • Fill out the columns as follows:

    • Name: The name of the member

    • Email: The member’s email address (to send the automated invitation email to)

    • Products ID (optional): Include Product IDs (or multiple IDs separated by commas) for products each member should access. Skip this if no product access is required.

      • A product’s ID can be located in the Movement admin by navigating to the Sell tab, clicking on the Product in the lefthand sidebar, navigating to ‘Details’, then scrolling down and expanding the ‘Advanced’ section.


  • Here is an example record:


  • Once completed, download the file as a CSV.

How to Import:

  1. Navigate to the Engage > Members tab in the Movement admin.

  2. Hit the [+Add Member] button, then [⬆️ Import Members via CSV]


3. Upload the CSV by clicking in the input field or dragging and dropping.

4. Optionally include a personal message to include with the invitation/ welcome email

5. Hit [Add Members]



6. After hitting [Add Members], members will be invited to create an account in your app via a welcome email, and will will have access to any products you specified in the CSV once they join your app.

Step 3: Link Existing Subscriptions

This step is only relevant if you’re migrating recurring subscriptions from another platform to subscription products in Movement.

The goal of this step is to ensure your members’ existing subscriptions are recreated inside Movement’s Stripe connection, so that billing and access are managed seamlessly going forward.

For this to work, you’ll need to connect your Stripe account from the platform you’re migrating from to Movement.

🚨 Important

If you can’t connect your original Stripe account to Movement (e.g. Uscreen won’t let you do this if you have active subscriptions) , you’ll need to create a new Stripe account to link to Movement, then perform a data transfer of customer records and payment methods from the old Stripe account to the new account following the steps in this guide. This can take up to 72 hours, but is often much quicker.


​Once the customer records and payment methods are moved to the Movement connected Stripe account , you can proceed with this guide.



Summary of what we need

In your Movement - connected Stripe account:

  • Customer IDs

  • Payment Methods

In your migration sheets (depending on platform):

Required

Standard Migration (e.g. Uscreen, Passion, Kajabi)

SquareSpace/Vimeo Migration

Worksheet

Stripe Customer ID

Name

Email

Movement Product ID

Stripe Subscription ID

Next Billing Date

Restricted Key


Migrating from one of these platforms? Click on the platform you're migrating from to be taken to the relevant part of the guide:



Standard Migration (From Platforms that expose Stripe Subscription IDs)

How to check: Login to your old platform's Stripe account, navigate to Subscriptions. If you can see subscriptions, use this flow. If you can't see them, refer to this part of the guide.

If your old platform gives you access to Stripe subscription data (e.g. Passion, Uscreen, Kajabi, etc.), you’ll need:

  • Stripe Customer ID

  • Email

  • Subscription IDs of current Stripe subscriptions (from the old platform)

  • Target Movement subscription product ID(s)

  • Restricted API Key

How to collect this data:

  1. Go to your old platform’s Stripe account → Stripe Subscriptions Dashboard.

  2. Click Export → choose Custom Columns (select Name, Customer ID, Email, Subscription ID).

  3. Enter this information into our Stripe Migration Sheet (you'll need to make a copy of the sheet as it is view only) .


Restricted API Key (only required for this flow):

Once we have this information we can automate both:

  • Re-creating subscriptions in Movement.

  • Cancelling subscriptions on the old platform (to avoid duplicate charges).



Special Case Migration (SquareSpace, Vimeo OTT or other platforms that don't expose Stripe Subscription IDs)

How to check: Login to your old platform's Stripe account, navigate to Subscriptions. Don't see anything? Use this flow:


SquareSpace and Vimeo don’t provide creators access to Stripe Subscription IDs, so the process is slightly different. Instead, we'll need you to provide us with each subscriber’s Next Billing Date to recreate their subscription in Movement.

What you’ll need in this case:

  • Name

  • Email

  • Stripe Customer ID (both platforms provide this)

  • Next Billing Date

  • Movement Product ID

This data will need to be entered into our 'Next Billing Date' worksheet (you'll need to make a copy of the sheet as it is view only) .

How to collect this data:

From SquareSpace:

  1. Log in to your SquareSpace account.

  2. Go to Commerce → Subscriptions.

  3. Use the Export option to download subscriber data as a CSV.

  4. Ensure the CSV includes: Name, Email, Next Billing Date, and Stripe Customer ID.

From Vimeo:

  1. Log in to Vimeo OTT dashboard.

  2. Navigate to Subscribers.

  3. Use the Export Subscribers option (CSV download).

  4. Ensure the CSV includes: Name, Email, Next Billing Date, and Stripe Customer ID.

Important differences for SquareSpace/Vimeo migrations:

  • You’ll paste the above data into the Next Billing Date worksheet

  • You do not need to provide us with a restricted API key.

  • 🚨Because Subscription IDs aren’t available, our migration script cannot cancel subscriptions on your old platform automatically. You must log in to SquareSpace or Vimeo after migration is complete and manually cancel old subscriptions to prevent duplicate charges. 🚨




Notifying Subscribers

As part of the Stripe subscription migration process, each subscriber’s existing subscription from your previous platform will be cancelled when the new subscription is recreated using Movement-linked Stripe products.


Due to this, there is a chance your subscribers may receive an email from Stripe and/or your previous platform notifying them that their subscription has been cancelled. This is expected and part of the migration process. Here is a short email template you can use to let your community know they might receive a cancellation email, and that there is no need to worry:

📩 Email Template for Creators to Notify Subscribers


Subject: Upcoming Platform Update – No Action Needed


Hi [First Name],


I wanted to give you a quick heads-up that we’re moving to a new platform to improve your experience and give you better access to content going forward.

As part of this transition, your subscription will be automatically moved over — you don’t need to do anything. However, you may receive an email from Stripe or our old system letting you know your current subscription was cancelled.

Don’t worry — this is just part of the technical process, and your access will continue without interruption in the new platform.

Thanks so much for being part of this community! If you have any questions, just reply to this email.

Best,
[Your Name]
[Your Brand Name]



Thats it!

By following these three steps, you will have successfully migrated your members and their product / subscription access to Movement. Here’s a quick recap:

If you have any questions or need assistance at any stage of the migration, our support team is here to help!

Did this answer your question?