Domain Portfolio Spreadsheet Template

    One row per domain, every field that matters, and the cost formulas already written. Download it and start filling it in.

    A domain portfolio spreadsheet should track more than the domain and expiration date. At minimum, include registrar, renewal date, renewal cost, auto-renew status, nameservers, owner, purpose, current use, valuation source, conviction, and next action. The template below includes those fields and a portfolio-cost summary.

    Download options

    Two files, same columns, same three sample rows. The Excel version carries the working parts: dropdowns for the decision fields, a totals block with live formulas, and a five-year cost view. The CSV is the plain-text twin for Google Sheets, Numbers, or any tool that asks for one.

    No email address required for either file. People looking for a template want the template, so both links download directly.

    What each column means

    The columns follow the data dictionary from the domain portfolio management guide, with the dictionary's two combined fields split into workable columns (value and its source, action and its date) and three decision columns added: conviction, status, and notes. Nineteen columns sounds like a lot until you notice each one answers a question you would otherwise answer by logging into a registrar.

    ColumnWhat it records, and why
    Domain nameThe exact name, one row per domain. Duplicates are how a renewal gets paid twice or missed entirely.
    RegistrarThe company that holds the registration. Without it, every renewal starts with a guessing game across dashboards.
    Registrar accountWhich login controls the domain, and where the credentials live. The recovery question, answered in advance.
    Expiration dateWhen the registration lapses. Confirm it after transfers; a transfer resets the clock.
    Renewal priceWhat this year's renewal actually costs, as a number. The totals block adds this column up, so keep it honest: renewal price, not the first-year promotional price.
    Auto-renew statusOn or off, per domain, as a dropdown. On or off should match a written decision, not a default nobody looked at.
    Payment methodWhich card or account pays, and when that card expires. An expired card on a registrar you rarely log into is the quiet way a domain dies.
    NameserversWhere DNS is actually managed. Often not the registrar, which is exactly why it needs writing down.
    OwnerThe person or team responsible for the domain.
    PurposeThe idea or job the domain was bought for, in one sentence. Without it, every keep-or-drop call restarts from zero.
    Current useWhat the domain is doing right now: live site, redirect, email only, or dark.
    Tags and categoryBrand, project, client, defensive, idea, or your own scheme. The field that lets you ask portfolio questions.
    Estimated valueThe current estimate, as a number. Estimates are directional signals, never appraisals; two tools will value the same name differently.
    Value sourceWhere the estimate came from, and when. An estimate without a source is a rumor.
    ConvictionHow much you still believe in this name: High, Medium, or Low, as a dropdown. Honest answers here make the annual review fast.
    StatusWhere the domain stands today, as a dropdown: In use, Launched, Parked, Listed, or Expiring.
    Next actionThe decision, as a dropdown: Keep, Launch, Redirect, Develop, Sell, or Release. This column turns a list into a plan.
    Next action dateWhen the next action happens, or by when the decision gets revisited.
    NotesAnything future-you needs: promises made, dependencies, history. The sample rows are marked here so you know what to replace.

    The same explanations ship inside the workbook on the Instructions sheet, so the file stands on its own after download.

    How to import registrar exports

    You do not have to type your portfolio in by hand. Most registrars can export your domain list as a CSV from the account or domains page. Export one file per registrar, then copy the rows into the Portfolio sheet and line the columns up: domain name, expiration date, renewal price, and auto-renew usually map directly, and the rest you fill in once.

    Two things to check as you paste. First, every domain appears exactly once; the same name showing up from two accounts means one of them is stale, and finding out now is the point. Second, the renewal price is the real renewal price, not the first-year promotional one. Those two numbers can differ by a lot, and the totals are only as honest as this column.

    The full multi-registrar workflow, including the reconciliation checklist, is in the guide on managing domains across multiple registrars.

    How to calculate annual and five-year costs

    In the Excel version, this is already done. The totals block under the table sums the renewal price column for the annual total, counts your domains, averages the cost per domain, and multiplies the annual total by five for the carrying cost. The Yearly view sheet lays that out year by year, cumulatively, reading straight from the Portfolio sheet.

    In the CSV, or any sheet you build yourself, the recipe is three formulas: SUM the renewal price column, divide by COUNT for the per-domain average, and multiply the annual total by five. The five-year number is the one worth sitting with. A name that costs little per year can still be a real number over the time you have actually been holding it.

    One honest assumption to know about: the projection holds renewal prices flat. Premium renewals recur at their premium price every year, which is exactly why they belong in the price column at their real number. The wider practice of renewal timing, reminder cadences, and payment controls is in the domain renewal management guide.

    Recommended status and decision fields

    Most domain spreadsheets die as inventories: accurate lists that never made anyone decide anything. The last five columns exist to prevent that, and three of them are dropdowns in the Excel version so the answers stay comparable:

    • Status says where the domain stands today: In use, Launched, Parked, Listed, or Expiring. Parked is not a failure, it is just the before state. The column exists so the before state is written down instead of assumed.
    • Conviction is High, Medium, or Low: how much you still believe in the idea behind the name. It is the question renewal notices never ask.
    • Next action is the decision itself: Keep, Launch, Redirect, Develop, Sell, or Release, with a date beside it. Those six match the decision framework in the guide on what to do with unused domains, which walks through when each one is the right call.

    The costly state, as that guide puts it, is not "unused". It is renewed without a decision. A status column and a next-action column are the cheapest cure anyone has found for it.

    When spreadsheets work well

    Honestly, often. A spreadsheet is usually enough when the portfolio is small and stable, one person manages it, renewals mostly sit on auto-renew, and little changes month to month. It costs nothing, holds every field above, and you can have it working this afternoon.

    If that describes you, this template plus two habits is a complete system: reconcile the sheet against your registrars once a quarter, and give every row a next action once a year. Both habits are spelled out in the domain management checklist.

    Where spreadsheets break down

    A spreadsheet only knows what you typed. It cannot flag a renewal three weeks out, it will not notice that a transfer reset an expiration date, and it drifts the moment data changes faster than you update it. The drift is the dangerous part, because a wrong list feels safer than no list.

    The practical breaking points: more than roughly twenty domains, more than one person needing the view, valuations you want kept current instead of pasted in, or domains you want visible to the world rather than rows in a file. Past those lines the sheet starts quietly lying to you, and the honest move is either more discipline or different tooling. The portfolio management guide compares the options without pretending the spreadsheet is wrong for everyone.

    How to import the template into SiteWarming

    The template doubles as an import file. SiteWarming's dashboard takes domains three ways: add one by hand, bulk-import a CSV, or connect your registrar. So when the spreadsheet stops being fun, save the Portfolio sheet as a CSV, or use the CSV version you downloaded here, and import it.

    The domain name column is what the import needs. From there the dashboard shows your whole portfolio in a single view, with an estimated value beside each domain and the portfolio total updated automatically, so the two columns this template makes you maintain by hand are the first ones you stop maintaining.

    What that looks like in practice is on the domain portfolio management product page, and the intake options are described on the how it works page. The decisions, the conviction column included, stay yours.

    Limitations

    • The value columns hold estimates, and estimates are directional signals, not appraisals or offers. Two tools will value the same name differently, which is why the template keeps the source next to the number.
    • The five-year projection assumes renewal prices hold flat. Registrar prices change, and premium renewals recur every year; the projection is a planning number, not a quote.
    • A spreadsheet only knows what you typed. The template gives you the structure; the quarterly reconciliation discipline still has to come from you.
    • The sample rows use example.com, example.org, and example.net, reserved names that are not real portfolios. Replace them with your own domains.

    Sources

    1. How SiteWarming works (SiteWarming)

    Last reviewed:

    Related resources

    Or skip the spreadsheet upkeep

    SiteWarming keeps the same record for you: import your domains and see the whole portfolio in one dashboard, with an estimated value beside each name and the total updated automatically. The template's CSV imports directly.

    See how the dashboard works