Skip to main content
Solved

Should custom package identifiers follow the $rc_annual (Annual) format?

  • December 9, 2025
  • 1 reply
  • 16 views

Forum|alt.badge.img

Background: New to RC, iOS product has not yet been published, Android version is lagging behind in development. I’m using RC Paywall in the onboarding process and for subscription changes, with no backend services needed for my app.

Subscriptions are sold on a monthly or annual basis. There are 3 pricing tiers, all delivering full access to app functionality and based on the user’s time in the app / session count. I need to support upgrades, downgrades and term changes without restriction. So my understanding is that all 6 subscriptions need to be in the same offering. So for example:  baby_monthly, baby_annual, mom_monthly, mom_annual, dad_monthly, dad_annual.

It seems that I need to create custom package identifiers, and maybe use one or two of the defaults? So the mom level should be the default.

Do I expand the existing id format like so:
$rc_annual_baby (Annual Baby)
$rc_monthly_baby (Monthly Baby)

and use this for mom:
$rc_monthly (Monthly)

I’m probably overthinking this, but am trying to keep within the ‘default’ offering and optimise the speed in which the Paywall will appear and not force unnecessary hunting in your backend and reduce the noise in the device logs. Please enlighten me.

Best answer by Jens

Hi, there is no restriction on how you call them. The only thing that the $rc_monthly (for example) naming does it that it exposes the package on the .monthly convenience property of the Offering object in the SDK. However, since you have multiple packages, and you are using RevenueCat Paaywalls anyway, you won’t be using that convenience property anyway. Therefore, it doesn’t matter what you call them. Since there is no “default” monthly package for you anyway, I would just give them all custom identifiers, if I were you.

1 reply

Jens
RevenueCat Staff
Forum|alt.badge.img+7
  • RevenueCat Staff
  • Answer
  • December 9, 2025

Hi, there is no restriction on how you call them. The only thing that the $rc_monthly (for example) naming does it that it exposes the package on the .monthly convenience property of the Offering object in the SDK. However, since you have multiple packages, and you are using RevenueCat Paaywalls anyway, you won’t be using that convenience property anyway. Therefore, it doesn’t matter what you call them. Since there is no “default” monthly package for you anyway, I would just give them all custom identifiers, if I were you.