Every Gmail cleanup tool, mine included, shows you a count of messages. Google's storage bar shows you bytes. People assume those two numbers track each other. They barely do, and the gap is why a satisfying afternoon of deleting can leave the storage bar where it started.
Here is the arithmetic, with the assumptions stated so you can argue with them.
A marketing email is mostly HTML and links to images hosted elsewhere. Call it 50 KB, which is generous. Five thousand of them comes to roughly 250 MB. There is also the email with a 25 MB video attached, and that single message is worth 500 promotional emails. Forty messages like it is around a gigabyte, which is 20,000 promotional emails.
So the sweep that clears five thousand things and the sweep that clears forty things can free wildly different amounts of space, and the forty usually wins by a factor you would not guess.
Two goals wearing the same clothes
There is a reason this keeps surprising people. "Clean my inbox" is really two jobs wearing one label.
The first job is findability. Too much mail means you cannot find the thing you need, and the fix is volume, so you delete or archive the thousands of low-value messages. Count is the right unit here. Clearing 5,000 promotions genuinely helps, and the storage bar sitting still is irrelevant to whether it worked.
Bytes are the second job. Google says you are full and you want that to stop. Here the message count is the wrong unit entirely (forty of them can settle it).
Most cleanup advice quietly optimises the first and gets judged on the second.
Querying for bytes instead of messages
Gmail's documented operators for this are size:, larger:, smaller:, has:attachment and filename:. The ones that matter here are larger: and smaller:, which take values like larger:10M.
Do not try to get an exact size for each message. Gmail will not give you one in the list view, so any precise total you compute is a reconstruction. Work in tiers instead:
larger:25M
larger:10M smaller:25M
larger:5M smaller:10M
Three searches, three counts. Multiply each count by its floor and you have an "at least N MB" figure that is defensible, which is the most honest number available to you.
Then attribute it to a sender
This is the step that gets skipped, and it is the one that turns a measurement into an action.
Take the larger:10M results and look at who sent them. Heavy mail is almost never scattered randomly, it clusters. There is usually one office scanner that mails a PDF of everything it touches, and one service that attaches a report every Monday. My own worst offender was a single thread where six people replied to a 30 MB deck and every reply carried the deck along with it.
That clustering is the useful part, because a sender is something you can write a rule about. A single 22 MB email is not a rule, it is a chore. Cross the two:
larger:10M from:scanner@example.com
Now you have a target that has a name and a count (plus a reason it exists in the first place).
The guardrail this needs more than promotions do
Attachments are the one place where the thing you delete may be the only copy in existence. Nobody has ever regretted deleting a 2023 flash sale. People do regret deleting the only copy of a signed lease.
So put a floor on it:
larger:10M from:scanner@example.com older_than:1y
And run it as a count first. The ordering that works: measure by tier, then attribute by sender, and only then delete oldest first behind an age floor. Trash gives you about 30 days of grace if you get it wrong, which is a safety net rather than a plan.
The short version: if the storage bar is the thing bothering you, stop counting messages. Go find the forty.
If you would rather not run three searches and tally them by hand, the extension I build does the tier walk and the sender attribution for you and shows the whole ranked list for free: Gmail One-Click Cleaner. Full disclosure, it is mine. The numbers it reports are floors, for the reason described above.
Top comments (0)