Post-Purchase Upsell & Cross-Sell

Analytics

The Analytics tab shows how your offers are performing. Revenue is totalled in the shop's default currency; orders placed in other currencies are added at face value.

Filters

The Filter card is at the top of the tab. Your selection applies to all metrics, charts and tables on this page.

  • Time range presets: Today · Last 7 days · Last 30 days · Last 90 days · All time. Last 30 days is the default when you open the tab.
  • Custom range: a From and To date picker for any period. Future dates cannot be selected.
  • Campaign: focus on a single campaign, or leave it on All campaigns.
  • Sales channel: focus on a single sales channel, or leave it on All sales channels. The Revenue per 100 orders metric then counts that channel's orders, so it reads as revenue per 100 of that channel's orders.

Date ranges use UTC calendar days. If your shop uses a different time zone, orders placed near midnight may fall on a different calendar day in these reports.

Summary

  • Shown: Times the offer page was shown to a customer.
  • Accepted: How often a customer added the offer.
  • Declined: How often a customer declined.
  • Failed: Accepted offers that could not be completed, for example a declined payment. Each case appears in the Activity tab.
  • Acceptance rate: Accepted ÷ shown, as a percentage.
  • Added revenue: The displayed additional revenue from accepted offers, totalled in the shop's default currency. For customer groups whose prices include VAT, the amount includes VAT. For groups whose prices exclude VAT, it excludes VAT.
  • Average upsell value: Added revenue ÷ accepted offers – the mean value per acceptance.
  • Revenue per 100 orders: Additional revenue for every 100 orders your shop received in the period, across all orders (not only ones shown an offer). A quick way to gauge the extension's contribution to your shop.
The Analytics tab with the KPIs
The Analytics tab: the metrics for the selected period, with the filters below.

Revenue over time

A line chart under the summary shows additional revenue per day across the selected period, so you can see the trend at a glance.

By campaign

A per-campaign breakdown with Campaign, Shown, Accepted, Rate % and Revenue, so you can spot your best and worst performers. Each campaign name links to its detail page (opens in a new tab).

Revenue over time and the per-campaign breakdown
The revenue-per-day chart and the per-campaign breakdown.

By offer product

A per-product breakdown with Offer product, Campaign, Shown, Accepted, Rate % and Revenue. For a Dynamic Product Group this shows which members were actually shown and accepted; for a fixed product the row matches the campaign. The table is paginated. Depending on your Shopware version, offers issued before 2.8.0, 3.8.0 or 4.8.0 are not included. The offer product is stored per offer only from the corresponding version onwards.

At a glance in the campaign list

The Campaigns list also shows live per-campaign metrics in its columns – Shown, Accepted, Acceptance rate and Added revenue – so you can compare campaigns without opening each one.

Activity

The Activity tab is a per-order feed: one row for each offer, showing what happened to it. Use it to check an individual order, or to understand why some orders received no offer. Open any row for the full timeline and the reason.

