Documentation

Paywalls

Templates & variables

Use Liquid to interpolate user, product, and locale data into any paywall string.

Every text node in a paywall is a Liquid template. Interpolate user attributes, product data, or locale strings without forking the design.

liquid
Welcome back, {{ user.first_name | default: "friend" }}.

Upgrade to Pro for {{ product.price | money }} per {{ product.interval }}.
{% if product.trial_days > 0 %}
  Try it free for {{ product.trial_days }} days.
{% endif %}

The runtime exposes three top-level contexts: user, product, and locale. Custom attributes you pass to the SDK live under user.attributes.