Skip to main content
Solved

How to present different paywalls depending on free trial status (iOS)


Forum|alt.badge.img

I am facing the following challenge: My app has a hard paywall, which means at the end of onboarding, users start a subscription with a 7-day free trial before. Everythink works perfectly well with the RC paywall: 

 

I just realized that I need to display a different paywall if the user has already used their single free trial. I stumbled upon the checkTrialOrIntroDiscountEligibility method, and have already created a second offering without the trial period configured. However I am lost how I can now call two different paywalls depending on the result of the method.  Is it even possible to add a second View modifier (.presentPaywallIfNeeded) with the “no trial” entitlement in combination with checkTrialOrIntroDiscountEligibility?

Just for my understanding: RC would automatically handle this case if I had not configured a components-based paywall, am I correct? 

 

Thank you in advance* 

Best answer by joan-cardona

Hi ​@daniel-242e66,

When you mean using different paywalls, do you mean changing the design and offerings or just the texts? If you are using our paywalls, we have the option to put a text for when there’s an available introductory offer or when there’s non. You can then have different strings depending if the user is entitled to the trial or not.

If not, you can use targeting. When you get the offerings, you can specify a placement and you’ll get a different offering that will overwrite the default one. You can design and attach a different paywall for that specific offering and show it when `checkTrialOrIntroDiscountEligibility` is false.

 

Let me know if this helps!

View original
Did this post help you find an answer to your question?
This post has been closed for comments

4 replies

joan-cardona
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • 485 replies
  • Answer
  • July 9, 2025

Hi ​@daniel-242e66,

When you mean using different paywalls, do you mean changing the design and offerings or just the texts? If you are using our paywalls, we have the option to put a text for when there’s an available introductory offer or when there’s non. You can then have different strings depending if the user is entitled to the trial or not.

If not, you can use targeting. When you get the offerings, you can specify a placement and you’ll get a different offering that will overwrite the default one. You can design and attach a different paywall for that specific offering and show it when `checkTrialOrIntroDiscountEligibility` is false.

 

Let me know if this helps!


Forum|alt.badge.img

Hey Joan, 

thanks for the helpful answer! In fact, I eventually found the option to switch to the Introductory Offer Content in the preview settings; maybe this could be better explained in the docs? Anyway, really nice feature! It would just be nice to display different elements on the “default” paywall and the introductory offer version; right now, for example, I cannot add a timeline to the introductory one and a feature list to the other (or do not know how to do that ;) ). 

Using the code above, I am now stuck in App Review, but I am not sure what the reviewers complain about. Apparently, in the sandbox environment, sometimes the paywall is shown although I have already started a test subscription. In that case, after pressing the subscribe button, the following dialogue appears:

I can just click “OK” and get access to the app (as intended). App review sent me a screenshot of this dialogue with the following issue: 

We still found that your in-app purchase products exhibited one or more bugs which create a poor user experience. Specifically, we were unable to access the app even though we have purchased the subscription successfully.

Do you think app review complaints due to this dialogue? If yes, is there a way to omit it? If no, what else could be wrong? 

 


Forum|alt.badge.img

guilherme
RevenueCat Staff
Forum|alt.badge.img+6
  • RevenueCat Staff
  • 85 replies
  • July 21, 2025

Hey ​@daniel-242e66 ,

Glad to hear that the paywall changes are now working for you! The team is actively working on these (and others) paywall features, so we expect to have more updates soon about dynamic components (although, we can’t commit to any particular update of estimated time of releases).

As for the “You’re already subscribed” issue, it usually means the reviewer’s test account already has an active subscription. In these cases, it’s a good idea to communicate this to the Apple Reviewer and ask if they can test with a brand new Apple sandbox tester account, or wait until the current subscription expires before trying again.

Some developers have also found it helpful to send a video showing the app working as expected in TestFlight, to help reviewers understand the intended flow.

As an extra bit of context, we have some best practises around Paywalls here - although not related to the error or issue you’re experiencing, but in case it’s helpful to consider too.

Hope this helps smooth out the review process, but let us know if you’re still facing any issues!

Best,


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