Daily
Get yesterday's bounced addresses by email
Each morning you get the addresses that bounced the day before, ready to remove.
- Runs
- Daily
- Apps
- Campaign Monitor
- AI
- Not needed
- Access
- API key
Send this to your assistant
Create a ClickRuntime automation: every day at 8am, email me the addresses that bounced yesterday on each of my Campaign Monitor lists, grouped by list.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Anyone who sends newsletters through Campaign Monitor knows the slow damage of a dirty list. People change jobs, mailboxes fill up and domains lapse, and each bounced address counts against the sender's reputation. Left alone for months, a list full of dead addresses pushes more mail into spam folders, and the readers who do want your emails stop receiving them without anyone noticing.
Every morning, ClickRuntime asks Campaign Monitor for the subscribers that bounced since yesterday, list by list, and emails you one tidy digest of addresses and lists. You can remove or correct them while the cause is recent. The digest is a short daily to-do for list hygiene.
List owners at agencies, associations and small publishers, who manage several lists at once, find it most helpful. Small lists benefit as much as large ones, because a few bad addresses hurt a small sender quickly.
What you get out of it
Sender reputation is protected daily
Removing bounced addresses promptly keeps your bounce rate low, which mailbox providers watch closely. A clean list means your campaigns keep landing in inboxes instead of spam. Healthy standing with mailbox providers is slow to build and quick to lose, which makes daily housekeeping worth the minute it takes.
Lost customers can be reached another way
A bounce on a client address often means the person left or changed domains. Seeing it the next day lets an account manager find the new contact before the relationship goes cold.
List cleaning becomes a small daily habit
Handling a handful of addresses each morning is easy. Waiting for a quarterly cleanup means thousands of dead contacts and an afternoon of tedious work. Fixing a typo the same week means the subscriber still gets the welcome message they were promised.
Typos at signup get corrected
Some bounces come from a mistyped address on a form. Spotting them quickly gives you the chance to email the person another way and fix their record so they receive the welcome message.
Data for form and import problems
A sudden burst of bounces after a list import points to bad source data. Seeing it the very next morning lets you stop the problem before it harms the next campaign.
How it works
What happens, step by step
Once a day, ClickRuntime goes through each of your Campaign Monitor lists.
For each list it collects the email addresses that bounced yesterday.
If there were any bounces, you get one email grouped by list, with the addresses ready to remove.
Before it runs live
- Connect Campaign Monitor
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other Campaign Monitor steps into one automation
Under the hood
The code that runs this automation
from datetime import date, timedelta
from clickruntime import on_trigger, credentials, notify, http
API = "https://api.createsend.com/api/v3.3"
CLIENT_ID = "your-client-id"
@on_trigger
def run(event):
auth = (credentials.secret("CAMPAIGN_MONITOR_API_KEY"), "x")
yesterday = date.today() - timedelta(days=1)
sections = []
for lst in http.get(f"{API}/clients/{CLIENT_ID}/lists.json", auth=auth).json():
bounced = http.get(f"{API}/lists/{lst['ListID']}/bounced.json", auth=auth,
params={"date": yesterday.isoformat(), "pagesize": 1000}).json()["Results"]
emails = [b["EmailAddress"] for b in bounced if b["Date"].startswith(yesterday.isoformat())]
if emails:
sections.append(f"{lst['Name']} ({len(emails)})\n" + "\n".join(emails))
if sections:
notify.email_me(f"Campaign Monitor bounces on {yesterday}", "\n\n".join(sections))
return {"lists_with_bounces": len(sections)}FAQ
Common questions
Does it remove bounced subscribers from my list?
Which bounces are reported?
Can it cover all my lists in a client account?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Get last week's Campaign Monitor results every Monday
One email each Monday with opens, clicks and unsubscribes for every campaign sent the week before.
See how it worksPost list sign-ups and unsubscribes to Slack
Your team sees each person who joins or leaves your list in Slack as it happens.
See how it worksKnow the moment your website goes down
Your team hears in Slack when the site stops responding or slows down, and again when it's back.
See how it worksKeep exploring
Set up “Get yesterday's bounced addresses by email” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.