Per-channel values
A variable can hold different values per sales channel. The storefront uses the most specific value available — channel-specific if defined, otherwise the global value.
The fallback chain
Section titled “The fallback chain”For a given sales channel, the plugin resolves a variable in this order:
- The value row that matches the current sales channel (if any).
- The global value row (the row with no sales channel set).
- If neither exists, the placeholder is left as-is in the content.
The same chain applies independently in each language — a German storefront on Channel A picks its row by matching the channel first, then translates that row to German with fallback to the system default language.
When to use per-channel values
Section titled “When to use per-channel values”- Multi-store brands with different tone of voice or claims per channel (B2B vs B2C, marketplace vs flagship store).
- Country-specific footers — VAT IDs, return addresses, shipping rules that differ per market.
- Campaign overrides — run a promotion on one channel without touching the rest.
- Partner channels where you must reference a third-party brand name or co-branded copy.
How to add a per-channel value
Section titled “How to add a per-channel value”- Open the variable in Settings → Content → Dynamic Variables.
- Click Add Value.
- In the new row, pick a Sales Channel.
- Fill in the Value (and CSS / Script if needed).
- Repeat for any other channel that needs its own override.
- Make sure the global row (no channel) is also filled in — that is the fallback for any channel that does not have its own row.
Example
Section titled “Example”Variable: legalShipping
| Sales Channel | Value (EN) |
|---|---|
| (global) | Standard shipping 3–5 working days. |
| Marketplace store | Shipping handled by Marketplace fulfilment. |
| B2B store | Bulk shipping by appointment — contact your rep. |
Three storefronts read the same {legalShipping} placeholder and each sees its own copy. A fourth storefront that is not in the table falls back to the global row.
Anti-patterns
Section titled “Anti-patterns”- Don’t create a per-channel row that is identical to the global row. It will work but is harder to maintain — change once, update everywhere.
- Don’t leave the global row empty if you only have one channel-specific row. Other channels (including newly created ones) won’t have a fallback and will render
{key}literally.