Every SEO agency has an onboarding checklist. Almost none have an offboarding one. So when a client gives notice, the next 30 days turn into a scramble: half-finished content sitting in a writer's Google Drive, nobody sure who owns the GA4 property, a final invoice that gets disputed, and a client who tells three peers in a Slack community that you "made leaving difficult."
Client offboarding for SEO agencies is the structured process of closing out deliverables, transferring assets and access, settling billing, and documenting the account — usually across the 30-day contract notice period. Done well, it protects your margin, your reputation, and your odds of winning the client back in six months. Done badly, it costs you a referral source and about 12 hours of unbilled cleanup.
Why offboarding is a revenue problem, not an admin problem
Run the math on a typical 15-client agency with 25% annual churn. That's roughly four exits a year. If each messy exit burns 10-15 hours of unbilled coordination, that's 50 hours — more than a full week of senior time — spent on accounts that are no longer paying you.
Then there's the upside you're leaving on the table. Across agencies I've worked with, somewhere between 15% and 25% of churned retainer clients come back within 18 months, usually after a bad experience with an in-house hire or a cheaper vendor. But they only come back if the exit was clean. Nobody re-hires the agency that held their Search Console hostage.
The 30-day offboarding timeline
Days 1-3: Acknowledge and run the exit conversation
Reply within 24 hours, in writing, confirming the notice date and the last day of service. Don't negotiate in that email. Instead, book a 30-minute call.
The exit call has two jobs. First, agree the scope of the final 30 days — what gets finished, what gets paused, what gets handed over mid-flight. Second, find out why they're actually leaving. Ask it plainly: "If we'd done one thing differently, would you still be here?"
The honest answers are rarely "rankings didn't move." In my experience they cluster around three things: the client never understood what they were paying for, the point of contact changed internally, or budget got reallocated. Log the reason in a structured field — not a freeform note — so you can count them. If three of your last five exits cite "didn't see the value in the reporting," you have a reporting problem, not a churn problem, and rebuilding what your reports actually show is a cheaper fix than replacing four clients.
Days 5-20: Finish, document, and hand over
This is where most of the work lives. Decide what "done" means for every open item and put it in a single shared doc with owners and dates.
A realistic split for a mid-sized retainer:
- Finish: content in draft or review, technical fixes already scoped and ticketed, the current month's report.
- Hand over as-is: keyword research in progress, link prospect lists, half-built topic clusters, a 6-month roadmap they can run or give to the next agency.
- Stop: outreach campaigns that would commit you past the end date, anything requiring your tool licences to maintain.
Be explicit about that last category. If you've been running rank tracking on your Ahrefs or Semrush seat, their data stops the day you offboard. Tell them on day 5, not day 29, and export a historical CSV so they have the baseline.
Days 28-32: Access revocation and final invoice
Transfer ownership before you remove yourself. The order matters and people get it wrong constantly.
- Confirm the client has a verified owner on each property (not editor, not manager).
- Have them log in and confirm they can see the data.
- Only then remove your agency's users.
Revoke in the same session, with a witness or a screen recording if the relationship is tense. Then send the final invoice with a one-page summary of what shipped in the final month — disputed closing invoices almost always come from clients who can't see what they got for the last payment.
Day 60 onward: The win-back sequence
Set three touchpoints: day 60, day 180, day 365. Keep them short and useful, not salesy. A day-60 note flagging that their new blog template dropped the canonical tags is worth more than any "just checking in" email. Agencies that run a structured win-back sequence typically recover a meaningful slice of churned revenue at near-zero acquisition cost, because you already know the site, the stakeholders, and the history.
The asset handover pack
Build this once as a folder template and clone it for every exit. The client paid for the outputs; they didn't pay for your internal machinery. State that split in the contract so the distinction isn't a negotiation during a tense week.
Goes to the client: keyword research and mapping sheets, published and drafted content, content briefs, technical audit files and remediation logs, redirect maps, schema implementations, link profile and outreach records, GA4/GSC/GBP ownership, Looker Studio dashboards (as copies they own), tag manager containers, and a 6-12 month forward roadmap.
Stays with you: internal SOPs, prompt libraries, proprietary scripts and scrapers, pricing models, agency-licensed tool data beyond an exported snapshot, and your project templates.
One underrated deliverable: a context memo. Two pages explaining why decisions were made — why you deprioritised a page type, which dev constraints blocked a fix, which stakeholder vetoed a URL change. The next agency will thank you, the client will remember you as professional, and it takes 40 minutes.
The access audit: everywhere you still have keys
Most agencies accumulate 12-20 access points per client over a two-year engagement. Walk the list explicitly rather than from memory: GA4, Search Console, Google Business Profile, Google Tag Manager, Google Ads, Bing Webmaster Tools, CMS admin accounts, hosting and CDN, DNS, staging environments, Slack or Teams guest access, shared drives, rank tracking projects, call tracking, CRM, email platform, social accounts, and any API keys you issued.
Two more items people forget: remove the client from your internal Slack channels (or archive the channel), and check whether their logo is still on your website and case studies — confirm in writing whether that permission survives the contract.
Internal cleanup is where the margin is
The day the account closes, three things should happen inside your agency.
Reallocate capacity deliberately. If the retainer consumed 40 hours a month, that capacity doesn't vanish — it quietly gets absorbed into other accounts and your utilisation reporting goes fuzzy. Reassign it explicitly, either to a named account or to a flagged "available" bucket so sales knows what they can sell. This is the same discipline that keeps delivery predictable when you're running a dozen SE

Nick Quirk
