Built-in variables
Four variables are exposed automatically from Settings → Basic Information (Shopware system config). You don’t need to create them — just reference the key.
| Key | Source |
|---|---|
{shopName} | Settings → Basic Information → Shop name |
{shopEmail} | Settings → Basic Information → Shop owner email |
{shopAddress} | Settings → Basic Information → Address (multi-line) |
{shopBankAccount} | Settings → Basic Information → Bank account details |
The values are read from system configuration and respect Shopware’s per-sales-channel inheritance — set a different shop name for a specific channel in basic settings and {shopName} resolves to that channel’s value on that storefront.
When are they useful
Section titled “When are they useful”- Footer / contact pages that should always show the current store info.
- Order-related CMS pages (returns, complaints) that need the official store name and address.
- Marketing copy that references the shop by name in many places at once.
Built-ins vs custom variables
Section titled “Built-ins vs custom variables”| Property | Built-in | Custom |
|---|---|---|
| Defined in | Basic Information | Dynamic Variables |
| Multi-language | yes (via system config) | yes |
| Per-channel | yes (via system config) | yes |
| Per-variable CSS / JS | no | yes |
| Active flag | always on | yes |
| Scope restrictions | always available everywhere | yes |
| Picker shows them | yes | yes |
If you need anything more than plain text — CSS, JS, scope restrictions, an active toggle — create a custom variable instead.
Overriding a built-in
Section titled “Overriding a built-in”Built-in keys are reserved. You cannot create a custom variable with the same key as a built-in. If you need different content per channel, edit the corresponding field in Basic Information for that channel and the built-in resolves to the channel-specific value automatically.