Domain portfolio spreadsheet, and why to graduate from it
Why every domain spreadsheet eventually fails, and what to replace it with.
The first time you decide to take your domain portfolio seriously, you almost always reach for a spreadsheet. It is the right intuition: you need structure, the data is tabular, you already have Google Sheets open. Spreadsheets work fine for the first twenty or thirty domains. After that, three specific failures show up and they all hit at once.
Failure 1: the dates drift
Expiry is the most important column in your spreadsheet. It is also the column most likely to be wrong. The date in your sheet is the date you typed when you added the row, or the date you got from a half-remembered CSV export six months ago. The actual date is at the registrar. The two diverge silently.
You can refresh the column manually, but you have to remember to do it, and you have to do it across every registrar tab you have. The first time you forget is the first time you miss a renewal.
Failure 2: the structure is wrong for the question
Spreadsheets are flat. Domain portfolios are nested:
- Domains belong to projects.
- Projects have stakeholders.
- Domains live at registrars.
- Registrars have sub-accounts.
- Renewals roll up by registrar AND by project.
A flat row-per-domain works for a single dimension. The moment you want to ask “what does this client cost me per year?” or “which sub-account holds the names I want to move?” you are building pivots, and pivots in Google Sheets are not what you want to debug at 11pm.
Failure 3: there is no way to ask AI
The new failure mode, and the one that will matter more over time: AI assistants cannot query a spreadsheet directly. You can paste a range into a chat, but it is static, error-prone, and stops being useful the moment the data updates.
The future of portfolio management is conversational. “What is expiring this month?” in Claude or Cursor, with a live answer from your actual portfolio. Spreadsheets cannot do this. Lemon Domains can.
If you still want a spreadsheet
Smaller portfolios are fine in a sheet. The columns that actually earn their keep:
- Domain — full name with TLD
- Registrar — and sub-account label if relevant
- Project — the bucket this name belongs to
- Expiry date — refresh from registrar every month
- Auto-renew — yes/no, the most important boolean
- Last sync date — when you last refreshed expiry
- Bucket — keep, review, drop (see the renewal strategy guide)
- Notes — why you bought it
- Annual cost — for renewal cost totals
What you do NOT need: a column for the registrar URL, a column for DNS records, a column for nameservers. Those live at the registrar.
What to replace it with
The honest answer: a dedicated portfolio manager solves every spreadsheet failure mode at once. Lemon Domains is built for this specifically. The auto-sync handles the date drift. The project model handles the structure problem. The MCP server handles the AI gap.
See the side-by-side comparison for specifics. The short version: it is free, you can import your spreadsheet directly, and you do not have to keep paying attention to the column that used to silently lie to you.
The migration
Bring your spreadsheet over by exporting it as CSV and uploading to Lemon Domains. The import wizard maps your columns to the portfolio model. Notes survive, custom columns survive as notes, and the registrar field is converted into proper registrar account labels. Two minutes start to finish.
If you decide spreadsheets are still doing the job, that is fine. Use the column list above and set a monthly reminder to refresh the expiry column. The moment that reminder starts to feel like work, you have outgrown the spreadsheet.