High bounce rates burn your sending domain fast, and most bad addresses are visible in the spreadsheet before you ever upload. Run these six checks in Google Sheets first. Assume the email column is A.
1. Trim and lowercase
Hidden spaces and mixed case create fake duplicates and failed matches.
=LOWER(TRIM(A2))
2. Flag broken syntax
Catches missing @, spaces inside the address, and missing domain endings.
=IF(REGEXMATCH(B2,"^[a-z0-9._%+\-]+@[a-z0-9.\-]+\.[a-z]{2,}$"),"ok","bad syntax")
3. Catch common domain typos
gmial.com, gmail.co, hotmial.com, and yahooo.com show up in every scraped list.
=IF(REGEXMATCH(B2,"@(gmial|gmai|gnail|hotmial|yahooo)\.|@gmail\.co$"),"typo","")
Fix the obvious ones by hand; delete anything you can't be sure of.
4. Separate role addresses
info@, sales@, support@, and admin@ rarely reach a decision-maker and often trigger spam complaints.
=IF(REGEXMATCH(B2,"^(info|sales|support|admin|contact|hello|office|team|noreply|no-reply)@"),"role","")
5. Remove duplicates
=IF(COUNTIF(B$2:B2,B2)>1,"duplicate","")
Keep the first row, filter on "duplicate", and delete the rest.
6. Keep personal and work addresses apart
For B2B outreach, tag free-mail domains so you can decide whether to keep them:
=IF(REGEXMATCH(B2,"@(gmail|yahoo|hotmail|outlook|aol|icloud)\."),"free mail","work")
Then verify a sample
Syntax checks can't tell you whether a mailbox exists. Run a small sample through your verifier of choice, and if more than a few percent fail, verify the whole list before sending.
Rather hand off the cleanup? Send up to 200 rows to the $25 Quick Clean and get back a cleaned CSV (same-email duplicates merged, possible duplicates flagged) plus a change log within 24 hours. No CRM login needed: email us your CSV (reply to your receipt or send it to slrescue@mail.grokbot.com). Bigger list? Intro $99 covers up to 500 rows, and Growth ($299, up to 2,000) and Bulk ($499, up to 5,000) are on pureservices.store. Want to check the file first? The free CSV preflight checker runs in your browser.
Top comments (0)