Skip to content

Your first variable

Let’s create a {promotionText} variable, give it English and German values, override it for one sales channel, and use it on a CMS page.

In the admin panel, go to Settings → Content → Dynamic Variables. The list shows your custom variables and indicates which scopes are currently enabled.

Click Add Variable in the top-right corner. Fill in:

  • Key: promotionText — this is the placeholder you will type in content ({promotionText}). Keep it short and camelCase.
  • Active: on — disable later if you want to pause the variable without deleting it.
  • Scopes: leave empty for now. An empty scope list means the variable can be used everywhere (CMS, products, categories — wherever the corresponding plugin setting is on).

Click Save.

Click Add Value on the detail page. A row appears with these fields:

  • Sales Channel: leave empty. Empty = global value, used as fallback whenever a more specific override is not defined.
  • Value: type your default text, e.g. Free shipping over 50 EUR. The field is a rich text editor — you can use formatting, links, even HTML.
  • CSS / Script: leave empty for now (covered in Per-variable CSS and JS).

Switch the language selector at the top of the page to Deutsch and fill the same row with Kostenloser Versand ab 50 EUR. Repeat for any language you want to support — values fall back to the system default language if a translation is missing.

Save.

Click Add Value again. This time:

  • Sales Channel: pick a specific channel, e.g. Marketplace storefront.
  • Value: type a marketplace-specific message, e.g. Free 2-day shipping with Marketplace+.

This row will be used only for that sales channel. All other channels keep using the global row from step 3.

Save.

  1. Open Content → Shopping Experiences and edit any page (or create a fresh one).
  2. Drop a Text block into the page.
  3. Click into the text field and click the Dynamic Variables button in the editor toolbar.
  4. Pick promotionText from the list — it is inserted at the cursor as {promotionText}.
  5. The editor live-preview shows the resolved value below the input so you can verify it.

Save the CMS page and assign it to a category or layout as you normally would.

Open the storefront in the language and sales channel you configured:

  • English / global channel → Free shipping over 50 EUR
  • German / global channel → Kostenloser Versand ab 50 EUR
  • Marketplace storefront → Free 2-day shipping with Marketplace+

If you don’t see the replacement, clear the HTTP / object cache and reload. If you see {promotionText} as raw text, the CMS scope toggle is off — see Plugin settings.