---
title: "Win back churned clients after a results dip or team change | FirstSales"
description: "A playbook for agencies to reengage churned clients when their results have dipped or the person who managed the relationship has left the company."
canonical: "https://firstsales.io/tutorial/playbook-agency-churned-client-winback/"
---

[Home](/)/ [Tutorials](/tutorial/)

# Win back churned clients after a results dip or team change

A playbook for agencies to reengage churned clients when their results have dipped or the person who managed the relationship has left the company.

Tutorials

Playbooks

min read

19 min

steps

8 · Intermediate

8 steps

[01Define your churned segment and the winback trigger](#step-1)[02Import the list as a CSV rather than sourcing new leads](#step-2)[03Note the trigger in your CSV, then let research add the context](#step-3)[04Set the campaign goal and describe the winback offer](#step-4)[05Teach the AI a direct, non-desperate tone](#step-5)[06Build a short, patient sequence](#step-6)[07Handle replies, including the reason they left](#step-7)[08Track metrics and expect a higher reply rate than cold outreach](#step-8)

[All tutorials](/tutorial/)

1. ## 01 Define your churned segment and the winback trigger  
This playbook targets your own past clients, not cold prospects, so the list comes from your own records. Two triggers work best: their results dipped after they left, likely from losing your team's attention, or the person who managed the relationship on their side left the company, leaving no one to keep momentum going.  
Pull together the client contacts who churned in the last six to eighteen months. Older than that, and enough may have changed that a winback reads more like a cold email than a reconnection.  
Sort the list into the two trigger types before you write anything, since the email for a results-dip winback and the email for a departed-contact winback lead with different facts, even though both end up asking for the same kind of conversation.  
Leave out clients who left on genuinely bad terms, for example a dispute over invoicing or scope. A winback email to that group is unlikely to land well regardless of how it's written, and the time is better spent on relationships that ended for ordinary reasons like budget or staffing.  
![Define your churned segment and the winback trigger](/tutorials/app/contacts.webp)
2. ## 02 Import the list as a CSV rather than sourcing new leads  
Since this is your own client history, import the list as a CSV instead of using AI Leads to find new contacts. Include whatever you have: the original contact, their role at the time, and roughly when and why the relationship ended, since that context shapes what you write in Teach.  
If the original contact has since left the company, decide upfront whether you're reaching out to them at their new company or to whoever replaced them at the old one. These are two different emails with two different openers, and mixing them into one campaign will weaken both.  
Keep the CSV small and specific rather than dumping every past client into one list. A winback campaign works best when every contact in it genuinely matches one of the two triggers from step one, since that's what makes the personalization in the next step possible.  
![Import the list as a CSV rather than sourcing new leads](/tutorials/app/kb.webp)
3. ## 03 Note the trigger in your CSV, then let research add the context  
Confirm the trigger yourself before you import: a quick LinkedIn check or a look at your own account notes tells you whether the departed contact is still gone and where the results dip stands. Put that in the CSV alongside the contact, since FirstSales doesn't detect a departure or a results dip on its own, it works from what you bring in.  
Once the list is imported, contact research runs automatically before drafting, and the transparency view shows what it found on each contact: company facts, role, and signals, plus what it used in the email. That's what fills in the current job title and company details around the trigger you already confirmed, so the draft isn't leaning on stale history alone.  
If your own check turns up that the original contact moved to a new company entirely, that's a different, colder email than one to someone still in the same seat, and worth moving into its own smaller campaign rather than blending it into the main winback list.
4. ## 04 Set the campaign goal and describe the winback offer  
Set the goal to book a meeting, since reopening a past relationship usually benefits from a real conversation rather than a single reply. Campaign guidance walks through Describe, Teach, and Practice.  
In Describe, be specific about what's changed on your side since they left, if anything, and what a restart would actually look like. A winback offer that's identical to what they had before gives them no new reason to come back. If pricing, scope, or your team has changed since they left, say so plainly.  
Use Practice to confirm the drafts sound like they're written to someone with history, not to a stranger. If a sample draft reads like a first-touch cold email, revise what you wrote in Describe until the familiarity comes through.  
![Set the campaign goal and describe the winback offer](/tutorials/app/new.webp)
5. ## 05 Teach the AI a direct, non-desperate tone  
Paste sample emails that acknowledge the relationship ended without over-explaining it, and that lead with something concrete rather than a general "we miss working with you" line.  
> Subject: checking in on paid social  
> Hi Jordan,  
> Noticed Marisol's Kitchen's ad account has gone quiet since Priya left. Figured that role might not be backfilled yet.  
> We ran your paid social for about a year before, so we already know the account and the brand. Happy to pick it back up on a short-term basis while you're between hires, no long commitment needed.  
> Worth a quick call?  
> Dan  
The tone here states the fact plainly, offers a low-commitment restart, and doesn't apologize or oversell. That balance is what separates a winback from a desperate check-in, and it's worth reading your own samples back with that same test in mind.
6. ## 06 Build a short, patient sequence  
Sequences follow up on a delay and stop automatically once someone replies. For a winback list, two to three touches spread further apart, five to seven days rather than three, tends to land better, since you're not trying to create urgency with a stranger.  
Keep every touch anchored to the same trigger rather than introducing a new pitch each time. Consistency reads as genuine interest, and a different angle every email reads as generic sales cadence rather than an actual reconnection.  
If a contact doesn't reply to the full sequence, it's reasonable to leave that relationship alone for a while rather than restarting a new campaign against them a month later. A winback list works best when it's used sparingly against each contact, not treated like a cold list that tolerates repeated outreach.  
![Build a short, patient sequence](/tutorials/app/c-steps.webp)
7. ## 07 Handle replies, including the reason they left  
AI reply handling reads the actual content of a reply, so if someone brings up why the relationship ended, whether it was budget, results, or a change in priorities, the response addresses that directly instead of skipping past it. Review these replies closely, since getting this one wrong risks the relationship a second time.  
If the original issue was on your side, a short, direct acknowledgment before moving forward tends to land better than ignoring it and jumping straight to the offer. Prospects who bring up the past on their own are usually genuinely open to a restart, not looking for a reason to close the door.  
A reply that's simply cold, or that asks to be removed from outreach, should be respected without a second attempt. This list is smaller and more relationship-sensitive than a cold list, and pushing past a clear no here costs more goodwill than it's worth.
8. ## 08 Track metrics and expect a higher reply rate than cold outreach  
A winback list is warmer than a cold one, so expect reply and meeting rates above the saturated-market range you'd see on new agency-to-brand outreach, though the exact lift depends on how the relationship ended. Watch analytics per campaign and per step to see which trigger and which touch is converting.  
If a specific trigger, like a departed contact, consistently outperforms another, like a general results dip, prioritize future winback campaigns around that trigger, and revisit the churned-client list every quarter for new candidates.  
Treat a won-back client differently from a brand-new one for the first few months. Since the relationship has history, ask directly what would need to be different this time for it to stick, and build that answer into how you run the account rather than assuming the original approach still fits.  
![Track metrics and expect a higher reply rate than cold outreach](/tutorials/app/c-analytics.webp)

## Pro tips

* 01  
### Lead with the trigger, not the pitch  
State the specific, observable reason you're reaching back out before anything about your services. It signals you're paying attention to their situation, not running a mass list against every past client at once.
* 02  
### Offer a short-term restart, not a full commitment  
A low-commitment reentry point, like a short-term project instead of a full retainer, lowers the bar for someone who's wary of recommitting after things didn't work out the first time.
* 03  
### Address the breakup if it comes up  
If a reply raises why the relationship ended, answer it directly in one or two sentences before moving the conversation forward. Skipping it reads as avoidance, and a direct answer tends to build more trust than a smooth deflection ever does.

## Frequently asked questions

How long after a client churns should I wait before reaching out?

Three to six months is usually enough distance to make the outreach feel like a genuine check-in rather than an immediate re-pitch, though a clear trigger like a departed contact can justify reaching out sooner than that.

What if the original contact is no longer at the company?

Decide whether to reach the original contact at their new company or their replacement at the old one. Confirm which is current yourself, a quick LinkedIn check usually settles it, before you draft either version, and each version needs its own opener rather than sharing one.

Should I offer a discount to win them back?

A discount isn't necessary if the trigger is genuine, for example a staffing gap or a results dip. Lead with relevance and a low-commitment restart before considering price, and only bring price into the conversation once they've shown real interest in coming back.

How is this different from a standard reengagement sequence?

This playbook targets a specific, confirmed trigger per contact rather than a generic time-based nudge, and the tone assumes an existing relationship instead of a cold introduction from scratch, which changes both the opener and the pace of follow-up.

## Playbooks

* [└ Pitch retainer contracts to in-house marketing teams 20 min ](/tutorial/playbook-agency-retainer-pitch/)
* [└ Open cold outreach with a free channel audit 18 min ](/tutorial/playbook-agency-audit-opener/)
* [└ Build white-label partnerships with other agencies 22 min ](/tutorial/playbook-agency-whitelabel-partnerships/)
* [└ Selling your app or tool to DTC brands: a cold email playbook 18 min ](/tutorial/playbook-ecommerce-appvendor-to-brands/)

## Outreach that keeps going after you log off. Leads, emails, follow-ups and replies, handled. 

Connect unlimited mailboxes and let AI agents find leads, write each email and follow up. Or send your own templates in manual mode. From $29/mo.

[Start your $1 trial T](https://app.firstsales.io)[See pricing](/pricing/)

$1 for 3 days · Cancel anytime · No contract

## Install with AI

Your coding agent sets up the FirstSales CLI and skills for you.

Prompt for Claude Code

I'm setting up FirstSales (https://firstsales.io), an AI outbound sales platform: campaigns, contacts, a reply inbox, deliverability and lead signals. Help me get my workspace sending real, good emails end to end, from Claude Code.

Read these first so you know how FirstSales works:
- Developer docs and API: https://developer.firstsales.io
- CLI: https://www.npmjs.com/package/@firstsales.io/cli
- Skills for coding agents: https://github.com/firstsalesio/firstsales-skills (read README.md and GUIDE.md)

Setup
1. Install the CLI: npm install -g @firstsales.io/cli
2. Install the FirstSales skills:
   claude plugin marketplace add firstsalesio/firstsales-skills
   claude plugin install firstsales@firstsales
3. Ask me if I already have a FirstSales account. If not, send me to https://app.firstsales.io to sign up.
4. Ask me to create an API key under Settings → API → API Keys, with only the scopes we need.
   Never ask me to paste the key into this chat. Tell me to run this in my own terminal, so the key stays hidden:
   read -rs FS_KEY && firstsales auth login --api-key "$FS_KEY"; unset FS_KEY
5. Run `firstsales whoami` and tell me which workspace and organisation we are connected to.

Then ask me about my business: what I sell, who I sell to (roles, company size, countries), my best customers, and what I use today for outbound (tools, lists, mailboxes). Walk me through:
1. Teaching FirstSales my business: website, offer, proof points and case studies in the knowledge base, so the AI writes like someone who knows the product.
2. Connecting my sending mailboxes and checking my sending domain: SPF, DKIM, DMARC and warm-up. If anything is unhealthy, tell me the exact DNS record to add.
3. Bringing in contacts: import my CSV or CRM export into a clean list, remove duplicates and bad emails, and block domains I must never email (customers, competitors, my own).
4. Building my first campaign: the right list, senders, steps and timing. Write the sequence with me, show me the drafts, and do not launch until I say yes.
5. Setting up Signals if it fits: find people engaging with LinkedIn posts about topics my buyers care about, and turn them into leads.
6. Inviting my team and giving each person the right access.

Once campaigns run, show me how to work the reply inbox from here: which replies need an answer, draft responses in my voice, and move good conversations into deals. If I use Cal.com, connect it so follow-ups can offer my booking link (not the first email).

Throughout, as you learn about my business, proactively suggest and help create:
- Reply templates for the questions and objections my prospects are likely to raise, based on my product, site and codebase if you can see them.
- Campaign ideas and segments worth testing, with the reason for each.

Safety rules:
- Show every change as a dry run (--dry-run) first and wait for my yes. Never send emails, launch campaigns or delete anything without my yes.
- Tell me before anything that spends credits, and how many.

Be opinionated. If the docs give a sensible default, just use it. Don't make me choose between five options.

[Developer docs ↗](https://developer.firstsales.io)[npm: @firstsales.io/cli ↗](https://www.npmjs.com/package/@firstsales.io/cli)[GitHub: firstsales-skills ↗](https://github.com/firstsalesio/firstsales-skills)