Campaigns
A campaign is your rule for when and what to offer. You can run as many as you like; for any single order the best-matching campaign wins and only that one offer is shown – the most specifically targeted campaign takes precedence, with priority deciding between equally specific ones (see Choosing the offer).
A campaign is the rule you create here. The offer is what one specific customer sees for their specific order.
The campaign list
Go to the Campaigns tab and click Add campaign. The list includes a filter sidebar with status, name, Trigger product and Offer product; the last filter applies only when a fixed product is the offer source. In the column settings, you can show the optional Offer source column and metric columns – Shown, Accepted, Acceptance rate and Added revenue – so each campaign's performance is visible right in the list.

How the campaign detail is organised
The detail form is split into three tabs: Campaign (when the offer appears), Offer (what is offered, at what price, with which text) and Handling (payment methods and safety policies).

Above the tabs, the Ready to go live? strip tracks the few required steps: name the campaign, select the offer source, and switch Active on and save – everything else is optional. New campaigns start inactive, so nothing goes live before you want it to; once the campaign is active the strip says so.
Preview offer page opens a preview without a test order. Opening the dialog saves a new or changed campaign first. If Active is on, those changes also apply to customers. Keep Active off while preparing a campaign that must not appear after checkout.
Choose Storefront domain to set the shop, language and currency. Unavailable domains are greyed out; hover over one to see the reason. One-click previews the wording for acceptance without payment-provider confirmation; Quick confirmation previews the wording for a customer who needs to confirm the add-on amount with their payment provider. Check both variants.
For a Dynamic Product Group, Offer product lets you choose an eligible member. For Cross-selling, select Trigger product first to load its offers, then optionally choose Offer product from its included cross-sellings. Leave the offer product empty for automatic selection. For fixed-product and Dynamic Product Group sources, selecting a trigger product is optional when the field is shown.
Dynamic Product Group offers exclude the chosen trigger product and its sibling variants, as they do after checkout.
Changing the domain clears both choices. Changing a cross-selling trigger clears the offer-product choice. These choices are temporary and do not change the campaign.
On the preview page, Current shows the saved presentation settings, Maximal enables all presentation switches and Minimal disables them. An assigned Shopping Experiences layout remains in use. These three views do not save settings. A new preview with automatic product selection can show another product; a link opened with a selected product keeps that product when reloaded.
The preview shows the product's current example price. Order-dependent checks, including payment availability and cart promotions, require a real order. If a preview link has expired, open a fresh preview.

Tab: Campaign
- Internal name: A name just for you, to recognise the campaign in the list. Customers never see it. Required; translatable per language (language switcher, top right).
- Active: Turn the campaign on or off without deleting it. New campaigns start inactive.
- Valid from: Optional. The offer is not shown before this date and time. Leave empty to start immediately.
- Valid until: Optional. The offer is not shown after this date and time. Leave empty for no end date.
- Priority: Decides between campaigns that are equally specific – higher number wins. A more specific trigger always takes precedence first, whatever its priority: product triggers are the most specific, category and manufacturer triggers share the next level, and Always (any order) is the least specific.
- Sales channels: The offer is shown only in the selected sales channels. Leave empty and the campaign runs in no channel. New campaigns start with all channels selected.
Display condition – these fields decide which orders qualify:
- Trigger: Which kind of order triggers the offer: Always (any order), Only if a specific product was bought, Only if a product from a category was bought or Only if a product from a manufacturer was bought.
- Trigger product / category / manufacturer: Appears once you pick the matching trigger. Choose what must be in the order. In the trigger product field, the search also finds individual variants and shows them with their option values (e.g. Colour: Red, Size: M) and the product number. A parent product covers all of its variants; a single variant can also be the trigger. Category triggers include subcategories.
- Excluded products: If any of these products (or a variant) is already in the order, the offer is not shown – so you never offer something the customer just bought. The search finds individual variants here too (with option values and product number); a parent product excludes all of its variants.
- Minimum order value: Only show if the net value of the ordered items (line items only, no tax or shipping) is at least this much. Leave empty for no minimum.
- Maximum order value: The same as an upper bound. Leave empty for no maximum.
- Customer groups: Only show for these customer groups. Leave empty for all.
- Shipping countries: Only show for orders shipping to these countries. Leave empty for all.
Tab: Offer
This tab decides what is offered, at what price – and with which text.
- Offer source: Choose whether this campaign uses one fixed Product, a Dynamic Product Group or Cross-selling. Required.
- Offer product: Shown when Product is selected as the Offer source. Choose the exact product the customer can add. The search shows variants with their option values and the product number; when the offer product is a variant, the offer page shows the option values under the product name.
- Dynamic Product Group: Shown when Dynamic Product Group is selected as the Offer source. Each new offer receives one currently usable member of the group. Standalone products and purchasable variants can be selected; parent products are skipped. If the order already contains a variant, no sibling from the same parent product is offered.
- Cross-selling: See Configuring cross-selling offers to select which cross-sellings can supply offers.
- Quantity to add: How many units are added on acceptance. Default 1. The quantity is adjusted to the product's minimum and maximum purchase quantities and purchase increments.
- Discount type:No discount, Percentage or Absolute amount.
- Discount value: Percent (percentage) or a fixed amount off the price (absolute). The absolute value is applied to the displayed unit price as-is – there is no currency conversion. Hidden when the discount type is No discount.
Storefront text
These fields are on the Offer tab and apply to every offer source.
All of the following fields are optional and translatable per language (language switcher, top right). Fields you leave empty use the built-in defaults, which work out of the box. Every text field supports the placeholders %product% (the trigger product this offer relates to, for every campaign type), %offerProduct% (the selected offer product), %price% (offer line total), %savings% (amount saved) and %percent% (discount percentage): placeholders are replaced with the relevant product and price information when the offer page is displayed; %savings% and %percent% stay empty when the campaign has no discount. So never type prices or percentages as literal text.
- Label above the headline: The small label above the main headline that tells customers what this page is. Phrase it honestly as an offer after the order.
- Headline: The main headline of the offer page.
- Subline: Shown directly under the headline when the offer can be accepted without a quick confirmation with the payment provider (e.g. unpaid orders or a saved PayPal payment).
- Subline (with quick confirmation): Shown instead when the customer needs to briefly confirm the add-on amount with their payment provider (e.g. PayPal wallet without a saved payment). A separate field, so this line never over-promises when a confirmation is in fact needed.
- Short benefit: One short sentence under the offer product's name – the offer's strongest benefit.
- Product benefits: The ticked benefit list above the accept button. One benefit per line, up to 3 entries are shown; keep each one short (ideally 2–6 words).
- Accept button text: The text on the accept button, e.g. "Add for %price%".
- Decline button text: The text on the secondary button customers use to skip the offer and continue.

