Data AttributesURL ParametersReference
Attributes
param.<name> Syntax
Access any URL parameter inside a conditional attribute (data-next-show, data-next-hide) using param.<name>. Replace <name> with the URL query parameter name (case-sensitive).
<div data-next-show="param.variant == 'a'">
Variant A only
</div>Operators
| Operator | Description | Example |
|---|---|---|
== | Equal (with type coercion) | param.mode == 'advanced' |
!= | Not equal | param.theme != 'dark' |
> | Greater than (numeric) | param.qty > 5 |
< | Less than (numeric) | param.age < 18 |
>= | Greater than or equal | param.qty >= 3 |
<= | Less than or equal | param.qty <= 10 |
&& | Logical AND | param.a == 'x' && cart.hasItems |
|| | Logical OR | param.banner == 'n' || param.theme == 'dark' |
! | Logical NOT | !param.preview |
param.name (no operator) | Truthy check — fires when the parameter exists | param.preview |
Lifecycle
- Capture — On SDK init, all current URL parameters are read into sessionStorage.
- Persist — Parameters survive navigation. Stored values remain accessible on pages that don't include the parameter in their URL.
- Override — A new value on a later page overrides the stored value.
- Re-evaluate — Conditional elements re-evaluate every time a parameter is set, cleared, or changed.
JavaScript API
| Method | Description |
|---|---|
next.getParam(name) | Returns the value or undefined |
next.getAllParams() | Returns all parameters as an object |
next.hasParam(name) | Returns true when the parameter is set |
next.setParam(name, value) | Set a parameter (re-evaluates conditionals) |
next.setParams(object) | Set multiple parameters |
next.clearParam(name) | Remove a parameter |
See JavaScript API for examples.
Common Conventions
A few parameter names that are commonly used in production landing pages. None of these are reserved by the SDK — they are just conventions.
| Parameter | Convention | Use |
|---|---|---|
?reviews=n | n = no | Hide customer testimonials section |
?timer=n | n = no | Hide countdown timers |
?banner=n | n = no | Hide promotional banner |
?seen=n | n = no | Hide "as seen on" media logos |
?exit=n | n = no | Disable exit-intent popup |
?variant=a / ?variant=b | A/B testing | Show one variant of a test |
?debug=true | true = enabled | Show debug-only content |
?preview=true | true = enabled | Show preview-only content |
Notes
- Parameter names are case-sensitive —
?Variant=ais different from?variant=a. - The Webflow page builder strips quotes from attribute values. The SDK conditional parser accepts both
param.x == 'n'andparam.x==nsyntactically. - Parameters are stored as strings in sessionStorage. Numeric comparisons work because the parser coerces both sides to numbers when the operator is numeric.
- Use
forcePackageIdto pre-populate the cart from a URL — see Cart System → State → Force Package ID.