Skip to main content
iOS 4.4.2+ Android 4.4.2+ React Native 3.4.3+ Flutter 3.3.3+ Paywall traits are values passed into a paywall upon presentation, allowing your paywall to display or behave differently depending on those values. This must be configured in two places:
  1. Your paywall via the paywall editor
  2. Your app by passing in values to the Helium mobile SDK

Paywall Editor

Paywall Traits
Open the paywall editor from the Helium dashboard. Type something like
use a paywall trait with key "name" to display a customized greeting
You MUST provide a default value or behavior for each trait, in case the app does not pass in a value.

Pass in from the SDK

By default, user traits will automatically be included as custom paywall traits in all of your paywalls. (Just make sure your SDK version is higher than what’s listed at the top of this page.) To pass in additional paywall traits during paywall presentation, use the customPaywallTraits parameter.
Helium.shared.presentPaywall(
    trigger: "your-trigger",
    config: PaywallPresentationConfig(
        customPaywallTraits: HeliumUserTraits(["name": nameValue])
    )
) { paywallNotShownReason in }

Targeting and Metrics Considerations

If you want to evaluate the effects of different traits in your paywall, utilize user traits in your SDK integration. Helium does not currently support the use ofcustomPaywallTraits (passed during paywall presentation) as metrics filters. User traits can also be used for targeting.

What if I set both?

If the same key is present in both user traits and customPaywallTraits, the paywall will see the value from customPaywallTraits. Metrics still only sees the value from user traits.

Coming Soon

We are working on adding default traits you can use without passing in from SDK.