# See which Adobe Commerce discounts are worth keeping

> A single board that shows every cart price rule next to the discount it gave away, the revenue it brought in, and how it moved average order value.

- Workflow type: app
- Services: Adobe Commerce (Magento), Google Sheets
- Categories: Marketing, Operations
- Published: 2026-08-14

## What it does

- Lists every cart price rule and its codes in one table, with redemptions, total discount given away, and the revenue attributed to each rule
- Compares average order value on discounted orders against undiscounted orders in the same window, so you can see whether a promo actually lifted baskets or just gave margin away
- Lets you extend, pause, or launch a promotion and bulk-generate its codes without leaving the screen, with a confirmation step before anything destructive
- Appends every decision, along with your reason, to a shared Google Sheet promo log so the team keeps a running history of what launched and what got killed

## What you'll need

- An Adobe Commerce (Magento) store, with admin access covering your promotions and orders
- A Google account and a spreadsheet you want to use as the promo log
- A rough idea of the review window you judge promotions on, for example the last 90 days

## Prompt

Build me a promotions control room for our Adobe Commerce store, where our merchandiser reviews which discounts are actually worth keeping. Use the language of the Magento admin throughout: these are cart price rules, the kind managed under Marketing > Cart Price Rules, and the codes attached to them are coupons.

The main view is a table with one row per cart price rule. Load the rules with Search Sales Rules and pull the full detail for each with Get Sales Rule, so the row can show the rule name, whether it is currently active, its from and to dates, the discount type and amount, and its uses-per-coupon limit. Put a review window selector at the top of the page, defaulting to the last 90 days, because every performance number below is scoped to that window.

For each rule, resolve its codes with Search Coupons filtered by the rule id. Then attribute orders to the rule: Magento orders carry a coupon_code field, so call List Orders filtered on orders whose coupon code is any of the codes belonging to that rule, restricted to the review window. From those orders compute and show, as columns: redemptions (the number of attributed orders), total discount given away (the summed discount amount), revenue attributed to the rule (the summed order total), and the average order value of those discounted orders.

The judgement column is the comparison. Separately call List Orders for the same window filtered to orders with no coupon code, and compute the average order value of those undiscounted orders. Show each rule's AOV against that baseline as both an absolute difference and a percentage lift, and show revenue returned per dollar discounted. Sort and highlight on those comparison columns rather than on raw redemption count, since a heavily redeemed rule that dropped basket size is exactly the thing the merchandiser needs to spot. Visually flag rules that fall below a configurable performance bar.

Clicking a rule opens a detail view with its metrics, the list of its codes and how many times each was redeemed, and the attributed orders. In that detail view, use List Order Items on the attributed orders to show which products were actually bought on discounted orders, so the merchandiser can see the attach rate of the products the promotion was meant to push.

From the same screen the merchandiser can act. Extend or pause an underperforming rule with Update Sales Rule, changing the end date or flipping it inactive. Launch a new campaign with Create Sales Rule and then bulk-generate its codes with Generate Coupons. Retire dead codes with Delete Coupons by Codes. Guard the destructive paths: pausing a rule that is currently live and deleting coupon codes must both show a confirmation dialog first, spelling out exactly which rule or which codes are affected and how many redemptions are already attached to them.

Every decision gets appended to a Google Sheet promo log using Append Values, so the team keeps a running history of what was launched, what was killed, and why. Each row should carry the timestamp, who took the action, the rule name and id, the action taken, a snapshot of the metrics at the moment of the decision, and a free-text reason. Ask for that reason in the same dialog that confirms the action and require it before the action fires. Let the spreadsheet and tab be set once in a settings area and reused for every write.

The reason this board is worth opening is that the built-in coupon report shows redemptions and discount totals but never sets the discount cost against attributed revenue and AOV lift. That trade-off is the whole judgement call, so make those comparison numbers the most prominent thing on the screen.

## How to customize

- Change the review window (last 30, 90, or 180 days) and which store views are included in the comparison
- Set your own bar for what counts as underperforming, such as a minimum revenue returned per dollar discounted
- Add columns to the promo log sheet, like the campaign owner or the margin impact you expected going in

## FAQ

### How does the board know which orders belong to a promotion?

Every order records the coupon code the shopper used at checkout. The board looks up all the codes attached to a cart price rule, then pulls the orders that redeemed any of them. A campaign with fifty generated codes still rolls up into one row, so you judge the promotion rather than individual codes.

### How is this different from the coupon report already built into Magento?

The report under Reports > Sales > Coupons tells you how many times a code was used and how much discount it handed out, and then stops. This board sets that discount cost against the revenue those orders produced and against what a normal undiscounted order looks like in the same period. That comparison is the keep-or-kill call you are actually trying to make.

### Can I accidentally kill a live promotion?

No. Pausing a rule that is currently running and deleting coupon codes both ask you to confirm first, and show you what is about to be affected. Every action is also written to the promo log with your name and your reason attached.

### Do I need to install an extension or a separate analytics tool?

No. The board reads directly from your store, so there is nothing to install in Magento and no paid reporting extension involved.

### Does this work with auto-generated coupon codes?

Yes. Bulk-generated codes are grouped under the rule that created them, so you see the campaign's overall performance instead of scrolling through hundreds of individual code rows. You can still open a rule to see how each code performed.

Use this prompt in General Input: https://www.generalinput.com/prompts/see-which-adobe-commerce-discounts-are-worth-keeping