Offer page layout: by default the offer uses the extension's built-in page, which works out of the box. For full control over structure and sections, assign the Post-purchase offer Shopping Experiences layout here (or your own copy of it). See Offer page design.
Tab: Handling
This tab controls when it is safe to add the item, based on payment, documents, shipping, stock and promotions.
- Allowed payment methods: The offer only appears for orders whose payment method is one of these. Only methods the offer can actually be fulfilled for are listed (invoice, prepayment, cash on delivery, direct debit, PayPal wallet and the PayPal card method (ACDC)). Leave it empty and the campaign never runs. New campaigns start with all supported methods selected.
- Document policy: What to do when the order already has documents (e.g. an invoice) at acceptance time. See below.
- Shipping policy: Whether the offer may change the order's shipping costs. See below.
- Stock policy: Whether the offered product needs available stock before it is shown. See below.
- Cart promotions: What happens when the original order already contains a cart promotion. See below.
Document policy
- Block if a document already exists (safest): The item is not added if the order already has any document. Default – avoids invoices that no longer match the order.
- Block only if an invoice exists: Added as long as no invoice exists; other documents (e.g. delivery notes) are ignored.
- Add item, notify admin: The item is added anyway. If the order already has an invoice, the order is flagged and (if a shop email is configured) an email is sent to your shop address so you can recreate it. See Emails.
Shipping policy
- Only if shipping stays the same: Shows the offer as long as adding the product would not change the shipping total. Free-shipping products always qualify.
- Shipping-free products only: Restricts the offer to products without shipping (e.g. digital goods).
- Offer anyway (keep original shipping): Shows any product without applying the shipping-change check.
Stock policy
- Require available stock (default): Only offered while enough stock is available.
- Follow Shopware oversale rules: Follows the Shopware rules (clearance items need stock, others may oversell).
- Ignore stock (advanced): Always offered, even when out of stock.
Cart promotions
- Suppress offer when a cart promotion exists (default): The safe default – no mixing with existing cart promotions. Held-back offers appear on the Activity tab with the suppression reason.
- Stack promotion and calculate the actual add-on amount: Shows the offer even with an existing cart promotion and calculates the actual add-on amount, taking the existing promotions into account.

Configuring cross-selling offers
On the Offer tab, choose Cross-selling as the Offer source and open Configure …. The table lists active cross-sellings by name.
| Include | How |
|---|---|
| One exact name | Click Include on its row. |
| Names containing a word | Enter the word in the text field under Include and click Add. For example, "Upsell" also matches "Summer Upsell". |
| All cross-sellings | Enter only * (an asterisk) in the text field under Include and click Add. Exclusions still apply. |
Use Exclude on a row for names you do not want. Check the resulting Included, Excluded or Not mapped status.
Click Save to save the selection and campaign. With nothing included, the campaign supplies no cross-selling offer.
See Choosing the offer for examples and product selection, or Cross-selling coverage for counts and warnings.
Which rule wins?
Rules are checked in this order. The first match decides:
- Excluded name
- Included name
- Excluding text rule
- Including text rule
Directly selected names therefore take precedence over text rules. With no matching rule, the name is Not mapped and supplies no offer. The table shows which entry decided the status.
Matching ignores capitalisation and surrounding spaces. Text rules also apply to cross-sellings you create later. To exclude names containing a word, add a text rule under Exclude.
Which cross-sellings appear in the table?
The table groups active cross-sellings by their names in the shop's default language. The trigger determines which products supply them: the selected product, products in the selected category or from the selected manufacturer, or the whole shop for Always (any order). Variants use inherited cross-sellings unless they have their own.
Use the search and All statuses filter to narrow the table. These filters do not change the selection.
Selection limits
- Up to 500 included names and 500 excluded names.
- Up to 50 including text rules and 50 excluding text rules.
- At most 255 characters per entry.
Editing a running campaign
An issued offer keeps its exact product even if you later change the campaign's product, Dynamic Product Group or cross-selling selection. Current availability, quantity, discount and price are still checked at acceptance; if the displayed terms no longer match, the extension aborts safely instead of applying different terms. Deactivate a campaign before reworking it when open offers must no longer be accepted.