Skip to content

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.

For a given sales channel, the plugin resolves a variable in this order:

  1. The value row that matches the current sales channel (if any).
  2. The global value row (the row with no sales channel set).
  3. 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.

  • 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.
  1. Open the variable in Settings → Content → Dynamic Variables.
  2. Click Add Value.
  3. In the new row, pick a Sales Channel.
  4. Fill in the Value (and CSS / Script if needed).
  5. Repeat for any other channel that needs its own override.
  6. 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.

Variable: legalShipping

Sales ChannelValue (EN)
(global)Standard shipping 3–5 working days.
Marketplace storeShipping handled by Marketplace fulfilment.
B2B storeBulk 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.

  • 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.