Email junk does not arrive as one dramatic flood. It accumulates quietly.
A shop you bought from once starts sending three promotions a week. A travel site mistakes one booking search for lifelong intent. A restaurant app decides you need personalised recommendations forever. None of these messages are individually offensive. That is why they survive.
But the result is stupid: an inbox full of tiny claims on attention.
So I asked Closp to audit the last month of Gmail and find the recurring junk worth unsubscribing from.
The Useful Part Was Not The Unsubscribe
The obvious version of this task is: search for marketing emails and click unsubscribe.
That is also how you accidentally unsubscribe from things you actually care about.
The better version is slower:
- Count messages by sender.
- Separate promotional mail from updates and transactional messages.
- Downgrade anything already on the ignore list.
- Preserve obvious important senders.
- Put ambiguous senders in a review pile instead of pretending the classifier is omniscient.
That last point matters. The Economist sent a lot of email in the month I checked. So did TLDR. So did a race organiser. Those are not the same kind of noise as “70% off trainers ends tonight” for the forty-third time.
Automation is useful when it knows where to stop.
The Audit
The scan looked at individual Gmail messages from the last 30 days, not threads. That matters because Gmail threads can hide volume. A noisy sender needs to be counted as noisy.
The result:
- 987 messages
- 194 unique senders
- a short list of obvious repeat offenders
The winners, in the worst sense, were retail, travel, food delivery, hotel loyalty, online courses, and entertainment marketing. Sports Direct alone had sent 43 promotional emails in a month, all unread. Booking.com campaign emails were close behind. Just Eat, Nespresso, Jet2, eBay, Tennisnuts, OpenTable, Hilton, PlayStation, Coursera, Decathlon, Asda, Audible, Wix, and Kiwi were all in the same bucket.
The important distinction was that Booking.com campaign emails were safe to unsubscribe from, while Booking.com transactional emails were not. Same brand, different sender, different purpose.
That is exactly the kind of detail a blunt “unsubscribe from Booking.com” rule gets wrong.
The Hidden Machinery Of Unsubscribe
Most legitimate marketing email contains a List-Unsubscribe header. Sometimes it is a mailto address. Sometimes it is a URL. Sometimes it supports one-click unsubscribe, where the client sends a POST request with:
List-Unsubscribe=One-Click
That is what Gmail uses for its own unsubscribe button.
For most of the strong candidates, this worked cleanly. The system fetched the metadata, found the one-click endpoint, sent the unsubscribe request, and recorded the status. A 200 or 202 meant success. No mystery, no heroic browser clicking.
But not everyone behaved.
Jet2 did not expose a standard unsubscribe header on the sampled messages. The unsubscribe links were buried in the HTML body, one link per routed email address. So the cleanup had to inspect the body without dumping private content into chat, extract only the unsubscribe URLs, de-duplicate them by address, and then call them.
Nespresso was worse in a different way. It had a proper one-click unsubscribe endpoint, but the endpoint timed out twice, including a long retry. The correct result there is not “done”. It is “failed, needs manual unsubscribe or a filter”.
This is the whole point of making the workflow explicit: failures stay visible.
The Runbook
After the cleanup, I saved the process as a reusable runbook:
- fetch the last 30 days of Gmail messages
- rank senders by volume, labels, unread count, and low-value subject patterns
- exclude known important or already-ignored senders
- show strong candidates separately from ambiguous ones
- unsubscribe only after explicit approval
- report success and failure per sender
Then I put it on the calendar as a recurring maintenance task every two months.
That sounds mundane, which is exactly right. The inbox should not need an existential crisis every time it gets noisy. It needs a boring maintenance loop.
The Lesson
The most useful personal automation is not a big autonomous agent making grand decisions. It is a small, inspectable workflow that removes repeated friction while leaving judgement in the right place.
Email is full of edge cases. Brands use multiple senders. Transactional and promotional mail blur together. Some unsubscribe endpoints are broken. Some newsletters are noisy but intentional.
So the automation should not pretend those distinctions do not exist. It should surface them.
The win was not just fewer junk emails. The win was turning a neglected annoyance into a repeatable operation:
scan, classify, ask, act, report, remember.
That is the shape of good personal infrastructure.