Hi RevenueCat team,
We are seeing what looks like the same offering_id: null experiment issue reported here, but our setup does not use live targeting rules or placements:
https://community.revenuecat.com/dashboard-tools-52/why-does-my-experiment-not-override-live-targeting-7732
Setup:
- React Native / Expo app
- react-native-purchases: 10.3.0
- react-native-purchases-ui: 10.3.0
- RevenueCat Paywalls via RevenueCatUI.Paywall
- App fetches Purchases.getOfferings() and renders offerings.current
- Design experiment
- Enrollment: New customers
- Audience: 100%
- Criteria: Any audience
- No placements in the experiment
- No targeting rules imported or active on the experiment
- Two variant offerings:
- Variant A: PW Basic Weekly + Yearly 2
- Variant B: PW Basic Weekly + Yearly
Observed:
- Customer history shows EXPERIMENT_ENROLLMENT
- experiment_variant is present
- offering_id is null
- The customer profile’s Current Offering still shows the default offering, not an experiment override
- We know from screen recordings that the non-default paywall is not being served, even for users who should be enrolled
- Variant B is also the default offering, so users assigned to Variant B can look “correct” by coincidence; Variant A users are the clearest signal that the experiment offering is not being served
One concrete example:
- The same real user first appeared as an anonymous RevenueCat user, then transferred/logged into our custom App User ID
- The anonymous customer received an EXPERIMENT_ENROLLMENT event for variant A with offering_id: null
- The custom App User ID received an EXPERIMENT_ENROLLMENT event for variant B with offering_id: null
- After enrollment, Current Offering still resolved to the default offering
This seems similar to the public targeting/placement thread, but our setup has no targeting rules or placements, so the issue may be broader than targeting precedence.
Can you confirm whether offering_id: null is expected for a design experiment backed by two concrete offerings? If not, could this be related to the current experiments regression, or to anonymous-to-custom App User ID transfer?
