Gmail is useful, but you need to know some tricks
By Érico Andrei

My Gmail Productivity Hacks

I’ve been using Gmail since it came out — more than 20 years ago — and, honestly, it has always been a love-hate relationship. I never really stopped using it, but I also never stopped fighting it. Over time, instead of trying to bend Gmail to some ideal workflow, I ended up adapting myself to its quirks.

After decades of registering for services, subscribing to newsletters, being caught in multiple user-data leaks (as you can easily confirm on haveibeenpwned), and dealing with an endless stream of automated emails (like the GitHub notifications for every PR, CI run, Co-Pilot request), I found myself completely overwhelmed. At some point, it became clear that if I didn’t take control, my inbox would.

What saved me wasn’t a single feature, but a mindset: filters, labels, and search as first-class tools, not afterthoughts.

Today, I have around 400 filters and more than 600 labels, all organized hierarchically. That number sounds excessive — and maybe it is — but it reflects how fragmented modern email really is. Those numbers also keep growing, and I’ve learned to be okay with that.

None of this works, though, if you don’t understand Gmail’s search syntax. Gmail search is far from perfect (especially when compared to Google’s web search), but once you internalize its logic, it becomes the backbone of everything else.

For me, the single biggest missing feature in Gmail is a simple one: a reliable, always-accessible list of unread messages.

Inbox Zero is a nice idea, and I mostly agree with it. But once you start auto-labeling and archiving messages aggressively — which I do — the Inbox stops being a useful indicator of what actually needs attention. Add Google’s “smart” categories to the mix, and things get even noisier.

What I really want is boring and simple: one place where I can see everything I haven’t read yet.

And the solution turns out to be almost embarrassingly simple.

Go to the search box, type is:unread, and voilà — every unread message in my account appears, regardless of where it lives.

That single search drives a big part of my daily workflow.

Search Filters for the Win

These are not all the search operators Gmail supports — just the ones I personally reach for all the time. They come straight from Gmail’s documentation, but more importantly, they reflect the way I actually work.

Search Query

What It Does

is:unread

Lists all unread messages (excluding spam and trash)

is:unread in:inbox

Unread messages still sitting in the inbox

is:unread in:inbox has:nouserlabels

Unread inbox messages with no user labels — my favorite way to discover gaps in my filters

from:@example.com

Finds all emails from a specific domain

to:me subject:"Run Failed"

Finds all emails with “Run Failed” in the subject

has:attachment

Shows all emails with attachments

older_than:1y

Emails older than one year

after:2010/08/22 before:2010/08/25

Messages received in a very specific time window

in:anywhere from:@example.com

Messages from a domain, no matter if they’re archived, trashed, or even in spam

My workflow around this is intentionally simple: I search first, I sanity-check the results, and only then do I create a filter.

Over time, this approach quietly reduces inbox noise and, more importantly, reduces the mental effort required to deal with email at all. Gmail doesn’t disappear — but it becomes manageable, predictable, and mostly out of my way.