Email & Inbox
Email List Hygiene
Scans your list for bounces, spam traps, and inactives so your deliverability stays high.
Saves about ~2 hrs per week
What it does
- Runs your subscriber list against bounce and spam-trap checks
- Flags inboxes that haven't opened in 90 days for a win-back or removal
- Keeps a clean export ready for your email platform
- Schedules the check monthly so deliverability never silently decays
How it works
- List export dropped into a connected sheet
- Validation script checks each address
- Bounces and traps are removed, inactives flagged
- Monthly report shows list health over time
What's included
- Validation setup
- Inactivity rules
- Monthly health report
Set it up yourself
Follow these 4 steps in order. You will need accounts for: Gmail, Sheets.
Step 1: Export your list
- Log in to your email platform (Mailchimp, ConvertKit, Brevo, etc.).
- Export your subscriber list as CSV — include emails, and the open/click columns if available.
- Open https://sheets.new and import the CSV (File → Import → Upload).
- Keep columns: Email, Last Opened, Last Clicked.
- Note your total count — that is your baseline.
Watch out: Export from the platform where you actually send, not your CRM — sending lists and CRM lists diverge.
Step 2: Add a validation service
- Choose a mailbox validation API (NeverBounce, ZeroBounce, or Kickbox all have free tiers).
- Create an account and generate an API key.
- In the script/workflow, iterate your sheet rows and call the service's /verify endpoint for each address.
- Store the returned status (valid / invalid / risky) in a new column.
- Download the validated list rows at the end.
Watch out: Free tiers typically cap at 100-200 checks — if the list is larger, drip-feed it across a few runs or get a one-off paid scan.
Step 3: Set the inactivity window
- Decide the window: 90 days of no opens is the common default.
- In the workflow, mark rows where Last Opened is older than the window as inactive.
- Split them into two buckets: win-back (email them once with a re-subscribe CTA) and purge (no win-back for 12+ months).
- Auto-remove bounces and spam traps from the sheet in a way you can always undo (keep a raw backup tab).
- Exclude addresses that have recently re-engaged from being purged.
Watch out: Never hard-delete before the win-back run — someone who re-engages mid-sweep should fall out of the purge bucket.
Step 4: Schedule the monthly run
- Set the flow to run on the 1st of each month (Apps Script monthly trigger, or n8n Schedule node).
- Have the report email include: total valid, bounces removed, inactives flagged, and the win-back/purge split.
- After the run, re-import the cleaned list into your email platform (most platforms let you overwrite a segment).
- Keep a 12-month log tab so you can watch deliverability drift.
Watch out: Schedule before a big send day — running hygiene right before a campaign avoids bounces hurting your sender reputation.
Frequently asked questions
What does the Email List Hygiene automation do?
Scans your list for bounces, spam traps, and inactives so your deliverability stays high. Runs your subscriber list against bounce and spam-trap checks
How much time does Email List Hygiene save?
It is estimated to save ~2 hrs per week. Actual savings depend on your volume.
Which tools does Email List Hygiene use?
It works with Gmail and Sheets.
What does Email List Hygiene include?
Validation setup, Inactivity rules, Monthly health report.
Can I set up Email List Hygiene myself?
Yes. The do-it-yourself guide on this page walks through 4 steps, from getting access to testing the finished automation.