$ cat pricing.md

Three shapes of engagement, and what changes the number

I quote per engagement after reading the container, so what follows is the shape rather than the price. [CHECK — decide whether real figures go here or stay in the quote]

01 · AUDIT

Read and report

free
one pass, one document

Every tag, trigger and variable, with findings ranked by what they cost you.

request it →
02 · PROJECT · most engagements

Fixed scope, fixed fee

[CHECK]
quoted after the audit

A migration, a schema rebuild, a dashboard set. Written plan first, no hourly billing.

talk scope →
03 · RETAINED

On call, monthly

[CHECK]
capped hours, rolling

For teams shipping often enough that tracking breaks between releases.

ask about capacity →
WHAT MOVES THE NUMBER

Container size and age

Eighty undocumented tags takes longer to read than twenty documented ones.

Whether a data layer exists

If it has to be specified and built with your devs, that is the bulk of the work.

Number of destinations

GA4 alone is one build. GA4, Ads, Meta, Amplitude and the warehouse is five contracts.

Who I need access from

Waiting on permissions across three teams is the most common source of drift.

ALWAYS INCLUDED
A written plan before any build starts
QA in preview before anything publishes
Documentation and a naming standard at handover
A reconciliation check your team can run without me
NOT INCLUDED
Media buying or campaign management
Front-end development beyond the data layer spec
Tool licences and platform costs
Rush work that skips the QA pass

The audit comes first either way

It is free, it is the same document I would charge for, and it tells us both whether there is a project here.

request the audit