Terminus.app vs Spreadsheets for UTM Management

PC

Puru Choudhary

Last updated · published

A Google Sheet handles UTMs perfectly well for one marketer building thirty links a month against a flat taxonomy.

It stops working when a second builder joins, when the monthly link count passes a hundred, or the first time somebody spends an afternoon reconciling facebook and Facebook in a quarterly report.

Sheets is a real tool. This page is about where its edge is, and what changes when you cross it.

TL;DR

  • Spreadsheets work for one or two builders, a flat taxonomy, and roughly 50 links a month.
  • They fail four ways: drift, formula bugs, collisions, and the absence of enforcement.
  • The real cost is attribution debt, paid later by whoever builds the reports.
  • A governance platform changes the shape of the problem: the easy path produces a compliant link and the broken path is blocked.
  • Break-even sits around two builders or 100 links a month, whichever comes first.
  • Below that, a sheet is the right answer and buying a tool is not.

Where Sheets Genuinely Works

Plenty of effective marketing has run out of five columns and a CONCATENATE formula. The conditions are specific though.

A spreadsheet is the right home when one or two people build links, the taxonomy is flat with no rules connecting fields, volume sits under roughly 50 links a month, nobody needs to answer historical questions like which campaigns ran on LinkedIn last quarter, and no dashboard treats your UTM values as a controlled vocabulary.

Hold all five and you are fine. Lose two and the sheet is already costing more than it appears to, because the cost surfaces in somebody else’s report rather than in the sheet.

The Four Failure Modes

They arrive in roughly this order and they compound.

Drift

Values that should be identical diverge. Facebook on Monday, facebook on Wednesday, FB on Friday when someone is in a hurry. Three months later the dashboard has three rows for one channel and every query needs a LOWER() wrapper.

This is structural rather than careless. A free-text cell cannot refuse a variant.

Consider a mid-size B2B team, hypothetically, that accumulates a dozen spellings of LinkedIn across two years of campaigns. Their quarterly channel review under-reports LinkedIn by whatever share of spend sits under the spellings their filter misses. The size of the error varies; the existence of it does not.

Formula bugs

The moment a formula builds the final URL, you have a bug surface. Leading spaces. An ampersand inside a campaign name. A destination that already has a query string, joined with ? instead of &. A hash fragment that swallows the parameters entirely.

The nasty version works for 200 rows and breaks silently on row 201, and you find out when a three-week launch reports zero sessions.

Collisions

A sheet has no concept of a row belonging to someone. Two people building links during a launch overwrite each other, sort the sheet at different moments, or duplicate the tab to work in peace and never merge back.

Add an agency partner and the choice is edit rights to your master sheet or a copy that immediately starts drifting. Neither is governance.

No enforcement

The deepest one. You can document the convention, paste it at the top of the sheet, add dropdowns to every input column, and none of it stops someone copying the finished URL, editing it in a Slack message and shipping that.

The sheet is not the source of truth. The link is, and the sheet has no authority over the link once it leaves.

The Cost You Do Not See

The expensive part is not the failures above. It is the false sense of control. The CMO sees a tab and assumes campaigns are tracked. The data team sees dirty values and assumes marketing has a system. Nobody owns the gap between the document and the links actually flying out.

Three costs live in that gap. Attribution debt, as normalisation logic spreads through dashboards until nobody can change a source value without breaking three reports. Decision blur, because an error you cannot characterise is invisible per campaign and corrosive per quarter. And an onboarding tax, since every new hire, agency and contractor learns the convention verbally, because the sheet cannot teach it.

What a Governance Platform Changes

Not “building links is easier”. Sometimes a sheet is faster. What changes is that the path of least resistance produces a compliant link, and the broken path runs into a wall.

Concretely, in Terminus, the marketing taxonomy governance platform:

  • Controlled vocabularies. Source, medium and your custom dimensions are picklists an admin owns. Nobody types a variant and makes it stick.
  • Rules between fields. If the source is google, the allowed mediums narrow. If the channel is email, a campaign code becomes required. The convention is encoded rather than described.
  • Validation when the link is created: casing, length, prohibited characters, required fields, and a destination URL that actually parses.
  • Searchable history. Past links are a queryable archive rather than rows nobody dares delete.
  • Approval workflows and scoped workspaces on Business and above, so agency partners and contractors build within boundaries and reviewers see what shipped.

One thing not to promise, because it has not shipped: a full audit log is on the roadmap for the Enterprise tier. Approval records cover part of that ground today, and version history in a spreadsheet covers almost none of it, but the honest comparison is a workflow against a document rather than an audit log against nothing.

The Same Job, Both Ways

A paid media manager needs links for a LinkedIn launch with five ad variants, each carrying creative, audience and offer.

In Sheets: open the master sheet, find clean space, copy the formula row five times, type the source and hope it matches last time, check each concatenated URL for stray characters, paste into the ad platform. Six weeks later, try to remember whether the campaign code was launch-q2 or q2-launch.

In a governed builder: open the LinkedIn convention, which fixes the source and constrains the medium, build five variants by changing only the three fields that vary, save, and search for them six weeks later by name.

Sheets wins on the first link. The governed path wins by link fifty, and it is the only one of the two that survives someone leaving.

