We checked 390 retailer offers for the three components of a delivered total. Mandatory fees were present in none of them. The method, the numbers, and what they do not prove.
Comparison sites talk about a total price as though it were sitting in the data waiting to be read. When we built the check for it, we required three things to be present and confirmed: the item price, mandatory shipping, and known mandatory fees. Then we measured how often all three were available across 453 production offers.
The answer was zero. Not rare, not seasonal, not concentrated in one category. Zero, across every offer we looked at.
That result is worth sitting with, because a great deal of shopping-comparison marketing is built on a figure that the underlying data does not contain.
The figure above comes from production offers. To check it against a fixed, repeatable sample we ran a locked cohort of 50 United States queries on 21 August 2026: 30 exact-model searches, 10 aimed at marketplace listings, and 10 broad category terms. Every query had to end in an explicit outcome — results, no results, an error, or a timeout — so that nothing was quietly dropped from the denominator.
Thirty-six of the 50 queries returned offers, together producing 390 offer cards. For each card we recorded whether the item price, the mandatory shipping charge, and any mandatory fees were present as evidence, rather than inferred. An offer only counted as carrying a component if the provider supplied it in a dedicated field. Delivery date estimates and conditional promotions were not accepted as a shipping charge.
| Component | Offers carrying it | Share |
|---|---|---|
| Source timestamp | 390 of 390 | 100% |
| Explicit mandatory shipping | 283 of 390 | 73% |
| Explicit mandatory fees | 0 of 390 | 0% |
| All components confirmed | 0 of 390 | 0% |
Mandatory fees are frequently not knowable before checkout, and not because retailers are hiding them. Recycling and environmental fees vary by state. Delivery surcharges depend on the destination address. Handling and oversize charges appear when the basket is assembled. Some are calculated only once a payment method is chosen.
A comparison engine reading a public product listing has access to none of it, because at the moment it looks, the retailer has not calculated it either. The information does not exist yet.
We had two options: estimate the missing components, or narrow the claim. Estimating would have produced a complete-looking number that was quietly invented, which is precisely the thing this site exists not to do. So a confirmed comparison total here means item price plus confirmed shipping, and the fees that remain unknown are named as unknown rather than silently assumed to be zero.
Shipping is the easier half and it still is not universal. In the 21 August cohort, 283 of 390 offers carried an explicit mandatory shipping charge — but the share moved sharply by query type. Broad category searches returned 193 of 236 offers with confirmed shipping; exact-model searches returned 80 of 135. The remainder show an item price and say plainly that delivery is settled at checkout.
That split is the opposite of what a shopper needs. The broad searches, where a delivered total matters least, are the ones where shipping is most often known. The exact-model searches, where someone has already decided what to buy and is choosing where, are where it is most often missing.
A partial total is not a failed total. It is a smaller claim, made accurately, and it is still useful: it establishes a floor. What it cannot do is settle a comparison between two offers a few dollars apart, because the unresolved component is larger than the gap.
If the complete number cannot be produced in advance, then the honest purpose of a comparison engine is not to name a winner. It is to narrow the field to the two or three offers worth taking to a retailer, and to be explicit about which facts are settled and which are not.
That is a less impressive promise. It is also one that survives contact with the data.
This measures the machine-readable offer data a comparison engine receives before checkout. It is not a measurement of what a retailer displays on its own site, and it is not evidence that anyone is concealing a charge. In most cases the fee genuinely has not been calculated at the moment the listing is read, because it depends on a destination address, a basket, or a payment method that does not exist yet.
It is also one run on one day from one country, and two of the upstream data providers were degraded while it ran — one failed throughout, another for part of it. That affects how many offers appeared and which retailers were represented, so the card counts describe this cohort rather than a stable industry average. The fee result is the durable part: across every offer that did arrive, from every provider that was working, the count of confirmed mandatory fees was zero.
We publish the method so the number can be argued with. If a provider begins supplying fee data, this page should stop being true, and we would rather find that out than defend it.
Treat a confirmed total and a partial total as different kinds of evidence rather than better and worse versions of the same thing. Two confirmed totals from two retailers can be compared directly. A partial total tells you a lower bound and nothing above it.
The practical move is to carry the shortlist to the retailers and let each basket resolve the rest. Add the item, enter your address, and read the number. That is the only place the complete figure exists, and it takes about ninety seconds per retailer.