Keys & values
A variable has two pieces:
- A key — the unique identifier you reference from content (
{promotionText}). - One or more values — the actual content the key resolves to.
Values are not a single field. Each variable has a list of value rows, each row scoped to a sales channel (or to “global” if no channel is set) and translatable per language. The plugin picks the right row at render time based on the storefront context.
| Property | Rule |
|---|---|
| Format | Letters, digits, underscores — start with a letter. camelCase recommended. |
| Case-sensitive | Yes — {promoText} and {promotext} are two different placeholders. |
| Reserved keys | Built-ins (shopName, shopEmail, shopAddress, shopBankAccount) cannot be overridden as custom keys. |
| Uniqueness | A key must be unique across all custom variables. |
Good keys: promotionText, footerDisclaimer, legalShipping, usp1, usp2.
Avoid: text, value, info (too generic), or keys with spaces / dashes (won’t parse).
Placeholder syntax
Section titled “Placeholder syntax”Type the key wrapped in curly braces:
Get {promotionText} on all orders over {minOrderValue} EUR.The plugin matches anything between { and } against your variable list. Unknown keys are left as-is — that means typos render literally in the storefront, so check via the editor preview before publishing.
Whitespace inside braces is not allowed: { promotionText } won’t match. Stick to {promotionText}.
Values
Section titled “Values”Each value row has the following fields:
| Field | Translatable | Purpose |
|---|---|---|
| Sales Channel | — | The channel this row applies to. Empty = global / default for all channels. |
| Value | yes | The replacement content. Supports rich text / HTML. |
| CSS | yes | Optional CSS injected only on pages that use the variable. |
| Script | yes | Optional JavaScript injected only on pages that use the variable. |
You add a value row by clicking Add Value on the variable detail page. Add as many rows as you need:
- One global row (no channel) is enough for simple cases.
- Add channel-specific rows on top to override the global value per sales channel.
Active flag
Section titled “Active flag”Each variable has an Active toggle. When off, the placeholder is left untouched — useful for staging content or temporarily disabling a campaign without deleting the variable.