Agency operations

Can you charge clients for tracking work?

Can you charge clients for tracking work?

Rhobin

July 30, 2026

7 min read

Yes, and the agencies that do it well bill it as its own deliverable instead of absorbing it into the campaign retainer. What makes the line defensible is a measured baseline taken before the work, because the recovery it produces is the only visible output tracking work has.

The symptom

Somebody on your team spends two days in Google Tag Manager because a client's lead form stopped registering conversions. Those two days never reach an invoice. They land in onboarding, or in the retainer under reporting, or in somebody's evening.

When it is done there is nothing to show. The client never asked for it, cannot see it in a dashboard, and would struggle to describe what changed. So the next time it happens, the same two days disappear the same way.

Meanwhile the same client pays for creative, media management and CRO tests without asking whether those are billable. Tracking is the one input where the agency absorbs the cost of doing it properly, then explains the consequences for free on the monthly call.

[IMAGE: a timesheet week with tracking hours marked non-billable, beside that month's invoice with no tracking line]

Why it happens

Tracking work is billable. It gets treated as free for three reasons, and none of them is about what it is worth.

It arrived during onboarding, and onboarding is priced at zero

Tracking enters most client relationships in the same week as access requests and account structure. Everything in that phase is unpaid, because it is what gets the account moving, and the bucket never gets revisited afterwards. Conversion tracking used to be a tag and an afternoon. It is now a server, a consent configuration and a standing maintenance obligation, still priced as onboarding.

The output is invisible unless somebody measured the before

A campaign produces something a client can see. A tracking fix produces a number that only exists if you wrote down what it was beforehand. Across the accounts we audit, 15 to 30% of conversions are never captured, and nobody in the room can see that share, because the dashboard looked plausible before the fix and looks plausible after it.

That is the commercial problem, and it is the part you can solve. Once the share is on paper for one client, with the spend that was optimised against the gap, the conversation stops being about your hours.

It is priced as a one-time fix, and the environment does not hold still

The strongest argument for charging is that the work does not stay done, and that is not an opinion about vendors, it is published by them.

Browsers keep shortening what a setup can rely on. Per WebKit's own announcement, "all persistent client-side cookies, i.e. persistent cookies created through document.cookie, are capped to a seven day expiry". In 2020 WebKit widened that seven-day rule beyond cookies, deleting a site's script-writable storage "after seven days of Safari use without user interaction on the site", per its later post. Ad blockers strip another 30 to 40% of events before they leave the browser.

Consent is a legal obligation rather than a client preference. Per the consolidated ePrivacy text, storing information or gaining access to information already stored on a user's device is "only allowed on condition that the subscriber or user concerned has given his or her consent", with a narrow exemption for what is strictly necessary to deliver a service the user asked for.

Platform policy has teeth on top of that. Google's EU user consent policy requires advertisers to obtain legally valid consent for "the use of cookies or other local storage where legally required" and to "retain records of consent given by end users", and states that failing to comply may lead Google to limit or suspend product access. That exposure sits on the client's ad account, which makes it a risk they own.

Then there is the running cost. Google's server-side tagging documentation says you "can set up a tagging server using GCP or a platform of your choice", and its setup guide recommends provisioning it "as a cluster for better availability, scalability, and performance". Cloud Run pricing then bills by usage, per vCPU-second, per GB-second of memory, per million requests and for egress, above a monthly free tier.

A deliverable with a monthly bill attached and a standing legal obligation on top is not a favour you do at onboarding. That is what a service line is.

[IMAGE: a twelve-month timeline marked with browser, consent and platform policy changes]

What good looks like

Three moves, in this order. The order does more work than the wording.

Sell the measurement before the implementation. Start with a baseline check rather than a proposal for a build. It produces the one thing your pricing rests on: what this client is not measuring today, as a share of their conversions and the spend that went with it. Lead with the build and you are asking for budget on trust. Lead with the baseline and you are quoting against a documented loss.

Put it on the invoice as three lines, not one. A fixed fee for the implementation. A monthly line for keeping it working, which the browser, legal and policy changes above justify without you having to argue. And a decision on the cloud cost: pass it through, since it is billed by usage and moves with traffic, or bundle it and carry the variance. It depends on how volatile the traffic is and whether the client already pays a vendor such as Stape or Taggrs directly. Either way, know your cost basis first, and what server-side tracking costs sets that out.

Quote the outcome, not the hours. Nobody buys twelve hours of Google Tag Manager. A server-side setup typically recovers 15 to 40% more conversions and extends cookie lifetime from the 1 to 7 days a browser allows to as much as 400 days. For one performance agency, that work brought 38% of affected client traffic back into measurement, lifted measured conversions by 26% on average, and saved 14 hours per project. State the ceiling in the same breath: a good setup collects up to roughly 95% of events and never all of them, because consent refusals and blockers do not disappear.

If nobody on your team can do the work, that changes who delivers it, not whether it is billable. Archon Signal builds and maintains the server-side layer, either invisibly behind your brand or as a named specialist on the account, and white-label tracking for agencies covers how that arrangement runs. Priced this way, tracking stops being a cost inside your retainer and becomes a line with margin on it.

One honest caveat. Whether you can charge depends on the contract you already signed. If tracking sits inside an all-inclusive retainer, you cannot invoice it separately before a renewal or a scope change, and trying reads as a surprise fee. What you can do now is make the work visible: put the hours on the report, name the deliverable, show the baseline. Visible unpaid work gets priced at renewal. Invisible unpaid work stays invisible.

Frequently asked

Our contract says reporting is included. Can we still charge for this?

Not retroactively, and not mid-term without reopening the agreement. Use the current term to make the work visible and quantified, then price it at renewal as a named deliverable. The baseline you collect in the meantime is what keeps that conversation short.

Will the client not ask why they should pay to fix something we set up?

Some will, so separate the causes first. Decay that follows browser, consent or platform changes is documented behaviour that arrived after your setup, and the vendor pages above are your evidence. A genuine misconfiguration on your side is yours to fix at your own cost. Being specific about which is which keeps the rest of the invoice credible.

Should we mark up the cloud infrastructure or pass it through?

It depends, and both are common. Pass-through with a stated management fee defends itself when traffic is unpredictable, because the amount genuinely varies with usage. A flat monthly fee is easier to approve and keeps you positioned as a partner, at the cost of absorbing the swings. Put whichever you pick in writing, because the version that damages trust is the surprise variable line.

Project fee or monthly retainer?

Both, for different work. The implementation is finite and prices as a fixed-fee project. Keeping it working is not finite, so it prices monthly. Sell only the project and you will be doing the maintenance for free within a quarter, which is how this work became unbilled in the first place.

What if the client refuses to pay for tracking at all?

Price the consequence instead of the task. When 15 to 30% of conversions never arrive, the bidding algorithms spent months optimising against that gap, so the cost was misallocated budget rather than an imperfect slide in a report. Clients who will not fund a tag will often fund a fix to their media efficiency.

If you want the baseline number that makes any of this billable, request a free tracking audit and we will measure what one of your client accounts is currently missing.

© 2026 Archon LabsPrivacyTermsBuilt on unsampled data.