I’m using RevenueCat Experiments and would like to clarify how targeting rules interact with experiment variants. I’ve reviewed the documentation here: RevenueCat Targeting FAQ, which states that experiments are evaluated before custom targeting. However, based on my testing, it appears that RevenueCat respects targeting rules first before applying any experiments.
My setup:
-
I’ve defined a custom subscriber attribute called
subscription_type
, which can be either"Free"
or"Premium"
. -
For the
appLaunch
placement, I’ve added the following RevenueCat targeting logic:-
If
subscription_type == "Free"
→ show a paywall. -
If
subscription_type == "Premium"
→ no paywall/offering should be shown.
-
-
I’ve also created an experiment on the same
appLaunch
placement that tests two different paywall variants.
What I’m observing:
-
Users with
subscription_type == "Free"
are correctly entered into the experiment and see one of the A/B tested paywalls. -
Users with
subscription_type == "Premium"
do not see a paywall, even though the experiment is active for that placement.
My question:
If a user has
subscription_type == "Premium"
, could the experiment logic ever override the targeting rule and still show a paywall?
Or does RevenueCat always evaluate the targeting condition first, and only apply the experiment if the user qualifies to see a paywall based on that condition?
My goal is to ensure that Premium users never see a paywall at appLaunch
, even if there is an experiment active on that placement by solely relying on the custom attribute or targeting of RevenueCat.
Thanks in advance for any clarification on how the evaluation order works!