Client question: How can I make membership changes easier for my members?
This week I got the following question from a coaching client (paraphrased here for brevity):
We've been using CiviCRM's contact dashboard for a long time to let our users keep up with their history — contributions, email subscriptions, etc.
We've recently started a membership program and now have about 150 members, all with automatic monthly renewal (payments processed through Stripe). The contact dashboard is still useful, but we've noticed a couple of limitations:
1. There's no link for a member to cancel their membership. We'd like them at least to have the freedom to stop the recurring payment if they really want to.
2. Our membership program allows members to set their own recurring membership amount. We'd like to allow them the flexibility to change this amount if they need to. The dashboard provides a “Renew” button, but when the member clicks this button and renews with a different amount, CiviCRM creates a second membership for them, so now they have two recurring contributions with different amounts.
Is there any way we could allow users to cancel their own membership? And can we also allow them to easily change their membership amount?
I love this question because it presents a few different possibilities.
The short answer:
Neither CiviCRM nor the Stripe extension provide a way to offer these features.
Still, I'm pretty sure we could develop a custom extension that would do it. CiviCRM's APIs do allow for canceling a membership, and canceling a recurring payment; so it should be possible to create an extension that allows the user to cancel their own membership and its recurring payment, and also to create a new recurring payment (at a different amount) while automatically canceling the previous recurring payment at the old amount.
But it would be smart to do some value assessment first.
Consider some alterenatives:
Developing that custom extension is not a trivial expense.
As with anything, there's a broad range of investment that you could make in such an extension, from something very bare-bones to something very robust. The fancier you make it, the easier everything will be for the people who use it, but the more investment you'll need to make in building and thoroughly testing the functionality.
Since it's not a trivial expense, and could become "very expensive" (whatever that might mean to you), it's worth thinking about the alternatives.
Especially since you only have around 150 members, you might not even know yet how common this need is. And you probably don't yet have a clear picture of all the other things that members will want to do in this vein.
So there's a lot of uncertainty here, not just in the expense of building an extension, but in the nature of the actual need.
As one example of an alternative: Why not just throw staff hours at it? For example, you could:
Create a simple form by which users can request that you cancel their membership. Have a staff member monitor those requests, and manually cancel the memberships.
Create a simple form where users can request to change their membership amount. This one would need to collect the credit card details and actually create a new membership with a new recurring payment via Stripe. Have your staff monitor the form submissions and manually cancel the old membership in favor of the newly created one.
On both of these forms (or on a completely separate form), include a free-form field where users can ask any question at all about changing their membership. Who knows, maybe you’ll find a lot of people who just want to pause for a couple of months.
That should be pretty simple to set up; and letting it run for a few weeks, or even a few months, would help you get a sense of how often such requests come in, how much staff time is spent processing those requests, and what other changes your members want that you haven’t thought of.
Once you have that info, you can make a much more informed decision about any custom featurese.
Clear goals for measurable outcomes:
Obviously this is not as sexy as having a fancy interface where users can do everything they want without your help.
If sexy user interfaces are a big part of your brand identity, then you might already have some mechanism for estimating the business value of such tools.
And if you can put a number on that, then you can think about how much you're able to invest in such an extension, and make a real value decision on the investment.
Either way, before you dive in on a custom extension project, I recommend you get a clear sense of exactly what needle you're trying to move — what specific measurable outcome you're trying to achieve — and the measurable business value of moving that needle.
This way you’ve got a clear target, and a clear standard by which you can judge your success afterward.
All the best,
A.