> ## Content Index
> Fetch the complete content index at: https://cascader.io/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# Most of my products never sell through Performance Max. Should I remove them?
- URL: https://cascader.io/blog/remove-zero-sale-products-performance-max/
- Published: 2026-10-23T14:00:45.000Z
- Updated: 2026-10-23T14:00:45.000Z
- Description: In an invented shop where every product is equally good, about 608 of 1,000 still show no order. Where a zero starts to mean something, and what the rest can tell you together.
- Author: Rick Hecker
- Tags: Cascader Answers

Mostly no. A product that barely spent has cost you almost nothing and proved almost nothing. Added together, though, such products can be judged. That total, not the list of zeros, shows whether pruning would cost you sales.

To see why, build a shop with no bad products in it.

## A catalogue where nothing is wrong

This shop is invented. It lists 1,000 items, all equally good: 2.5% of clicks on any item become an order. It spends $100 a day for 180 days at $0.50 a click, which buys 36,000 clicks and about 900 orders.

Spread evenly, that is 36 clicks an item, and 40% of items would still show no order. Now let the clicks fall less evenly. This split is invented too:

If columns extend beyond the page, scroll sideways. With a keyboard, focus the table and use the arrow keys.

| Items     | Clicks each | Clicks in all | Chance of no order | Expected items with no order |
| --------- | ----------- | ------------- | ------------------ | ---------------------------- |
| 100       | 200         | 20,000        | 0.6%               | 0.6                          |
| 200       | 45          | 9,000         | 32.0%              | 64                           |
| 700       | 10          | 7,000         | 77.6%              | 543                          |
| **1,000** |             | **36,000**    |                    | **608**                      |

*Chance of no order = 0.975 (that is, 1 − 2.5%) multiplied by itself once per click.*

![A grid of 1,000 squares, one per product, in three groups. 100 products with 200 clicks each: 1 pale square. 200 products with 45 clicks each: 64 pale. 700 products with 10 clicks each: 543 pale. About 608 pale squares in all.](https://cdn.mymidnight.blog/ced556cd9f9c0c8315cfbe0744a3baf0/2026/10/zero-sale-grid.png)

*Each square is one product. Pale squares show no order: the table's expected counts, rounded, scattered at random within each group.*

On average, about 608 of 1,000 identical products show no order. Nothing is wrong with any of them.

## When a zero means something

A zero means something when an ordinary product would rarely produce it. For a rough line, divide 3 by your conversion rate. Here 3 ÷ 0.025 = 120 clicks; by then, an ordinary item shows no order less than 1 time in 20.

A fixed rule, such as cutting a product after 50 clicks without a sale, matches this line only for a shop converting 6% of clicks. At 1%, the line is 300.

Only the top 100 items crossed the line. Even if the budget were rationed perfectly, 120 clicks to an item, 36,000 clicks would carry just 300 items to it. A small budget cannot judge most of a large catalogue.

## What it can judge

It can judge them together. Call the 900 items under the line the tail. Between them they took 16,000 clicks and $8,000 of the $18,000\. At 2.5%, that should bring 400 orders, give or take 40\. (Chance rarely moves a count like this by more than twice its square root: √400 = 20, so 40.)

In this shop the tail brings its 400, so pruning can't help. It frees $8,000, and none of the Google pages linked here says where that money goes. Spent on the top 100, it buys clicks as good as the tail's only because every item here is identical; a real shop makes no such promise. Unspent, it takes up to 400 orders with it.

A tail that brought 200 would be a different shop: its clicks would be worth half as much, and still no single item would be to blame.

## Sorting your own report

In Google Ads' [Products tab](https://support.google.com/google-ads/answer/17035334?ref=cascader.io), which covers Performance Max and Standard Shopping, filter to the campaign and to dates old enough for late orders to land.

1. **Find your line.** Divide 3 by your rate, where your rate is conversions ÷ product clicks across all items.
2. **Check the zeros above it.** Look at price, stock and the landing page. Fix what you can. If you find nothing, or can't fix it, exclude the item.
3. **Add up everything below it.** Compare the tail's conversions with its clicks × your rate. A gap within twice the square root of that expected number proves nothing. This compares orders, not money: it settles the money question only if a click below the line costs about what the others cost, and an order there is worth about what the others are worth. *In the shop: 400 expected, 400 arrived. Leave all 900.*
4. **If the tail falls well short, split it.** Run step 3 again on parts of the tail, such as each brand, product type or custom label; if the report won't group them, add up the item rows yourself. Exclude a part that falls far short, not a single item. If you split many ways, one part may fall a little short by chance alone. *Say your rate is still 2.5%, but the tail brought 300 orders against 400\. If one brand's 4,000 tail clicks brought 10 orders against 100 expected, and the other 12,000 brought 290 against 300, that brand's tail items are the weak part. Leave the rest.*

One trap: Conversions also counts orders that followed a click elsewhere on the ad, or a TrueView video view. Product clicks counts neither. If Non-product clicks or TrueView views are more than a sliver, your rate reads high and your line comes out low. I would double the line to be safe.

## Excluding and testing a batch

For Performance Max, Google's [listing groups help page](https://support.google.com/google-ads/answer/11596074?ref=cascader.io) gives this path: Asset groups → Listing groups → pencil beside "All products" → subdivide by Item ID or another attribute → tick the batch → Save. Then click the green circle beside each new subdivision and choose Exclude. Listing groups are part of each asset group, so repeat this in every asset group that carries those items.

Could a batch restart "Learning"? Google's pages on [bid strategy statuses](https://support.google.com/google-ads/answer/6263057?ref=cascader.io) and the [learning period](https://support.google.com/google-ads/answer/13020501?ref=cascader.io) list what triggers it, and product exclusions appear on neither list. That is an absence, not a promise.

So hold budget and target steady, note the date and exclude one batch. Once late orders are in, compare the whole campaign's conversion value at similar spend. If it falls clearly, stop; small moves either way are noise. A before-and-after can't prove cause, so treat the result as a direction, not a verdict.

The report listed about 608 failures. It held perhaps one suspect above the line, and one question: does the tail, added up, earn its clicks?