Run campaigns

Run a campaign

Plan it, launch it, watch it, end it cleanly.

A campaign is several promotions with one purpose, one period and one number to judge them by. Run it as a container and the result is readable afterwards. Run it as loose rules and somebody spends July reconciling four codes in a spreadsheet.

Cockpit screens: planned. The campaign container, the redemption counter and the campaign report on this page belong to the planned Promotions app and are not on your tenant yet. The sequence, plan, launch, watch, end, is the part to settle now; it stays the same when the screens arrive. What runs today is a price list with a validity window, covered in What you can run today. Prerequisites either way: the promotions themselves (Create a promotion) and the one number that will tell you whether the campaign worked, decided before it starts.

How this will work

The campaign container

A campaign carries a name, a period and the target segments. The promotions and coupon batches that belong to it are attached to it instead of living loose in the promotion list. The planned fields:

FieldWhat it decides
NameCarries the audience and the period: spring-2026-valves, not campaign 3
PeriodThe window in which the container is live. Every promotion inside has its own validity and must fit inside it
Target segmentsWho the campaign is aimed at, from CRM › Segments
Promotions, coupon batchesWhat the campaign consists of
BudgetThe discount you are willing to hand over, in money, so that "discount given" has something to be measured against
NotesTwo paragraphs after it ends. See After it

What the container buys you: one place to end everything, one report that adds up redemptions and discount given across the whole action, and an attribution key on every order the campaign touched.

Pre-launch checklist

Work this list. Each row is a support case that happens otherwise.

CheckWhy
Price-list scope set on every promotionContract customers must not receive an open-market discount by accident. See Promotions vs. contract prices
Punchout channels excludedA discount that appears only at checkout blocks the customer's invoice matching
Stacking decided and testedFour defensible rules on one large cart are a quarter's margin
Maximum discount amount setA percentage on a project order is not the order you designed for
Validity as a time, not only a date"Until 30 April" ends at 23:59:59 local time, not at 00:00
Stock checked for free goods and bundlesA gift you cannot ship is a back-order
Test cart walked through per segmentSee Test a promotion before it goes live
The invoice checked, not only the cartThe invoice is where the money is
Sales informedYour Innendienst will be asked about it on day one

The last row is the one that gets skipped, and it causes the most common campaign failure in B2B: the customer asks the rep about the promotion, the rep has never heard of it, and the buyer concludes the offer is a mistake.

Segment targeting

Most B2B campaigns should be aimed at a segment. Three patterns that work:

PatternSegment rulePair it with
By what they do not buyNo order in a category for twelve monthsThe assortment-expansion play in Promotion types that work in B2B
By activityNo order for 90 days on an account that used to order monthlyAn assigned coupon, so the rep has something to offer by name
By channel behaviourOrders arrive by phone or e-mail, never through the storefrontA first-online-order incentive. It is cheap, and it moves a permanent cost

Segments are maintained on CRM › Segments and exist today. See Segments. Build the segment first and look at how many accounts it contains. A campaign aimed at eleven customers is a phone call for the rep, and a promotion adds nothing to it.

Launch

Activate the promotions, not the container, and activate them in priority order, highest first. If something is wrong, the promotion that acts on the undiscounted price is the one to catch before the others compound on top of it.

Then watch the first hour. Once the redemption counter ships, it answers within minutes whether the rule can be reached at all. Until then, place an order as a buyer inside the segment and read the order lines. Zero redemptions after an hour of normal traffic is a scope problem far more often than a demand problem.

Watching it

Daily for the first week, then weekly:

WatchThe question it answers
RedemptionsIs it being used at all?
Discount givenWhat has it cost so far, against the budget you set?
Average order value of orders that redeemed, against those that did notIf the two are the same, the promotion is paying for orders that would have happened anyway
Which accounts are redeemingIf your five largest contract customers head that list, the scope is wrong. Stop and fix it

The full method is in Knowing what a promotion cost you.

Ending cleanly

A campaign ends at its Valid until. Three things need a decision before that moment arrives.

Open carts. A buyer who built a cart on Tuesday and checks out on Thursday, after the campaign ended, loses the discount at checkout. The cart must say so at that point instead of repricing without a word. The opposite is worse: a discount honoured after expiry applies to a cart that no longer qualifies, and nothing in your reporting explains it.

Quotes in flight. Quotes are planned as well, and the rule to settle now is this: a quote sent during the campaign holds its frozen prices; a quote still in draft when the campaign ends reprices. Send it, or tell the customer. See The quote lifecycle.

Coupons still circulating. Codes outlive campaigns. Set the coupon expiry to the campaign end or earlier, and expect redemption attempts for months. The message a buyer gets must say expired, with the date, and never invalid.

After it

Write down three numbers and the answer to one question: redemptions, discount given, incremental revenue, and whether you would run it again. Two paragraphs in the campaign's notes are worth more than a dashboard nobody opens.

What you can run today

A price list with a validity window is the campaign mechanism on your tenant now, and it covers a real share of B2B campaigns: better conditions on forty articles for six weeks, a volume ladder for a quarter, an online-only price for one channel.

Campaign elementToday, with a price listPlanned Promotions app
PeriodValid from / Valid until on the list. It stops resolving by itselfCampaign period plus per-promotion validity
AudienceApplies to account, contact or channel; Logged-in buyers onlySegment targeting
Volume incentiveQuantity tiers (From quantity) on the entriesCart-value and quantity conditions with a percentage or amount effect
Contract customersDecided by price resolution: a list bound to their account is more specific than an open campaign list. Put both in a test cartPrice-list scope on the promotion
CouponNoneSingle-use, multi-use and assigned codes
Redemptions, discount givenComputed from the order lines, in an export or your ERPCounter and report on the campaign

The steps:

  1. Create the list under Order Management › Prices › Price lists. Code it for what it is, aktion-q2-2026-valves, and give it the same currency and the same net/gross basis as your standard list.
  2. Set Valid from and Valid until as times, in the tenant's time zone.
  3. Add entries only for the articles on action. Where you want a volume incentive, enter the tier ladder on the entry.
  4. Bind the list to a channel if the action is online-only; leave Applies to empty for a public campaign.
  5. Put an article in a cart as an open-list buyer and as a contract customer, and confirm each sees the price you intended. The resolution order is in How pricing works.
  6. Tell the Innendienst, in writing, with the list of articles and the end date.

The full procedure, including entry-level validity for a few articles inside a permanent list, is in Time-limited prices.

Next