How to hide an auto-renewal subscription from App Store manage subscriptions page

I've created 2 auto-renewing products, one with a cheaper price and one with a more expensive price. I show the cheaper product for legacy users (users who have been on the app for a long time).

The problem here is that when a user goes to the App Store and manages their subscription there, they are able to see the cheaper option and subscribe to it.

Is there a way I can hide the cheaper product from being purchased through the App Store and only allow them to be purchased from my app?

I saw the Cleared For Sale option on the product but when I tried unchecking the box, it made it sound like after users' subscription ends, they will no longer continue auto-subscribing to the cheaper option. Or am I misunderstanding Cleared For Sale?

Accepted Reply

Are your two subscription products part of the same subscription group, or not organized in groups at all? If so, I think this is by design and not allowed to 'hide' it from the user. If they're in the same group it is treated like 'tiers' and the user has the ability to switch between the levels.

What I'd do is ensure that they are in two different groups, call one "legacy" and the other "current".

Within your "legacy" have the following subscription product:

  1. Original Price for early adopters that get grandfathered in price

Within your "current" group, have the following subscription product:

  1. New Price for new users

I assume your logic does something to the effect of if account created before cutoff date, offer reduced rate, else show new pricing. The idea is that when the user elects to manage their subscription, they will ONLY be shown what is within the same subscription group (I think if you don't use groups they see all products?). So, ensure they're in the correct group, and they'll only be able to manage those options. One thing you'll have to prevent in your UI, is disallow the user from subscribing to a product within both groups.

Take a peek in the developer app for some of the WWDC presentation and tech talks. Here are a few links to get you started:

  • Gotcha that all makes sense! I'm currently trying to create the new subscription group, but I can't seem to figure out how to move the legacy products over to this new group. Is there a way I can do this?

    If not, do you know how I can proceed without cancelling the subscriptions of existing legacy users and moving them over to the new products (if I have to create new ones)?

  • For anyone who has the same problem in the future, I did have to create new products (and subscription groups).

Add a Comment

Replies

Are your two subscription products part of the same subscription group, or not organized in groups at all? If so, I think this is by design and not allowed to 'hide' it from the user. If they're in the same group it is treated like 'tiers' and the user has the ability to switch between the levels.

What I'd do is ensure that they are in two different groups, call one "legacy" and the other "current".

Within your "legacy" have the following subscription product:

  1. Original Price for early adopters that get grandfathered in price

Within your "current" group, have the following subscription product:

  1. New Price for new users

I assume your logic does something to the effect of if account created before cutoff date, offer reduced rate, else show new pricing. The idea is that when the user elects to manage their subscription, they will ONLY be shown what is within the same subscription group (I think if you don't use groups they see all products?). So, ensure they're in the correct group, and they'll only be able to manage those options. One thing you'll have to prevent in your UI, is disallow the user from subscribing to a product within both groups.

Take a peek in the developer app for some of the WWDC presentation and tech talks. Here are a few links to get you started:

  • Gotcha that all makes sense! I'm currently trying to create the new subscription group, but I can't seem to figure out how to move the legacy products over to this new group. Is there a way I can do this?

    If not, do you know how I can proceed without cancelling the subscriptions of existing legacy users and moving them over to the new products (if I have to create new ones)?

  • For anyone who has the same problem in the future, I did have to create new products (and subscription groups).

Add a Comment

You can create 2 different subscription groups, however, the problem I see is that if a legacy user cancels their subscription, then they will always have the option of renewing the subscription for the legacy price in the future using the settings app. The ideal approach is to only allow the legacy price if the user does not cancel their subscription, but I don't believe this is possible with the current app store connect options.

  • Is there a setting to hide the subscription or group but not remove it? Hide means users will not see it on itunes. It is still active so the current subscribers can continue renewing.

Add a Comment

As I understand it, if a user installs your app on a new device and hits your purchase button instead of "restore purchases", there is a chance they would be double-billed if you have separate subscription groups for the same product. This would result in a terrible customer experience, to say the least. From Apple: "creating a single group is the best practice for most apps as it prevents people from accidentally purchasing multiple subscriptions."

You can create a subscription offer in App Store Connect to attract legacy users for renewals. See: https://developer.apple.com/help/app-store-connect/manage-subscriptions/set-up-promotional-offers-for-auto-renewable-subscriptions/