Daily
See who unsubscribed yesterday
Each morning one email lists the contacts who unsubscribed the day before.
- Runs
- Daily
- Apps
- Constant Contact
- AI
- Not needed
- Access
- contact_data
Send this to your assistant
Create a ClickRuntime automation: every morning at 8am, email me the name and email of everyone who unsubscribed from Constant Contact yesterday.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Every email marketer knows the sinking feeling of an unsubscribe spike, but few notice it the day it happens. A newsletter goes out on Tuesday, a hundred people leave on Wednesday, and the list owner only sees the damage when the monthly report shows the list is smaller. By then the next two sends have gone out with the same problem.
Each morning, this asks Constant Contact for the contacts whose status is unsubscribed and who were updated since yesterday, then emails you that list. You know exactly who opted out in the last day, and you can connect the drop to the campaign that preceded it.
Small business owners, nonprofits and marketing coordinators who send regular campaigns use it to keep a close eye on list health without logging in each day. The list comes from the contact records in Constant Contact, so it names real people and their status, and nobody has to export and compare lists by hand every morning.
What you get out of it
Link unsubscribes to the campaign that caused them
A morning list lets you match a spike to yesterday's send. You can see which subject line or offer lost people while the next campaign is still in draft and can be adjusted.
Honor opt-outs in your other systems
If a customer unsubscribes from marketing, your CRM and any other mailing tools should respect it. A daily list gives you the names to update in places Constant Contact cannot reach. If a customer opts out of marketing, your CRM and other tools should respect it, and the daily list gives you names to update.
Spot list-health problems early
A sudden rise in unsubscribes can mean over-mailing or a badly targeted segment. Seeing it within a day lets you pause before reputation and deliverability suffer. A sudden rise in unsubscribes can signal over-mailing, and a one-day lag lets you pause before deliverability suffers.
Follow up where it makes sense
For high-value customers, a polite personal note asking why they left can win them back or give feedback. That only works if you learn of the unsubscribe promptly. A gentle personal note to a high-value customer who left can win them back, but only if you learn of it promptly.
Keep a clean record for compliance
A dated email of opt-outs shows that you tracked them. If a contact later claims they were mailed after leaving, you have evidence of the date they unsubscribed. If anyone later claims they were emailed after leaving, the dated list shows the day they unsubscribed.
How it works
What happens, step by step
Once a day, ClickRuntime asks Constant Contact for contacts who are now unsubscribed.
It keeps only the people whose opt-out date was yesterday.
You get one email listing each person's name and email. If nobody unsubscribed, the email says so.
Before it runs live
- Connect Constant Contact
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 Constant Contact 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
@on_trigger
def run(event):
yesterday = date.today() - timedelta(days=1)
resp = http.get("https://api.cc.email/v3/contacts",
headers={"Authorization": f"Bearer {credentials.connection('constant-contact', 'work')}"},
params={"status": "unsubscribed", "updated_after": f"{yesterday}T00:00:00Z", "limit": 500})
resp.raise_for_status()
gone = [c for c in resp.json()["contacts"]
if (c["email_address"].get("opt_out_date") or "")[:10] == yesterday.isoformat()]
lines = [f"{c.get('first_name', '')} {c.get('last_name', '')} <{c['email_address']['address']}>" for c in gone]
notify.email_me(f"Constant Contact unsubscribes on {yesterday}: {len(gone)}",
"\n".join(lines) or "Nobody unsubscribed yesterday.")
return {"unsubscribed": len(gone)}FAQ
Common questions
How does it know who unsubscribed yesterday?
Will I get an email on days with no unsubscribes?
Does the email include the reason for leaving?
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 a Monday summary of last week's email results
Every Monday I see opens and clicks for each email sent the week before.
See how it worksGet an email for each new Constant Contact contact
Within 15 minutes of someone joining my list, I get their name and email.
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 “See who unsubscribed yesterday” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.
