Domain Monitor / Blog
Domain Renewal Tracker for Agencies: How to Manage Client Domains
Most domain-tracking content is written for investors hunting expired drops. Agencies have a different problem: keeping client domains alive across many registrars and reporting on it without anything slipping through. Here's how.
If you run an agency or freelance for clients with multiple domains, you've probably had this conversation in your head at 9pm: "wait, did the renewal for that client's primary domain go through this week?" The dread is real. Most agency systems don't catch the problem until it's too late.
Below: the methods that work at agency scale, plus the client-communication side most monitoring guides skip.
The short answer
- Solo freelancer, 5-10 client domains: a spreadsheet plus calendar reminders is technically enough, but fragile. Worth $5-7 a month for a dedicated tracker just for sanity.
- Small agency, 10-50 client domains: a dedicated domain monitoring tool. Spreadsheets break down at this scale.
- Mid-size agency, 50-500 client domains: a dedicated tracker with bulk-add or API import. Some integrate with registrar APIs to sync automatically.
- Large agency or MSP, 500+ domains: a tracker with API access, plus integration with your existing PSA software. Some agencies build internal dashboards on top of monitoring APIs.
Why agencies need a different approach
Domain investor content treats domains like assets in your portfolio: things you own and control. Agency portfolios are nothing like that. The complications:
- You don't always control the registrar. Some clients keep their domains in their own GoDaddy or Namecheap accounts. You're responsible for renewals but you can't see the renewal status from inside the account.
- Multiple registrars per client portfolio. One agency commonly manages domains across GoDaddy, Namecheap, Cloudflare, Porkbun, and several niche registrars. No single registrar dashboard covers them all.
- Multiple stakeholders need notifications. You need to know early. The client's accounting team needs to approve payment. The client's CEO might need a heads-up. Alert routing matters.
- The cost of a miss is reputational. A domain investor who misses a drop loses opportunity. An agency that lets a client's domain expire loses the client, often plus referrals.
None of the popular "how to track expired domains" content addresses any of this. It's written for a different reader.
Method 1: Spreadsheet plus calendar reminders
The default starting point. A Google Sheet with columns for client name, domain, registrar, expiration date, and renewal status, plus calendar reminders 60 and 14 days before each expiry. Free, familiar, easy to share with clients if needed.
When this works: small portfolios (under 10 domains), one person handling renewals, all clients you have good ongoing communication with. You catch the calendar reminder, you go renew, the system holds.
When it breaks:
- It's manual. Adding a new client domain means remembering to add it to the sheet and set the reminder. The first time you forget, you have a gap.
- It doesn't catch transfers. If a client moves their domain elsewhere, the spreadsheet has no idea. Your reminder fires for a domain that's no longer your responsibility.
- It doesn't catch status changes. A domain in
clientHoldisn't going to resolve even though it's technically registered. The sheet says "fine." The website is down. You find out from the angry client. - It scales linearly with your headache. 20 domains is annoying, 50 is brittle, 100 is impossible.
Method 2: Each registrar's own dashboard
GoDaddy, Namecheap, Porkbun, Cloudflare all have multi-domain dashboards. If you happen to keep all your client domains in one registrar account, you can use the registrar's expiration alerts.
When this works: you've consolidated everything into one registrar that you own. Rare in practice; possible for newer agencies.
When it doesn't:
- Most agency portfolios span multiple registrars. A registrar dashboard can't see what's in another registrar's account.
- Client-owned accounts are invisible to you. You can monitor what's in your account; you can't monitor what's in theirs.
- Registrar alert emails are best-effort. They land in spam, they get archived without reading, the address on file goes stale. Independent monitoring is a backup against all three.
Method 3: A dedicated domain monitoring tool
This is where most agencies land. You add the domains you're tracking (by name only - no registrar access needed), the tool queries WHOIS on a schedule, and alerts you on status changes and upcoming expiry. Works across registrars, works whether or not the client owns the account.
The category breaks into a few patterns:
- Focused trackers: tools that do domain monitoring and nothing else. Lower priced (typically $5-15 a month for a typical agency portfolio), faster to set up. Examples include TrackMyDomains, TrackDomain, and Domain Monitor.
- Bundled monitoring suites: UptimeRobot, Better Stack, Pinger Man, Site24x7 - tools that mostly do website uptime monitoring and treat domain expiration as one feature among many. Worth picking only if you already need the uptime side. Otherwise the domain feature is bolted on rather than designed in.
- Domain portfolio management suites: DomainPunch and similar bundle DNS monitoring, SSL tracking, and ownership records alongside expiration. Higher priced. Useful for larger agencies that want one tool for the whole infrastructure picture.
The underlying mechanism for all of these is the same: WHOIS monitoring on a schedule, with notifications when something changes. The differences are in how many channels they support (email, Telegram, Slack, SMS, webhook), how they handle bulk import, and whether they offer client-facing reports.
What to compare:
- Domain count limits. Pricing usually scales by number of domains monitored. Pick a tier that fits your current portfolio plus 50% headroom for growth.
- Check frequency. Daily is fine until you're within 30 days of expiry. Hourly matters near expiration to catch status changes quickly.
- Alert channels. Email is universal. Slack and webhooks matter if you have a team workflow. SMS matters if a missed renewal is a paging-the-on-call kind of event.
- Bulk import / API. Migrating 50+ domains by hand is a slog. Bulk upload by CSV or API matters once you cross a couple dozen domains.
- Client-facing reports. Some tools generate PDFs or shareable dashboards you can send clients. Useful when clients want monthly reports on what you're tracking.
Method 4: PSA / agency management software
If you're already running Atera, HaloPSA, ConnectWise, or another PSA platform, some of them include domain expiration tracking as part of their asset management module. The integration is tighter (the domain is connected to the client record, the ticket, the invoicing) but the price is much higher: $50-200 per technician per month for the platform.
When it makes sense: you already use a PSA for other reasons (ticketing, time tracking, invoicing), domain tracking is a small add-on, and you value having everything in one system.
When it doesn't: if domain tracking is the primary problem you're solving, a $7-a-month dedicated tracker does the job for one-tenth the cost of a PSA seat. PSAs are bought for the ticketing and billing capabilities, not the domain tracking.
What to track beyond expiry dates
Pure expiration tracking is the obvious signal. A more complete agency monitoring setup also watches:
- WHOIS status changes. Statuses like
clientHold,redemptionPeriod, andpendingDeletetell you exactly where in the lifecycle a domain sits.clientHoldmeans DNS isn't resolving even though the domain is registered - the client's site is down, but your spreadsheet still says "active." - Auto-renewal status. If the registrar shows auto-renew "off" for a domain that was supposed to renew automatically, you want to know before the deadline.
- Nameserver changes. If a client's domain nameservers change without your knowledge, it's either a configuration mistake or unauthorized access. Either way, you want to catch it.
- Registrar transfers. The WHOIS record updates when a domain moves registrars. If a client transfers without telling you, your monitoring catches it.
- SSL certificate expiry. Separate from domain expiry but often handled by the same monitoring tool. A site with an expired cert looks broken even though the domain is fine.
Multi-stakeholder alert strategy
This is the part most monitoring tools don't help you with: who gets notified, when, and what the message says. Agency alert design needs to handle internal alerts (you and your team) and client alerts (the client themselves), and the two have different timing and tone.
Internal alerts (you and your team):
- 60 days out: first heads-up. Time to check that auto-renewal is on and the payment method is current.
- 30 days out: if you haven't confirmed renewal yet, this is the action signal.
- 14 days out: escalation. Send to a second channel (Slack as well as email).
- 7 days out: emergency. Pager-style alert if the team has one.
- 1 day out: last call. Catches credit-card-on-file failures.
Client alerts (the client's stakeholders):
- 60 days out: friendly heads-up that the renewal is coming. Confirms billing details if needed.
- 14 days out: action-required reminder if anything still needs the client's approval or input.
- Never send the client emergency-tier alerts. 7-day and 1-day notifications are for you to handle, not for the client to stress about. If you escalate that to the client, you're signaling that your system isn't working.
Most dedicated trackers let you set up multiple notification rules per domain. Configure internal and client channels separately so the timing and message can differ.
Client communication template
What to send the client. Two templates that cover most agency-side communications.
60-day heads-up:
Subject: Heads up: [example.com] renewal in 60 days Hi [Client], Your domain example.com is up for renewal on [date]. The auto-renewal at [registrar] is currently set to [on/off], and the registered payment method is [last 4 digits]. You don't need to do anything if everything looks right. If you'd like to change auto-renewal or update payment, let me know and I'll handle it. [Your name]
14-day action-required reminder (only when action is needed):
Subject: Action needed: [example.com] renewal in 14 days Hi [Client], The renewal for example.com is in 14 days and [specific reason action is needed - e.g. "auto-renewal is off and we need your authorization to renew" or "the payment method on file expired"]. Reply to confirm and I'll process the renewal. If I don't hear back by [date - usually 7 days before expiry], the domain will lapse. [Your name]
Keep the language plain and the action specific. Clients ignore vague reminders. They respond to a clear question with a clear deadline.
Decision framework by agency size
Pick your stack based on portfolio size and operational maturity:
- 1-10 client domains, solo: spreadsheet plus calendar works, but add a free tier of a domain monitoring tool as a safety net. Most have free tiers for the first 3 domains.
- 10-50 domains, small team: a focused tracker. $7-15 a month. Add bulk import to set up quickly. Pick one with multi-channel alerts (email plus Slack at minimum).
- 50-500 domains, mid-size: tracker with API access. Some have client-facing report generators which save reporting time. Pricing typically scales by domain count.
- 500+ domains, MSP or large agency: either a tracker with strong API access and webhooks (so you can plumb it into your existing tooling), or a PSA platform if you already use one. The internal automation around the alerts becomes as important as the alerts themselves.
Common pitfalls
Trusting the registrar's renewal email
Registrar reminders are best-effort. They land in spam, the address on file goes stale, the team member who used to monitor that inbox left the agency. Independent monitoring is the backstop. If your only alert system is the registrar's, you're one bounced email away from a problem.
Not tracking domains in client-owned accounts
Some agencies only track what they can see inside their own registrar accounts. WHOIS-based monitoring works regardless of who owns the account, so you can track every client domain you're responsible for without needing access to client registrar logins.
Sending clients too many alerts
Sending the client a renewal reminder at 60, 45, 30, 14, 7, and 1 day trains them to ignore the messages. The 14-day "action needed" message gets buried in their archive of automated reminders. Pick two client-facing alerts max (typically 60 and 14 days) and keep the rest internal.
Treating domain tracking like a hobby
If a missed renewal means losing a client and several thousand dollars in retainer, paying $7 a month for tracking is comically cheap insurance. Agencies that try to do it with a free spreadsheet because "we're saving on tools" usually pay the cost back in stress, missed renewals, and the occasional client-loss incident.
Frequently asked questions
Who pays when a client's domain accidentally expires?
Legally, the registrant on file. Practically, who pays the redemption fee depends on your client agreement and what caused the lapse. If the client's credit card on file expired, that's their problem. If you were responsible for renewals and missed it, the agency typically eats the redemption fee to preserve the relationship. Either way, the cost is real (often $80-150 above renewal price) and the client trust damage is worse. Avoiding the lapse is always cheaper than the recovery.
How do I track domains that are in the client's registrar account, not mine?
WHOIS-based monitoring tools work regardless of who controls the registrar account. You add the domain by name, the tool queries the public WHOIS record on a schedule, and alerts you on status changes. You never need access to the client's registrar account. This is the only practical approach when client portfolios span multiple registrars with mixed ownership.
What's the difference between domain tracking and PSA software?
Domain tracking tools are focused on watching domain expiration and status changes. PSA software (Atera, HaloPSA, ConnectWise) is broader: ticketing, invoicing, time tracking, asset management. PSAs can include domain tracking as one feature, but they cost $50-200 per technician per month and are overkill if domain expiration is the only problem you need to solve. Dedicated trackers cost $5-20 a month for the same domain-tracking job.
How early should I notify clients about renewals?
Internally, alert yourself at 60, 30, 14, 7, and 1 day before expiry. For clients, the standard pattern is 60 days (heads-up) and 14 days (action-required reminder). More than that becomes spam and trains them to ignore your messages. Reserve emergency-frequency alerts (1 day, day-of) for internal use only.
Should I include domain renewal as a billable line item?
Most agencies pass through registrar costs at cost or with a small markup, then bill a separate domain management fee (often $5-25 per domain per year) for the tracking and admin overhead. Bundling renewals into a maintenance retainer also works and is simpler for the client. The wrong approach is doing it for free - someone has to absorb the cost of the tooling and the staff time spent monitoring.
What happens if a client transfers their domain to another registrar without telling me?
WHOIS-based monitoring catches this. When a transfer completes, the WHOIS record updates with a new registrar. A good monitoring tool flags the change so you know to update your records or follow up with the client. Spreadsheet-based tracking can't catch this because nothing in your spreadsheet auto-updates.
Related reading
If you want more on the underlying mechanics:
- How WHOIS-based monitoring works at the protocol level and why some TLDs hide expiry: the complete guide to domain expiration monitoring.
- A broader comparison of every kind of tool in the expired-domain space (lists, finders, drop-catchers, monitoring): tools for tracking expired domains.
Want a tracker built for agency portfolios?
Domain Monitor tracks WHOIS for up to 100 domains on the Pro plan, with hourly checks and alerts on email and Telegram. Add client domains by name regardless of which registrar they're in. Free for 3 domains, $7/month for 100.