Ask A Question


Youโ€™re not receiving notifications from this thread.


Anthony Lee asked in General

I am experimenting with pricing. Any good tips or procedures to try out grandfathering in old users and apply new pricing to new users?


Just to re-iterate here, we had a brief discussion of this on Twitter.

For GoRails, I simply removed links to the old plans when pricing changed. I created the new plans in Stripe and linked to them on the pricing page in the app. Existing customers stayed on the old plans and new customers could only subscribe to the new plans.

Everyone gets grandfathered in that way, and any special cases where I might need to set someone up on the old grandfathered plan can be done manually in the backend.


We've done similar in one of our apps. You can end up in a bit of a mess in Stripe if you're not careful about naming.

For instance, we had small, medium and large plans but I since learned to affix the price to the plan ID so that when the price changes it's still obvious which is which. So now we have small-49, medium-99 and large-199.

If we change prices in the future I can just created another set of plans like small-69, medium-129 and large-249 and leave the existing plans there. Easy!


Thanks for replying guys. Daniel, those are great tips! Thanks. I got some good ideas from you both.

My situation was little bit different, since I was moving our users from freemium to a paid version. I decided to grandfathered in the free users and start charging for the new users.

It was little tricky since users had different authorization levesl to certain parts of the services.

I was wondering how other people were approaching the problem, and these helped!


I have the same situation with - it's free to use at the moment but I plan to add a paid plan as I introduce new features.

The app allows users to create short videos from music tracks. I'm considering two ways to transition to paid: [1] let the free users stay on the free plan but they don't get any of the new features, only paid users get those, or [2] let the free users have all the new features but they have a watermark on their videos and can remove the watermark by subscribing.

Alternatively I might do similar to what you're doing - let all the existing free users stay free and get all the features but remove the free plan from the site so all new users must subscribe to a paid plan.

Lots to think about! ๐Ÿ˜€


By the way, I can attest to the GoRails old plans because I was on the $9/month plan back in 2014 but like a fool I canceled a couple of years later only to resubscribe recently at $19/month! Doink! ๐Ÿ˜€

Join the discussion
Create an account Log in

Want to stay up-to-date with Ruby on Rails?

Join 83,038+ developers who get early access to new tutorials, screencasts, articles, and more.

    We care about the protection of your data. Read our Privacy Policy.