Link Health Monitoring: Broken Links, SSL Failures, Downtime
Link health monitoring catches broken destinations, SSL failures and downtime before your audience does. Here's how to set it up and what it checks.

Say you send a campaign to 40,000 subscribers. The link in the footer points to a product page that was quietly archived two weeks ago. Nobody set a redirect, and nobody checked. The clicks land on a 404. By the time someone spots it in the performance data, you've burned a solid chunk of your send budget on traffic that went nowhere.
That's the clearest argument for link health monitoring. But dead destinations are only one failure mode.
SSL certificates expire. Servers go down at 2am on a Saturday. Pages move without forwarding rules in place. Third-party landing pages get restructured by an agency that wasn't thinking about your URLs. A link that worked perfectly during QA can quietly rot over weeks, and if you're not watching it, you'll hear about it from a frustrated user long before you see it in a dashboard.
Acturity's link health monitoring checks your destinations on a schedule, so you're not dependent on someone noticing something looks off. This post covers what it checks, what it doesn't, and how to set it up so it helps.
The Ways a Link Dies
Most people picture a 404 when they hear "broken link." That's too narrow.
Dead destinations are the obvious one. The URL returns a 4xx or 5xx error because the page was deleted, the server fell over, or the site got restructured without anyone thinking about existing paths. Easy to understand, annoying to catch if you're not watching.
SSL failures are sneakier. The certificate expired, the domain changed, or a CDN kept serving an old certificate for longer than expected. Whatever the cause, visitors hit a full-browser warning that says their connection is not private. Most of them will leave. Your link is technically live. It's just useless.
Then there are redirect chains. The URL resolves, but only through four or five hops, some of which may loop and some of which may land somewhere unintended. These slow the page down and can wreck attribution data. Our guide on how link redirects work shows what happens at each hop.
And there's response time. A destination that takes eleven seconds to load isn't broken in the traditional sense, but on a mobile connection it might as well be. People don't wait. They leave, and you never hear why.
SSL Failures Nobody Sees Coming
SSL is one of those things teams assume is handled. Auto-renewal is configured, the certificate manager runs on schedule, everything is fine. Except when it isn't.
Auto-renewal can fail. A DNS change breaks the validation check. A domain transfer leaves a gap in the certificate chain. A CDN keeps serving a cached certificate past its expiry because the update didn't propagate. In each case the certificate lapses and nobody on your team gets a calendar reminder, because the assumption was that it would just work.
This gets particularly rough for QR codes tied to physical campaigns, such as print, packaging and retail signage. You can't push a software update to a sticker on a shelf. If the destination's SSL fails two months after your campaign launch, those scans stop working while the physical material is still out there.
SSL monitoring isn't just checking that a certificate exists. You want to know whether it's valid and when it expires, and a certificate that's issued to the wrong domain still throws a full browser warning. Acturity's check records both for HTTPS destinations: whether the certificate is valid, and when it expires.
Checking Once vs. Watching Always
A one-off scan works fine for a static site with a few hundred pages you control. Run a tool, get a list, fix the issues.
It doesn't work for short links pointing outside your domain. Third-party landing pages, affiliate destinations, partner microsites. You have no say over when those change. Partners update their site structure. Campaigns expire. Agencies rebuild pages without thinking about URLs that are still live in emails you sent six months ago.
The real difference between scanning and monitoring is the schedule. Keeping tabs on your link performance data is more valuable when it's continuous, because the failure you care about didn't happen when you last ran a report. It happened Wednesday afternoon, while your paid ads were still running.
What Acturity's Link Health Checks Do
Health monitoring is off until you turn it on for a link, up to your account's limit. Open the link's settings and switch it on in the health monitoring section. We made it opt-in so that links you don't care about don't produce alerts.
Once it's on, Acturity requests the link's saved destination on a schedule. The loop runs every five minutes, and you can't change that per account or per link. Busy links go to the front of the queue. A destination that keeps failing is rechecked less often, with the wait growing up to an hour, so a dead site isn't hit again and again.
Each check looks at four things.
- The HTTP status code. A 2xx or 3xx answer counts as healthy. A 4xx answer marks the link as degraded. A 5xx answer, or no answer at all, marks it as unhealthy
- Response time. Slower than three seconds counts as degraded. The check waits five seconds for an answer before it gives up
- SSL certificate. For HTTPS destinations, whether the certificate is valid and when it expires
- Uptime. The share of checks over the last 24 hours that came back healthy
One limit you should know about. The check requests the destination address you saved and does not follow redirects. If that address answers with a redirect, the check counts the redirect itself as healthy and never looks at the page behind it. If your destination is a redirect to somewhere else, test the final page by hand now and then.
You can see a link's health status on its detail page in the analytics dashboard, next to its click data. If a link is getting traffic and its destination is returning 503s, both facts are visible in one place.
When an Alert Fires
For links with monitoring turned on, Acturity watches for the moment a link goes from healthy to not healthy. When that happens, the owners and admins of your account get a notification in the app, and an email if they've turned on health alert emails in their notification settings. A link that goes back to healthy sends a recovery notice. To avoid floods, the same link raises at most one alert an hour.
When you get one, first check whether the failure is sustained or a blip. Servers hiccup. A 30-second outage that fixed itself is different from a destination that's been returning errors for two hours.
If it's sustained, you have two paths.
- Edit the link to point at a fallback page while the original destination gets fixed
- Deactivate the link if there's no usable fallback right now
You can change a link's destination without touching the short link, which is the reason a printed QR code survives a broken page. Either way, the alert gives you a head start. You find out when the monitor next runs, not days later when someone notices the click rate dropped.
Getting Alerts to the Right Person
Nobody wants to log into a dashboard to find out something's broken. Health alerts go to your account's owners and admins, so think about who holds those roles.
If one person runs the email campaigns and another runs the paid ads, an alert that lands only with an account admin might not reach the person who can fix the destination. Agree on who forwards what. That's a small process question, and it's worth settling before an incident and not during one.
We don't send health changes out as webhook events, so you can't route them straight into a chat tool or an on-call rotation today. If you want that, the API has an on-demand check you can call with a destination address, and a short script that runs on a schedule can call it and post the result wherever your team looks. Our post on automating link workflows covers what webhooks can do today.
FAQ
How often do health checks run?
The check loop runs every five minutes. The schedule is set by Acturity and isn't configurable per account or per link. Links with the most traffic are checked first, and a destination that keeps failing is rechecked less often.
Does monitoring cover links I haven't touched recently?
Only links that have health monitoring turned on, and only while the link is active. Old links sometimes receive unexpected traffic when content gets republished or shared again, so it's worth turning monitoring on for any older link that still matters, up to your account's limit.
Can I trigger a check outside the schedule?
Yes. Through the API you can run an on-demand health check against a destination address. It's useful before a campaign goes live, or right after you've updated a destination and want to confirm the fix worked.
Your links aren't static. Destinations change, certificates expire, servers go down at inconvenient times. And your audience doesn't distinguish between "the link was broken" and "this company sent me something broken." It all lands the same way.
Switch on link health monitoring for the links that carry your campaigns. Finding out about a broken link within minutes instead of days is what makes it worth it.