Rules allow you to decide which users see a paywall when a trigger is fired.
- Rules are evaluated in order.
- Once a rule is matched, no other rules are evaluated.
- A user's paywall assignment is sticky.
What are Sticky Paywall Assignments?
So long as that paywall exists in a rule (even if you change its percent to 0%) a user will continue to be served that paywall.
Remember: Changing a paywall's percentage doesn't effect assignments for users who already saw that paywall — to remove assignments you must explicitly click the X button. To remove assignments for users who saw no paywall, create a new rule.
This allows you to decide if you should continue showing an old paywall to users who already saw it. For example, you may decide to increase prices but for consistency keep the paywall with the old pricing visible for those who've already seen it.
Add a rule to a campaign by clicking the Add Rule button from within a Campaign.
Change a rule's condition by clicking the condition itself, marked with a pencil icon to its right. In this example, we add a condition that evaluates to true if user has logged greater than or equal to 3 days.
Conditions Adopt Liquid Syntax
Under the hood, Superwall's client library evaluates
ifstatements in Liquid (learn more).
You do NOT need to add
%}tags as they will break your condition. Superwall wraps your conditions with them client side before evaluation.
As with Paywall Text Variables, Superwall exposes
device dictionaries for referencing in your conditions:
The condition editor offers suggestions (with a random example user object) as you type. At this point in time, suggestions don't work for
The following operators are valid in Liquid:
does not equal
greater than or equal to
less than or equal to
checks for the presence of a substring inside a string
user.age > 40 user.genre == "jazz" or user.genre == "classical" params.outcome contains "substring"
The following settings can be access by clicking the ellipse icon to the right of any rule
Swaps the rule's order with the rule directly above it.
Swaps the rule's order with the rule directly below it.
Pauses the rule, preventing it from being evaluated all together.
Deletes the rule.
Updated 3 months ago