← Blog

How to track 100+ client domains without a spreadsheet

By the RenewRoster team · · 7 min read

Every agency's domain tracking starts the same way: a spreadsheet with "Client", "Domain" and "Expires" columns. It works fine at 15 domains. At 50 it starts to slip. At 100 or more, it's a liability, and usually nobody notices until a client's site goes dark.

This post covers why spreadsheets fail at scale, what a reliable system actually needs, and how to move to one without a big project.

Why the spreadsheet stops working

1. The dates go stale immediately

A spreadsheet is a snapshot. The moment a domain renews, by auto-renew, by the client or by a colleague, the "Expires" column is wrong. Nobody updates it, because nothing tells them to. After a year, half the dates are out of date and people stop trusting the sheet.

2. It doesn't remind anyone

A list of dates isn't a reminder system. Someone has to open it, sort it and act. That's a habit, and habits don't survive holidays, busy launches or staff turnover.

3. It only knows what someone typed in

New projects, subdomains, a client's second brand, the mail server's certificate: if nobody adds them, they don't exist as far as the sheet is concerned.

4. It can't see certificates

Domain expiry is one number per year. Certificate expiry now changes several times a year, with public certificates capped at 200 days since March 2026 and falling to 47 days by 2029. Typing those in by hand isn't realistic.

5. It has no owner

Shared spreadsheets belong to everyone, which means no one.

What a reliable system needs

  1. A single inventory of every client domain and hostname, grouped by client.
  2. Dates pulled from the source of truth. For domains that's the registry, queried over RDAP, the structured successor to WHOIS that all generic TLDs support. For certificates it's a live TLS connection to the host, reading the certificate it actually serves.
  3. Daily re-checks, so renewals and changes appear automatically.
  4. Escalating reminders at sensible points (60, 30, 14 and 3 days) sent to a team, not one person.
  5. Client-facing reminders for domains the client pays for, so the chase doesn't depend on your account manager.
  6. Bulk import from registrars and CSV, so the inventory starts complete.
  7. A monthly report of what's renewing, for planning and billing back.

DIY options, and their limits

ApproachWorks forBreaks when
Registrar renewal emailsA few domains in one account you ownDomains span several registrars or client-owned accounts
Calendar remindersTen or so long-lived datesDates change on renewal, or certificates are involved
Spreadsheet plus scriptsTeams with a developer and timeThe script stops running and nobody notices
Uptime monitoringKnowing a site is downYou need to know before it's down. Most alert only after expiry, or check certificates but not domains.
Purpose-built renewal trackingAgencies with dozens to thousands of domains(this is what it's for)

Setting it up in an afternoon

Step 1: Collect domains from every registrar

Export each registrar account's domain list. GoDaddy, Namecheap and Spaceship have CSV exports, and Cloudflare offers an API. We've written step-by-step export instructions for each.

Step 2: Add the hostnames that matter

For each client, add www, shop, mail, portal and any other hostnames with their own certificate. Check them first with the free bulk domain + SSL checker.

Step 3: Group by client and record ownership

Tag each domain with the client, the account owner and who pays. This turns "a list of domains" into "a list of responsibilities".

Step 4: Set the alert ladder and routing

Send alerts to a shared channel your team watches, like a team inbox, Slack or Discord, not one person's email. Use 60, 30, 14 and 3 days for domains and 30, 14 and 3 for certificates.

Step 5: Turn on client reminders where the client pays

White-labelled reminders from your agency's name keep you in the loop and look professional.

Step 6: Review monthly

Fifteen minutes with a renewals report: what's coming up, what renewed, what to bill. Our renewal checklist covers the review step by step.

What this looks like in RenewRoster

RenewRoster was built for exactly this: agencies juggling client domains across registrars. You add or import domains, group them by client, and it checks domain expiry via RDAP (with a WHOIS fallback) and served certificates via live TLS connections every day. Reminders go to your team by email, Slack, Discord or webhook, and optionally to clients under your brand. A monthly CSV or PDF report shows everything renewing next month. There's also a REST API and an MCP server if you want to plug it into your own tools.

The free plan covers 5 domains and certificates, which is enough to try it on your riskiest client.

Frequently asked questions

How many domains is "too many" for a spreadsheet?

There's no hard number, but most teams find it breaks somewhere between 30 and 50 domains, or as soon as more than one person updates it. Once certificates are included, it breaks much sooner.

Can't we just turn on auto-renew everywhere?

Turn it on, definitely. But auto-renew is a payment, and payments fail: expired cards, bank declines, accounts the client closed. It also doesn't cover domains in client-owned accounts or certificates installed by hand. Tracking is what tells you when auto-renew didn't work.

Do we need access to each client's registrar account?

No. A domain's expiry date is public in the registry, so a tracker can read it via RDAP without any login. Registrar access only helps with importing lists and with actually renewing.

What about domains the client insists on managing themselves?

Track them anyway and send the client reminders. If the domain lapses, your agency still gets the support ticket, so it's worth knowing ahead of time.

Retire the renewals spreadsheet

RenewRoster tracks every client's domain and SSL expiry dates, sends reminders at 60, 30, 14 and 3 days (under your agency's brand if you like) and gives you a monthly renewals report. Free for 5 domains, no card needed.

Start free: 5 domains, no card

Sources

Keep reading

Check a domain + SSL now, free