Clean risky addresses from your Mailchimp list before each campaign
Every Monday at 7am, new subscribers get checked for spam traps, throwaway inboxes and dead addresses, so your campaign only goes to people who can receive it.
Every Monday at 7am, before my weekly campaign goes out, sweep my Mailchimp audience for risky addresses using IPQualityScore, act on what you find, and report what you did in Slack.
Start by pulling subscribers with the Mailchimp "List Members" operation, but only those added or updated since the last run, using the date filters that operation supports, and page through the results. Do not pull the whole audience. Every IPQualityScore lookup consumes account credits, so never re-check anyone already carrying the verified tag from a previous run. If there is no previous run to compare against, use the last seven days as the window.
Run each address through the IPQualityScore "Email Validation" operation and capture deliverability, disposable or temporary detection, spam trap risk, catch-all status, and the 0-100 fraud score.
IPQualityScore returns HTTP 200 even when a lookup fails, with success set to false and a message explaining why, usually an invalid key or exhausted credits. Branch on the success field rather than the HTTP status. Never treat a failed lookup as a clean address: leave that member untouched in Mailchimp, count them as "could not check", and call them out in the Slack summary. If credits run out, stop making further lookups and report how far you got.
Decide per address rather than applying one blanket rule, weighing the signals against each other. There are three outcomes.
Suppress: confirmed spam traps, disposable or temporary addresses, and undeliverable addresses. Use the Mailchimp "Update Member" operation to change their status so they stop receiving campaigns.
Tag for review: catch-all addresses and borderline ones, meaning a fraud score of roughly 75 and above but still deliverable. Use the Mailchimp "Add or Remove Member Tags" operation to tag them for review and leave them subscribed.
Clean: everything else gets a verified tag through "Add or Remove Member Tags" so the next run skips them and no credits are wasted re-checking.
Suppressing a real subscriber by mistake is costly, so when the signals conflict, for example deliverable but catch-all, or valid but carrying a high fraud score, prefer the review tag over suppression. Only suppress when the evidence is unambiguous.
If the batch of members to update is large, use the Mailchimp "Batch Subscribe or Unsubscribe" operation, which handles up to 500 members per call, instead of a separate update call for every address.
Finish with a Slack "Send a Message" summary to my marketing channel containing the counts in each bucket (suppressed, tagged for review, verified clean, and could not check), the specific addresses that were suppressed with the reason for each, and a one-line note on whether the list looks healthy enough to send this week.
What does this prompt do?
- Checks only the subscribers who joined or changed since the last sweep, so you are not paying to re-check people who already passed.
- Sorts every address into three buckets (suppress, review, or clean) using spam trap, throwaway inbox, dead address, catch-all and risk signals.
- Stops the genuinely bad addresses from receiving your campaign, tags borderline ones for a human look, and marks clean ones as verified.
- Posts a Monday morning summary in Slack with the counts, the exact addresses it suppressed and why, and whether the list looks safe to send.
What do I need to use this?
- A Mailchimp account with the audience you send campaigns to.
- An IPQualityScore account with email validation credits available.
- A Slack workspace and the channel where your marketing team wants the summary.
How can I customize it?
- Change the timing, for example run it Friday afternoon or the night before each send instead of Monday morning.
- Move the line for what counts as too risky, so more or fewer addresses get suppressed rather than flagged for review.
- Send the summary to a different channel or a direct message, and rename the tags to match the labels you already use.
FAQs
Will this delete subscribers from my Mailchimp audience?
How much does checking the addresses cost?
What happens to addresses that look borderline?
Can I run this on more than one audience?
What if my checking credits run out partway through?
Related templates
See how your brand's news coverage and sentiment stack up against four competitors, then let an assistant write the weekly report for you.
One screen showing every social post waiting on approval, sorted by deadline, so reviewers can approve or reject without leaving the page.
Every Monday, find the past champions and closed-won contacts who changed jobs, update Attio, and get the moves worth chasing in Slack.
Staff submit what happened, your social manager edits the copy, picks the accounts and puts it on the calendar without a single spreadsheet.
Open one board each morning, see which voice calls went badly, replay the exact moment the caller got frustrated, and file the fix.
A personal queue of every overdue Guru card, sorted by how late it is, with one-click verify, reassign, comment, and an agent that drafts the refresh for you.
Stop burning your sender reputation on bad addresses.
Set this weekly sweep up once and every campaign goes out to a list you can actually trust.