Search for “client deadline tracker” and you get invoices, VAT returns, tax filings. Everything out there is built for the accountant: a date, an amount, a checkbox when it’s done. For a web agency that model doesn’t hold, and not because some feature is missing.
An agency deadline has four dimensions instead of one. There’s the client you’re managing it for, the service that expires, the supplier you buy it from, and the margin between what you pay and what you resell it for. Take any one of them away and the tracker stops answering the questions you actually ask: not “what expires on 12 March”, but “which clients do I need to chase this week” and “am I still making money on this hosting?”.
Below you’ll find what a deadline that works looks like, why statuses matter more than dates, the three views to keep within reach, and an honest comparison between a spreadsheet, a dedicated tool and a CRM — including when the spreadsheet is perfectly fine as it is.
What a deadline actually needs to contain
Most homemade trackers have two columns: client and date. Those are the two pieces of information you need least, because they’re the only ones you already keep in your head. The value is in everything around them.
- Client and contact. The person who decides and the person who pays are often not the same. If all you have is the company name, when the reminder goes out you don’t know who to write to.
- Service and type. Domain, hosting, certified email, antispam, cloud, maintenance. The type is what lets you filter: the question you ask is “how many domains expire in March”, not “what expires in March”.
- Supplier. Where the renewal actually happens, and therefore where the cost comes from.
- Date and renewal mode. Automatic or manual: it completely changes what you have to do and when.
- Cost and price. Two separate columns, never one.
- Status. Where the job stands, not where the calendar stands.
The field almost everyone skips is the supplier, and it looks like the most harmless one. In reality it’s what brings the cost in: without cost there’s no margin, and without margin the tracker tells you what you have to do but not whether it’s worth doing. That’s how agencies end up reselling a hosting plan at the same price for years while the supplier keeps adjusting its rates, and only notice when someone does the maths.
Statuses: the concept that changes everything
A date tells you when. A status tells you where you stand. That’s the difference between a list and a flow, and it’s why a tracker made only of dates ages badly: halfway through the month you no longer know which rows you’ve already worked on.
A set that works is short: to renew, notified, awaiting payment, paid, cancelled. Five, six at most. Past that threshold nobody updates them any more and everything drifts back to “to do”. It’s worth defining them before you start filling anything in, because changing them later means rereading every row.
The status is also the only thing that makes the rest automatable. A rule like “send the reminder 30 days before” only makes sense if the system knows that reminder hasn’t already gone out: without a status, either nothing goes out or it goes out three times. If you want to see a set of statuses and types that’s already been road-tested, there’s one in the deadline management documentation.
The three views you need every day
You never read a deadline tracker end to end. You look at it from three angles, and if you can’t get them in a few seconds the tool is working against you.
- What expires this month. The operational view, the one you open on Monday. It has to be sorted by date and show the status alongside, otherwise you’re back to checking row by row what you’ve already handled.
- Who hasn’t paid yet. The view that recovers the money. When you handle renewals on your clients’ behalf, you’re the one fronting the cash: the supplier gets paid on the expiry date, the client pays you whenever they feel like it. Without this view the receivable sits scattered among everything else and you find out at the end of the quarter.
- What the recurring revenue is worth per client. The view nobody builds, and the one you actually need in order to decide. Adding up the annual margin per client tells you two uncomfortable things: which clients genuinely carry your recurring revenue, and which ones cost you more time than they bring in.
The third view is what turns the tracker from a list of chores into a decision-making tool, and it’s the reason the cost and price columns are worth the pedantry of keeping them apart.
Keeping it current without it becoming a second job
Deadline trackers don’t die because they’re badly built. They die because nobody decides who updates them and when, and two months later they hold stale data — which is worse than having none, because you trust it.
Two rules are enough. First: you update it when the status changes, not when the supplier’s email arrives — if you wait for the provider’s notice, the tracker becomes a lagging copy of your inbox. Second: one fixed slot a week, twenty minutes, always the same day.
On automation, a counterintuitive piece of advice: it isn’t the first step, it’s the third. First the inventory, then the statuses, then possibly the automatic reminders to clients. Automating a process you haven’t defined yet just means making mistakes faster. When you get there, the logic behind 30, 15 and 5 day rules is described on the notifications and emails page.
Spreadsheet, dedicated tool or CRM?
The spreadsheet is the most underrated option. Below twenty clients, kept tidy, it does everything you need and costs nothing. Its limit isn’t power, it’s silence: no row moves on its own, no cell calls you. A row deleted by mistake makes no noise, and you find out eleven months later. It breaks down when more than one person touches it, or when services per client reach three or four.
The CRM looks like the natural choice because your clients are already in there. The problem is that a CRM is built around sales opportunities, not recurring services: a renewal isn’t a negotiation, and forcing it into that model produces fake pipelines and reports that don’t add up. It works if what you mainly need is the sales side and deadlines are an accessory.
A dedicated tool makes sense when you need those three views every week and you’re rebuilding them by hand each time. The cost isn’t the subscription, it’s the initial migration and the fact that it becomes one more place to keep current. If you get there before defining statuses and process, you’ve bought a more expensive spreadsheet. The full comparison with Excel is in managing deadlines in Excel: when it stops working.
The most common mistakes
- Using your inbox as the tracker. The supplier’s notice is in there, somewhere. But an archive you have to search is not an archive.
- One row per client instead of one per service. It holds while the client only has a domain. At the second service the dates overwrite each other and the row becomes unreadable.
- Trusting the supplier’s auto-renewal. It depends on a payment method. When the card expires everything fails at once, silently, and putting an expired domain back costs more than the renewal you missed.
- Not recording who the service is registered to. Who is that domain registered to, you or the client? It’s the question that always arrives at the worst moment, which is when the client leaves.
- Tracking the deadline but not the payment. Renewal done and client hasn’t paid are two different states. Merge them into a single checkbox and sooner or later you’re financing someone else’s renewals.
Where to start
- Export, don’t remember. Go into every supplier panel and export the list of active services. Something you’re paying for on behalf of a client you no longer have almost always turns up.
- One row per service. Not per client and not per invoice: the service is the unit that expires.
- Add cost and price. Even roughly. A margin that’s ten per cent off is still more useful than no margin at all.
- Define the statuses before filling anything in. Five or six, written down somewhere, the same for everyone who touches the tracker.
- Clean up your client records. The right contact and an address that actually gets answered: a perfect tracker with a wrong email notifies nobody. There are some useful criteria in the client management documentation.
- Build the three views. Even just as saved filters. If they take you more than thirty seconds to get, you won’t use them.
- Book twenty minutes a week. Then, and only then, consider automating the reminders.
How we handle it
From here on we’re talking about our own tool, so take it for what it is. Dotify was born at EnneStudio, our web agency in Padua, after we lost a client over a forgotten renewal. For years we kept deadlines in a spreadsheet, and it worked until it didn’t. The full story, including the unflattering part, is on the about page.
What we built does exactly what’s described above: one row per service with cost and price side by side, statuses that move forward when a reminder goes out, and the three views ready instead of rebuilt every Monday. We use it every day on our own clients, before yours, which means useless features tend not to survive long.
There’s a free plan if you want to try it with no commitment. And if after reading this your conclusion is that your spreadsheet is still perfectly fine, that’s a legitimate conclusion: that moment comes for everyone, but it doesn’t come for everyone right now.