Create a promotion
Building a promotion is six decisions. Take them in this order: the scope before the effect, and the effect before the discount size. Doing it the other way round is how a 10 % campaign reaches customers already paying a negotiated price.
1. Create it
- Go to Marketing › Promotions and select New promotion.
- Code — permanent, and how reports refer to it:
spring-2026-valves. - Name — what a colleague needs to recognise it: "Spring 2026 — valve range, −10 %, open-list customers only".
- Save. It is created inactive, which is correct.
Put the audience in the name. Six months later, the difference between a promotion that reached contract customers and one that did not is the only thing anybody wants to know about it.
2. Set the scope before anything else
On the promotion, open Scope:
| Field | Set it to | Why |
|---|---|---|
| Markets | The markets it runs in | A German campaign priced in EUR is not an Austrian campaign |
| Channels | Your web storefront. Not punchout channels | See the warning below |
| Price lists | Open and default lists only, unless you decided otherwise | This is the margin guard |
| Segments | The customer segments it targets. Empty means all | See Segments |
| Logged-in only | On for anything with a real discount | Anonymous visitors are not your customers yet |
3. Build the conditions
Open Conditions and add tests. All must hold, unless you switch the match to any.
A worked volume incentive:
- Cart net value ≥ €2,500
- Product category = Armaturen
- Buyer's price list is an open or default list
A worked assortment expansion:
- Product category = Verbindungselemente
- Customer segment = no-fasteners-12m
Keep the count low. A promotion with nine conditions is one nobody can predict, and when it fails to apply — which is the commonest support case in this area — you will be testing nine things instead of three. See Common promotion problems.
4. Choose the effect
Open Effect and pick one:
| Effect | Fields |
|---|---|
| Percentage off matching lines | Percent, maximum discount amount |
| Fixed amount off matching lines | Amount per unit or per line, currency |
| Fixed amount off the cart | Amount, and how it is distributed across lines |
| Free goods | Trigger quantity, free quantity, which article |
| Tiered | The rungs, and the value each grants |
| Free shipping | The methods it waives |
Two fields people skip and then regret:
- Maximum discount amount on a percentage effect. Ten percent of a €90,000 project order is €9,000, granted by a rule intended for €3,000 baskets. Cap it.
- Distribution on a cart-level amount. A €100 cart discount has to land somewhere for the invoice, for VAT and for a partial return. Distribute proportionally by line value unless you have a reason not to.
5. Set stacking and priority
| Setting | Default you should use |
|---|---|
| Priority | 100 for ordinary promotions; higher for anything that must act on the undiscounted price |
| Exclusive | On, for any promotion worth more than a few percent |
| Stackable with | Empty, then add the specific combinations you want |
| Stop processing | On, where this promotion should end the evaluation |
The engine evaluates in priority order and stops where told — the full sequence is in How promotions work.
6. Validity
Set Valid from and Valid until as timestamps, in the tenant's time zone.
A campaign that runs "until 30 April" ends at 23:59:59 on 30 April locally. If you enter a date without thinking about the time, you will end the campaign at midnight at the start of the day and take eight support calls before lunch.
Always set an end date. A promotion with an open end runs until somebody notices it, and somebody notices it in the quarterly margin review.
Activate
Set Status to active — after you have walked a test cart through it. See Test a promotion before it goes live.
What to check
- A test buyer on an open price list gets the discount.
- A test buyer at a contract account does not, unless you meant them to.
- The same buyer arriving through a punchout channel sees no discount at all.
- The cart shows the promotion by name, with the discount as its own amount beside the unit price — not folded into it.
- The promotion's redemption counter increments once per order, not once per line.
Next
- Test a promotion before it goes live — do this before activating.
- Coupons and codes — when the promotion needs a code.