Now booking enterprise content platform builds for 2026. Contact us

Glossary CMS TCO (total cost of ownership)

CMS TCO (total cost of ownership)

The full cost of running a CMS over its life: licences and seats, hosting and infrastructure, development, content operations, and the cost of eventually leaving it.


The total cost of ownership, or TCO, of a CMS is what it actually costs to run over its whole life. The headline figure on a quote, usually a licence or a subscription, is one line among several, and often not the largest. Reading TCO means adding up the cost of owning and operating the system across the years you expect to keep it, which gives a firmer basis for comparing options than a sticker price does.

The five cost lines

A CMS budget is easiest to read as five lines. The third column matters as much as the first: each line has somewhere that spending accumulates without ever being recorded against the platform.

Cost lineWhat drives itWhere it hidesWho usually holds the budget
Licences and seatsEditor count, number of environments, API calls, locales, and the feature tier you end up onSeats added mid-term, overage on metered limits, features that sit one tier above the one you were quoted, uplift at renewalProcurement, or the marketing budget
Hosting and infrastructureTraffic, media volume, number of environments, redundancy and regionsNon-production environments, bandwidth and image processing, backups and disaster recovery, search and preview services billed apart from the main planIT or platform engineering
DevelopmentThe initial build, then the rate of change after launch: templates, integrations, version upgrades, security patchesUpgrades run as projects of their own, integration rework when a connected system changes, effort absorbed by an in-house team so it never lands on an invoiceEngineering, or an agency retainer
Content operationsContributor count, languages, review steps, publishing volumeEditor time lost to workarounds, the same content re-entered for a second channel, onboarding after turnover, freelance help at campaign peaksMarketing or communications
Exit costContent held in proprietary formats, logic held in vendor-specific configuration, contract notice periods, team knowledge specific to the toolIn the absence of a line at all. Nothing is booked against it until a move is planned, and by then its size has largely been set by earlier decisions about formats and configurationNobody, until a migration budget is written

For open-source, self-hosted software the first line can be zero, with the cost moving into hosting, development, and the operations around them. That shift is the subject of self-hosted vs SaaS CMS.

Development is frequently the largest of the five, and easy to leave out of a quick comparison, because much of it arrives after launch as ordinary engineering work. Content operations is the day-to-day cost of the people running content in the system, covered in more depth under content operations. Exit cost is tied directly to vendor lock-in: the more of your content and configuration a system holds in a form only it can read, the larger that final line becomes.

Why the headline price misleads

Once the other lines are counted, two systems with very different licence costs can land close on total cost. Two systems on identical licences can also diverge, sometimes widely. A platform with no licence fee still costs money to host, develop against, and operate, while a costly licence may bundle hosting and reduce development effort. Because the lines trade against one another, comparing only the most visible one tends to favour whichever option happens to move its cost somewhere less visible. The mechanics of how a licence line grows on its own, through seats, API calls and locales, are worked through in per-seat, per-API-call, per-locale pricing.

A three-year comparison you can fill in

Pick one horizon and apply it identically to every option. Three years is a common choice: it covers a build, a settling period, and at least one renewal.

The structure below is the shape of the calculation. The figures are yours to supply, from quotes you have been given and rates your own finance team can confirm.

Line itemWhen it landsWhat to enter
Implementation and buildOne-offThe fixed-price quote, or estimated days multiplied by the day rate
Content migrationOne-offVolume of content to move, multiplied by the per-item effort your team or vendor estimates
IntegrationsOne-off, then recurringBuild cost for each connected system, plus an annual allowance for rework
Training and rolloutOne-offEditor headcount multiplied by training days, plus any productivity dip you expect while people learn the system
Licences and seatsRecurringThe annual fee at the seat, locale and environment counts you expect to have reached by year three
Hosting and infrastructureRecurringProvider estimate at expected traffic and media volume, including non-production environments
Maintenance and supportRecurringRetainer value, or internal engineering days multiplied by a loaded day rate
Ongoing developmentRecurringPlanned roadmap days per year at your day rate, plus a version-upgrade allowance
Content operationsRecurringEditor and translator time, agency or freelance support, and the tooling around the CMS
Exit provisionEnd of horizonExport and conversion effort, plus the rebuild cost on whatever comes next

The arithmetic has four steps.

  1. Sum the one-off items. These land in year zero and belong to whichever option requires them. An incumbent platform usually carries fewer of them, though a version upgrade, a re-training round or a rebuild on the same platform can put items back on its side of the sheet.
  2. Set the recurring lines for year one, using the figures above.
  3. Grow the recurring lines for years two and three. Apply your own escalation rate to each: the contractual uplift clause for licences, expected traffic growth for infrastructure, salary inflation for internal engineering time, headcount and language growth for content operations. Each line grows at its own rate, so grow them separately.
  4. Add the exit provision, then total. The three-year figure is the one-off costs, plus year one, plus year two, plus year three, plus the exit provision.

Run the same sheet for every option, including the platform you are on now. Staying has a three-year cost of its own, and it belongs on the sheet alongside the alternatives. A worked version over a five-year horizon, with its inputs named, is in the real 5-year TCO of staying on your current stack. If a contract renewal is what prompted the exercise, the pre-negotiation checklist covers what to establish before the vendor conversation opens.

Common questions

  1. What does a CMS licence price leave out?

    A licence or subscription price covers the right to use the software at the tier and volume quoted. It leaves out hosting and infrastructure, the build and the ongoing development work after launch, the time editors spend running content in the system, and the cost of leaving the platform later. A quote also assumes the volumes you have on the day it is written, so seats, API calls, locales and environments added during the term are commonly charged on top.

  2. Why do self-hosted and SaaS CMS costs diverge over three years?

    The two models put the money in different lines. A SaaS plan bundles hosting, patching and uptime into a recurring fee that moves with your volumes and at renewal. Self-hosting shrinks or removes the licence line and shifts that spend into infrastructure and the people who operate it, a cost you carry whether or not usage grows. Over three years a SaaS bill tends to move with your volumes. A self-hosted bill tends to move with the size and cost of the team running it. Which one totals less depends on how fast your volumes grow and whether you already have the capacity to run infrastructure reliably. [Self-hosted vs SaaS CMS](/glossary/self-hosted-vs-saas-cms) goes through what each model asks of you.

  3. What changes at renewal?

    At renewal the terms you signed are applied to the volumes you actually reached. Contracts commonly carry an escalation clause, so the base fee moves. Seats, API calls, locales and environments added during the term get re-priced. Introductory discounts attached to a first term may not carry into the next one. Features can move between tiers when a vendor repackages. Auto-renewal clauses and notice periods determine how much room there is to negotiate any of it, and both are worth reading before the window opens.

  4. How do you compare two CMS quotes fairly?

    Put both on the same horizon, the same volumes and the same list of lines. Fix the number of editors, locales, environments and the traffic you expect to have reached by the end of the period, then price each option against those figures, replacing the assumptions carried in its own quote. Add the lines no quote contains: internal engineering time, editor time, and the cost of leaving. Where one option bundles hosting and another leaves it out, the bundled fee has to be compared against the second option's licence plus its own infrastructure estimate. When the comparison is part of a platform move, [replatforming](/glossary/replatforming) covers what the move itself involves.


We're booking content platform
engagements for 2026.

Twenty-five minutes to walk through the work and decide if we're the right team for it. Scoping and a fixed price come after.