Side by Side

CapabilityGoogle SheetsCampaign URL BuilderTerminus
Enforcement between fieldsData validation onlyNoneRules per convention
Casing and character validationManual formulasNoneBuilt in
Searchable historyIf nobody deletes rowsNoneYes
Multiple buildersCo-editing, no row lockingSingle userPer-user actions
Existing query strings and fragmentsFormula-dependentBasicHandled
Branded short links and QR codesNoneNoneAll tiers
Approval workflowNoneNoneBusiness and up
Scoped workspacesDocument-level sharingNoneBusiness and up
Audit logDrive version historyNoneComing soon, Enterprise
CostFreeFreeSubscription

Google’s Campaign URL Builder deserves its own note. It is excellent at what it does, which is produce one well-formed link for one person. It solves none of the four failure modes, which is why nearly every team using it also keeps a spreadsheet beside it. That combination is the spreadsheet workflow.

When You Have Outgrown It

None of these are laws. They are the patterns that correlate with a sheet costing more than it saves.

More than two people building links regularly. More than 100 tagged links a month, or no idea how many you produce. Multiple brands or clients with no shared taxonomy. One campaign tagged consistently across three or more platforms. Somebody having already lost an afternoon to a casing mess. No way to answer what went out last week in under five minutes. An agency asking for the taxonomy and receiving a document. Or a security review asking who can change UTM values, where the answer is anyone with the link.

Two of those true today means you are already paying for a platform, in analyst hours rather than licence fees.

Migrating

The common mistake is treating this as a software project. It is a taxonomy project that ends with an import.

  1. Export the sheet, every row, including the ones nobody trusts.
  2. Run a frequency count per parameter. This is where the spelling problem becomes visible and countable.
  3. Decide the canonical taxonomy: allowed values, casing, separators, rules between fields. This is the conversation you have been deferring, and it needs whoever owns marketing in the room.
  4. Map old values to canonical ones, flagging anything unidentifiable. You will find values nobody can explain.
  5. Accept that history keeps its old values. Links in the wild cannot be rewritten, so the mapping lives in your analytics layer until the old values age out.
  6. Import the cleaned file and lock down who may add values.
  7. Freeze the old sheet as read-only, linking to the new tool from the top, and keep it reachable for 90 days.
  8. Train the team on the convention rather than the tool. The tool takes an hour. The convention is the part they need to hold.
  9. Audit again after 30 days. A clean distribution means it worked. A messy one means the convention is wrong, not the team.

Five to ten marketers usually finish this in two or three weeks of part-time work, and the decisions take longer than the import.

The Arithmetic

Illustrative numbers, but the shape holds.

A ten-person team producing 300 links a month spends something like 15 to 30 minutes per builder per week on construction and lookup. Across five active builders that is roughly 25 to 40 hours a month. Add one to two days per quarter of cleanup when a reporting cycle exposes dirty values, plus an analyst’s time writing normalisation logic.

At an illustrative blended cost of $80 an hour, that lands somewhere in the tens of thousands per year before counting decisions made on bad data. A governed platform for a team that size runs in the low thousands. The comparison is not close.

For two people producing 30 links a month, the same arithmetic runs the other way, and the honest answer is to keep the sheet.

When a Sheet Is Still Better

Solo founders and one-person marketing functions. One-off campaigns that end. Genuinely bespoke taxonomies still changing every sprint, where a rigid convention gets in the way. Agencies running tightly scoped client projects where the sheet ships as a deliverable. And teams with no budget approval, where a working sheet beats a stalled procurement cycle.

The dividing line is whether you are scaling a system or running a project.

Systems benefit from enforcement. Projects do not.

FAQ

Roughly 50 a month with one or two builders is comfortable. Between 50 and 100 the cracks show. Past 100, or with three or more builders, cleanup usually costs more than a licence.

Can Google Sheets enforce a taxonomy?

Partially. Validation and scripts encourage one. What they cannot do is stop someone editing the finished URL outside the sheet, which is where enforcement actually fails.

What does one mis-cased source cost?

Facebook and facebook stay separate rows in your source and medium reports and separate values in every join, though GA4’s channel definitions are not case sensitive so the channel itself still resolves. The cost is analyst hours rebuilding clean numbers, plus whatever was decided on the dirty version first.

Is a platform better than Google’s URL Builder?

For one person building one link, no. For more than one builder, any convention, or any need to find past links, the Google tool leaves you back in a spreadsheet, which is the problem this page is about.

How do I migrate history?

Export, normalise casing and whitespace, agree the canonical taxonomy, map old values, import. Keep the old sheet read-only for 90 days while dashboards catch up. The taxonomy work is the hard part.

When should a small team not switch?

Solo founders, one-off engagements and fast-changing bespoke taxonomies. Below roughly two builders and 100 links a month, the overhead outweighs the saving.

Can a platform enforce our existing naming convention?

Yes. Conventions define field order, separators, allowed values and dependencies between fields, and the builder rejects anything that does not fit. That is the mechanism that turns a written standard into an enforced one.

Terminus helps you and your team be consistent in UTM tracking

Try Terminus risk-free for 21 days. Cancel anytime with 1 click.