Each row has an outcome:

  • Shown: The offer was displayed to the customer.
  • Accepted: The customer added the offer.
  • Declined: The customer declined the offer.
  • Not applied: A safeguard correctly held the offer back after acceptance (for example the order already had an invoice, or the product was out of stock). Nothing is broken.
  • Failed: A technical error stopped an accepted offer from completing. This one is worth looking into. The offer detail shows a plain-language summary; Copy technical details copies the error details to your clipboard. Send these to your agency or support.
  • Suppressed: A campaign matched the order but was held back before any offer could be shown. The reason is shown in plain language (for example the order value was outside the campaign's range, or the payment method was not allowed).

The offer detail shows Trigger product and, for a cross-selling offer, Cross-selling used. This is the cross-selling that supplied the offer, separately from Current cross-selling selection in the campaign. Its link opens the product's cross-selling tab. If the cross-selling has since been deleted, the detail says so. Older offers can lack this information.

You can filter by outcome, campaign or date range.

The Activity tab with the per-order feed
The Activity tab: one row per offer with its outcome and a link to the order.

When "Suppressed" is recorded

Suppressed rows are recorded only for orders that received no offer at all. When that happens, campaigns that matched but were blocked are listed with their reasons. Each decision records at most 25 rows; any remaining count is written to the extension log. A time-limit reason is retained even when earlier rejections fill the list.

For cross-selling campaigns, No product in the order has an active cross-selling the campaign includes means none of the checked products supplied an included active cross-selling. Check the selection and the products' cross-sellings. No eligible product in the trigger product's cross-selling means the included cross-sellings supplied no usable offer within the search limits. Check their members, availability and campaign policies. Where a product is identified, the detail names it.

Offer search exceeded the time limit means the search stopped without showing an offer. Check the product selection and Offer search time limit (milliseconds) under Global settings.

To keep the feed focused, two things are deliberately not listed:

  • Campaigns whose trigger did not match the order, or whose validity period had not started or had already ended.
  • On an order that did receive an offer, any other campaign that also matched but was not the one shown. Only one offer is shown per order, so the others are not recorded here.

In short, the Activity tab answers the question "Why did this order get no offer?" It is not a complete per-campaign suppression report.

Revenue potential

The Revenue potential tab shows what share of your orders is eligible for an add-on offer and estimates the additional revenue. It only reads your order history and changes nothing about campaigns, products, orders or payments. The Analytics tab shows what your offers have brought in; the Revenue potential tab estimates what is possible – for example, before you create your first campaign, or when you want to check whether your shop's payment methods are supported.

The Revenue potential tab with the additional revenue calculator and the coverage by payment method
The Revenue potential tab: the additional revenue calculator with its four tiles and the Coverage by payment method table.

Additional revenue calculator

At the top you choose the Sales channel and the Period. The defaults are All sales channels (that is, every active storefront) and 12 months; the choices are 1, 3, 6 or 12 months. Four tiles show:

  • Share of orders with a supported payment method: The share of analysed orders whose payment method allows an offer to be shown.
  • Share of order value with a supported payment method: Like the first tile, but weighted by order value instead of counted by orders. Order values in other currencies are converted using the exchange rate stored with each order.
  • Estimated additional revenue in the period: The number of analysed orders × the share of orders with a supported payment method × the add-on amount × the acceptance rate.
  • Estimated increase in additional revenue if all payment methods were supported: The additional amount that the same calculation would produce for the orders with a payment method that is not yet supported.

The two shares are determined from your order history. The two tiles for additional revenue, by contrast, are indicators derived from your own assumptions, not a forecast for your shop: you adjust the Add-on amount (default 25 in the shop's currency) and the Acceptance rate (default 4.5 %) in the fields next to Sales channel and Period, and the tiles update immediately. Neither value is stored; each applies only to the report currently shown.

Below the tiles the tab states how many orders it analysed. Orders placed in the Shopware Administration are not analysed because they cannot lead to an add-on offer; the tab shows how many were excluded. If the period contains more than 100,000 orders, the extension analyses the 100,000 most recent ones and shows a note. This limit ensures that the tab opens quickly even in a large shop.

Coverage by payment method

For every payment method used in the period, the table shows the number of Orders as well as Order share, Value share, Supported and Active.

  • Supported tells you whether an offer can be shown for orders with this payment method. Conditional means the payment method decides case by case whether an offer is possible. With the PayPal payment method "Credit or debit card", for example, an offer can be shown only for orders placed with a saved card. The shares of a conditionally supported payment method are not added to either of the two share tiles.
  • Active tells you whether the payment method is active and assigned to the selected sales channel. If All sales channels is selected, assignment to any one active sales channel is enough. Orders in the period count whether or not the payment method is still active.

If the PayPal extension SwagPayPal is not active, the tab says so: payment methods from inactive extensions are then shown as not supported. The chapter Payment methods & failure cases describes which payment methods the extension supports and what "Conditional" means in detail.

Copying or sharing the report

Copy report and Share report are based on the same report. It contains your Shopware and extension versions, the shop's storefront addresses, the period and sales channel, your order volume expressed as a size band, the coverage by order count and by order value, and one line per payment method with its handler and the extension it belongs to. It contains no customer data and no data on individual orders; it omits exact order counts, additional revenue estimates and assumptions.

Share report opens a pre-filled email draft to support@commercewerk.de. Nothing leaves the shop until you send the email. A very long list of payment methods is shortened to fit the email, and the draft notes that the list has been shortened. Copy report always gives you the full report. Sharing is optional and helps us decide which payment methods to support next.

The tab requires the View permission, which has included read access to orders since version 2.7.0 (Shopware 6.5), 3.7.0 (Shopware 6.6) or 4.7.0 (Shopware 6.7). Open and save older roles once – see Permissions.