Skip to main content
Question

Multiple subscription groups for experiments - risk of double subscription

  • December 28, 2023
  • 6 replies
  • 284 views

Forum|alt.badge.img+5

I want to do A/B testing for subscription prices on iOS. The revenuecat docs recommends to “Use distinct Subscription Groups on the App Store for each RevenueCat Offering when testing new prices”.

 

Here’s what I would then setup:

Price 1 subscription group:

  • Annual - $39.99
  • Monthly - $7.99

Price 2 subscription group:

  • Annual - $19.99
  • Monthly - $3.99

 

I start the experiment, some users are being shown the first subscription group, some others the second. A week lapsed, price 1 group is the clear winner, yay! I stop the experiment. The faq says the following: 

 

When I end an Experiment, what Offering will be served to the customers who were enrolled in that Experiment?

When an Experiment is ended, all customers previously enrolled in it will be served the Default Offering the next time they reach a paywall in your app.

 

Therefore everyone is now presented with the same offering that corresponds to the price 1 subscription group on my paywall. Let’s suppose someone from the retired price 2 subscription group wants to upgrade from monthly to annual, they would now be presented price 1 subscription group and instead of upgrading, it would subscribe again, the user now has 2 subscription.

Am I missing something? 

 

Forum|alt.badge.img+5
  • New Member
  • December 29, 2023

Okay, a potential way to fix this would be to remove the paywall when the user has subscribed and let the user manage their subscription upgrade only from apple’s website/settings app by redirecting to the managementURL provided by the SDK. I think this is how it was intended to work, but now I cannot run experiments because I cannot target the app version for them, which means users that have not updated will run into this “double-subscription” issue 


Forum|alt.badge.img+8
  • RevenueCat Staff
  • January 4, 2024

Hey @Maxenceh,
 
You would need additional logic in your app to allow the user to upgrade, either by recording or knowing which subscription group they're in and showing them the corresponding offer or just send them to the device settings screen by using the managementURL as you described. I do think that's correct that this shouldn't be dependent on the app version. Instead you can inspect their purchases to see which subscription group they're part of.


Forum|alt.badge.img+3

Hi, is there a full example of this? I am confused about using 2 subscriptions group and potentially allow users to get this double subscription problem. Do i understand correctly that we are supposed to: 

1. Have 2 subscription groups, 2 offerings, 2 different prices
2. Have them accepted, A-B test
3. Find the winner, display one price (say price A) to 100% of users
4. Handle users already subscribed to plan B (from rev. cat users id?) by cancelling existing sub if they upgrade to another product (say monthly to yearly) 
4.1. Or stop showing paywall to subscribed users (at least for users subbed to plan B)

Am I missing something? 


Forum|alt.badge.img

We have also seen this behavior from a few users who wound up double subscribed and are not clear how to gracefully handle it.


alvish0407
Forum|alt.badge.img
sizestream-dev wrote:

We have also seen this behavior from a few users who wound up double subscribed and are not clear how to gracefully handle it.

It’s also possible that the user could manually change their subscription preference by going to the settings where they can see all the subscription groups they were previously subscribed to. They can then manually switch to the cheaper option! Since we’ve only stopped the experiment, we haven’t deactivated the specific subscription group.


Forum|alt.badge.img

Since experiments continue reporting for up to 400 days, we have left those subscription groups open and ongoing.  Is there a strategy that allows us to close the subscription groups but keep the experiment alive to learn about churn on the variants?   I am guessing this scenario is specific to:

  1. User was in test group
  2. User subscribed to variant in its own subscription group, set up per best practices.
  3. Test ended, but the variant subscription group remains available (we didn’t remove it)
  4. User’s subscription ended
  5. User’s default product is no longer the variant they previously purchased from, but a different subscription group.
  6. User subscribes on the default subscription group (first active subscription) through default product paywall popping up.
  7. User finds the variant subscription group available in their subscription history for the app, and decides to switch to that - but because it’s a different subscription group they actually purchase a new subscription (second active subscription ).  They likely expected it to be an upgrade or crossgrade process where it would switch at the next renewal date.  Now they are being double charged and may not be aware of it.

    The difficult part is that the second subscription happened outside of the mobile app, directly within apple subscriptions - not sure how to avoid it, though we could perhaps detect it within the app afterwards. 

Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings