Skip to main content
Question

Architecture for subscription offers to segmented users on Apple / IOS

  • April 9, 2026
  • 4 replies
  • 82 views

Forum|alt.badge.img

Hi RevenueCat team,

We have multiple subscription products and multiple dynamically configured paywalls
Paywalls are implemented using custom UI.
Users can reach paywalls both via:

  • In-app navigation
  • CRM-triggered deeplinks from marketing campaigns
     

We want to offer subscription discounts to users segmented by marketing.
Basically if marketing needs to offer a discount to a cohort of users, they should see the correct paywall with correct discount price and be able to purchase it.

Is there an official recommended approach using RC and Apple Introductory or Promotional offers ?

NB: Asking only for Apple because on Google Play Console, it looks ok with the subscription + offer mechanism combined with “developer determined” eligibility and “rc-ignore-offer” tag to fully handle it on our side.


Thanks for you help.

 

4 replies

Forum|alt.badge.img+8
  • RevenueCat Staff
  • April 13, 2026

Hi, you can offer different subscription products by using RevenueCat Offerings where you can choose a selection of products for specific users by overriding that offering, which can be done via the Customer History profile, our API endpoint, or with our Targeting feature where you can specify conditions to have us automatically display specific offerings to users.

For Apple note that introductory offers are served to new users and then promotional offers need users to be former or current subscribers, see our docs here.


Forum|alt.badge.img
  • Author
  • New Member
  • April 14, 2026

Hi Haley,

Thanks for your answer. I am still unsure how that work in following scenarios :
1. Marketing targets a cohort of some new users (not all new users) with an Introductory Offer from apple 
2. Marketing targets a cohort of existing / lapsed users with a Promotional Offer from apple

In both cases, those users (and only them) should see the discounted subscription and renew at standard price.

Could you explain how that works with Apple ?

Many thanks


Forum|alt.badge.img+8
  • RevenueCat Staff
  • April 20, 2026

Hi ​@Ludo, Apple determines eligibility for both types of offers, i.e. introductory offers for new users, promotional offers for existing/lapsed users, but you can use RevenueCat to display the discounted subscription to those users by using RevenueCat Offerings. You will want to create an offering that has this discounted subscription and then you will want to identify those users by using RevenueCat’s subscriber attributes. You can create a custom subscriber attribute, cohort, where you can set this value to be “new” or “existing”/“lapsed” and you can check this by seeing if the user has any purchases. Then you can use RevneueCat’s Targeting with the condition “Custom attribute cohort is any of new, existing” then display that offering. This will have RevenueCat automatically override the default offering for those users with that containing the discounted subscription.

Please see our documentation on setting custom subscriber attributes and on Targeting for more details:

https://www.revenuecat.com/docs/customers/customer-attributes#custom-attributes

https://www.revenuecat.com/docs/tools/targeting


Hi there,

For handling marketing-segmented discounts on iOS with custom UI paywalls, the recommended approach is usually a combination of Promotional Offers (for existing/returning users) or Offer Codes. Since you are already using custom UI, you can fetch the promotionalOffer object from RevenueCat after validating the user's eligibility on your backend.

Unlike Google's "developer determined" eligibility, Apple requires a cryptographic signature to apply Promotional Offers. You can find a more detailed breakdown of how to sync these types of discount triggers with your marketing segments in this answer.

Essentially, you should:

  1. Define the offer in App Store Connect.

  2. Use marketing metadata from your deep links to identify the cohort.

  3. Request the signature via RC's SDK and display the discounted price on your custom paywall.

This keeps your CRM logic in sync with the actual checkout experience. Hope this helps!