Why marketing agencies lose accounts they could have saved.
A retainer client doesn't cancel on the day the email lands. They cancel ninety days earlier, in a series of small, easily-missed shifts. Your campaign-performance dashboard reports glowing numbers right up to the goodbye. Here's what it never shows you.
Every agency owner I've talked to in the last twelve months has a version of the same story. The cancellation email arrived on a Friday. CTR was up. CPL was down. The client had been "happy" at the last QBR. The team was blindsided. Inside a week, the head of growth was rewriting the agency's positioning deck and the founder was calling old clients to plug the hole.
I'm not going to tell you that story is your fault. It's a structural problem. You measure what your tools measure, and your tools measure campaign performance. But campaigns aren't what gets cancelled. The relationship gets cancelled. And the relationship has its own telemetry — one your stack doesn't aggregate.
The 90-day silent decay
If you go back through the last five accounts you lost and reconstruct the timeline honestly, you'll find the same shape. Roughly three months before the cancellation, a small thing changes. The client stops replying to your weekly recap email within a day. They start with the same energy — "great work this month!" — but the reply lands on Wednesday instead of Monday.
Two months out, the weekly check-in slips. Maybe just once. The client's PM is "slammed with a launch." It reschedules. It reschedules again. Nobody on your side flags it because individually it's nothing. Collectively it's the start.
Six weeks out, the campaign engagement on the client's own audience starts drifting. Not the metrics you ship them — those still look fine on a 30-day rolling chart. The actual people on the other end of those campaigns are clicking less, opening less, replying less. Your reports lag the audience by 30 to 60 days; the audience knows before you do.
Four weeks out, the invoice goes from net-15 to net-30 to "we're processing it through our new finance team." The accounts manager nods sympathetically. They don't connect it to the missed checkins.
Two weeks out, your point of contact stops being copied on internal emails. The new VP of Marketing — who was hired in February and who you've never spoken to — is asking about "the agency situation" in a Slack channel you'll never see.
Then the email arrives.
What your dashboard told you instead
Your reporting stack told you something completely different over the same ninety days. CTR up 4 percent. CPM down. Three new creatives in market. One A/B test won. Conversion rate held steady within margin. You shipped it to the client every Monday in a clean PDF and they replied with a thumbs-up emoji.
None of that was wrong. It was just irrelevant to the question of whether they were going to renew. Campaign performance and client retention are two different things. They overlap, but they aren't the same metric. An agency can have a banner quarter on every campaign KPI and still lose three accounts. You probably know one that did.
The five signals that actually matter
Here's the inventory of things that drift in those 90 days — the ones we built ClientPulse to aggregate, because no individual tool surfaces them on their own.
Why nobody catches it
The honest reason: every signal sits in a different tool. Email cadence is in Gmail. Checkin reschedules are in Google Calendar. Asana shows comment frequency. ClickUp shows task ownership shifts. GA4 shows audience drift. Notion holds the QBR notes nobody re-reads. The invoicing system is its own island. And the relationship lives nowhere — or, if you're disciplined, in a CRM field that gets updated quarterly, which is to say almost never.
An account manager would have to manually check eight tools every Monday to see the pattern. Nobody does. So nobody catches it. So you lose two retainers a year that you could have saved with a Wednesday phone call in week six.
What we built, and what it actually does
ClientPulse is the operating layer underneath this. It pulls signal from the tools you already run — for marketing agencies that's GA4, Meta Ads, Google Ads, Asana, ClickUp, and Notion on the vertical side, plus the eight portable-core sources every retainer business has (Gmail, Google Calendar, Slack, HubSpot, Stripe, in-app NPS, ContentPulse for the agencies that publish in client voice, and a generic webhook). Twenty-five source categories in total. The math runs nightly. You wake up to a client list with green / yellow / red flags and a one-sentence reason for each.
ContentPulse and in-app NPS ingest live signal today. HubSpot OAuth is wired and live. Additional sources are rolling out on a regular cadence — check the product for the latest status.
The product isn't magic. It's a single dashboard that does what your team can't sustainably do by hand: read every signal every day and surface the ones that matter. The marketable outcome is exactly one sentence: catch retention risks 6–12 weeks earlier — and get sharper over time as your outcomes feed back. Save 2 accounts per quarter. If your average retainer is $4k a month, that's roughly $96k of preserved annual revenue per saved account. Two of those is $192k. We charge $99 to $799 a month for the whole thing.
What to do this week, even without us
Three things you can do on Monday morning that don't require buying anything:
- Pull your last five lost retainers and reconstruct the 90-day timeline. Look at email reply cadence in Gmail (sort by sender, look at gaps). Check the calendar history for reschedules. Pull the Asana / ClickUp comment timeline. You'll see the same pattern in at least three of the five.
- Pick your three highest-revenue accounts and check the same signals manually. If any of them already show drift, you've found the call to make this Wednesday.
- Decide who on your team owns "client health" as a weekly five-minute scan. Not the AM — they're too close. Someone with cross-account view. If that person doesn't exist, you've identified your bottleneck.
Doing those three things by hand is roughly two hours a week per ten clients. It's not glamorous and it doesn't scale past about thirty accounts. But it's the work, and it's the work that prevents the Friday email.
If you'd rather not do it by hand
That's why ClientPulse exists. It's GA — you can buy it today, no application, no waitlist. The marketing-vertical pricing is straightforward:
- Starter $99/mo — up to 10 clients, 1 seat, core signal sources.
- Pro $299/mo — up to 50 clients, 3 seats with role scoping, weekly digest emails to whoever owns retention.
- Agency $799/mo — unlimited clients, 10 seats with role scoping and backup cover, vertical presets, custom signals.
There's no annual contract, no setup fee, and the demo runs in your browser without an account.
See your own client list, color-coded.
The browser demo loads sample data from a fictional 18-client agency. Five minutes of clicking and you'll know whether this is the thing you've been missing. No account, no card.
$99 / $299 / $799 per month · Cancel anytime · Stripe-secured · Stuttgart, Germany.