The handoff
A domain renewing to a dead credit card, and the uncomfortable fact that doing this properly makes you easier to leave.
Earlier this year I picked up a site whose previous agency had gone under about 14 months before. Nothing dramatic, they’d wound up quietly, everyone moved on.
The client’s domain was registered to a personal account belonging to a director of that company, renewing annually on a card that no longer existed. Nobody knew this. We found out because the renewal notice bounced to an address at the dead company’s domain, which was itself about to lapse, and the only reason anyone noticed was that a registrar sends a second warning to the technical contact, who happened to be a freelancer the client still occasionally used.
The business had been about five weeks from losing its own name on the internet. 22 years of trading, all their email, every printed thing they’d ever produced. And the actual asset, the thing you could not buy back at any price, was sitting in someone’s abandoned personal account.
That’s the extreme version. The ordinary version is much more common and only differs by degree.
It’s almost never malice
I want to be fair here, because there’s a version of this that’s about agencies holding clients hostage, and that does happen and I’ve heard the stories. But nearly every case I’ve personally seen was convenience, compounded.
Day one of a project, you need a domain. Procurement at the client’s end takes three weeks and the developer needs it this afternoon, so somebody puts it on the company card and says they’ll sort it out later. They mean it.
Same with hosting, because it’s easier to put another site on the account you already have. Same with the analytics property, because you’re already logged in. Same with the repository, because it’s your organization on GitHub and adding a repo takes four seconds.
None of those is a decision to own the client’s business. Each one is a decision to not spend 40 minutes on admin on a Tuesday. And then eight years go by, and the person who made all of them has left, and now it’s a structural fact about the relationship that nobody in the room chose.
Nobody decided to own the client's business. Somebody decided not to spend forty minutes on admin, eight years ago, four times.
Every account, in their name
So here’s the list I now go through, and I go through it at the start rather than at the end. The rule for every line is the same: the account is in the client’s name, with their billing details, and I’m added to it as a user.
The domain. Registered to the client’s own account at a registrar, with the client’s card, and with the registrant and admin contacts being real people who still work there. Everything else on this list is replaceable. This one isn’t.
DNS. Often the same place, often not. Whoever controls DNS controls where the site and the email actually go, and it’s the single most common thing nobody can find on launch day.
Hosting. Their account, their card. If you’re reselling hosting as part of a retainer, that’s a legitimate business model and I’ve done it, but be explicit about what happens when the retainer ends and write down whether they can take the site with them.
The repository. This is the one developers are worst at, because it feels like ours. It isn’t. They paid for it. It should sit in an organization they own, with you as a collaborator.
The CMS admin. An actual administrator account belonging to a named person at the client, not a shared admin login that three agencies have used.
Analytics. More on this below, it’s the worst one.
Everything the business runs through. The mailing list, the payment provider, the booking system, the Google Business listing, the SSL if it isn’t automatic now. Anything with a login and a bill.
Analytics is always the one
Every other item on that list, if it goes wrong, costs money and a bad two weeks. Analytics is different because what you lose is not recoverable at any price.
The default failure is that the property lives inside the agency’s account and the client is added as a user. That looks identical to the right arrangement from the client’s side. They log in, they see their data, everything’s fine. But the property belongs to an account they don’t control, and when the relationship ends you’re either migrating it, which is fiddly and nobody bothers, or they’re starting a new property with no history in it.
Four years of seasonality, gone. The comparison against last Christmas, gone. The thing you’d point at to argue for the next piece of work, gone.
It’s a property, not an event
The word “handoff” is doing damage, I think, because it implies a moment near the end of a project when you hand over a folder.
That moment is the worst possible time to do any of this. The project is over, the budget is spent, everyone’s attention has moved, and you’re asking a client to create seven accounts as the final act of a relationship they thought was finishing. Nobody has energy for it and it gets deferred and then it never happens.
So it’s a thing you set up in week one and maintain, and the deliverable at the end is just a document that lists what already exists. One page. Every account, who owns it, which email address the login is attached to, and where the password lives. I keep it in a shared vault with the client, which took a couple of conversations to sell and has been worth it every time.
And if a client insists you hold something, fine, that’s their call. Write down that it’s their call and where it is, because the problem was never one agency holding a domain. The problem is that nobody knew.
Easy to leave
Doing all of this properly makes you very easy to leave. That’s not a side effect, that’s the whole point of it, and it would be dishonest to pretend it costs nothing. A client who owns everything can go and get three quotes tomorrow and you’d never even know it had happened.
I’ve talked myself around to it on grounds that aren’t purely noble. A client who feels stuck is not a happy client, they’re a client waiting for an opportunity, and in my experience they take it at the first opportunity and they tell people why. Whereas a client who knows they could leave and stays anyway is choosing you every year, which is a better business to be in and a much better one to work in.
But I’d also just say: it’s their business. The site is a thing they paid for and their name on the internet is not a bargaining chip, and I’d want to be able to say that plainly without dressing it up as strategy.
The same post, a third time
This is the same post as the README one from October, and the support matrix one from January, which I’m now noticing is a pattern in what I write about. All three are 20 minutes at the start of a project, in exchange for not losing a week at the end of one.
I don’t think that’s an accident. The expensive failures in this job are almost never technical. They’re a thing nobody wrote down, discovered by someone who wasn’t there when it happened.