GA4, Search Console, server-side events, call tracking and full-funnel attribution — built as infrastructure, not as a monthly slide deck. If the conversion set is wrong, every downstream decision inherits the error.
Ad algorithms, AI agents and your own judgment all optimize toward whatever you told them to count. This is the discipline of telling them correctly.
Before any budget moves, we write down what a lead is, what a qualified lead is, and what revenue looks like — and both sides sign off. It sounds procedural and it is the highest-leverage hour in the whole engagement. When a newsletter signup and a booked consultation share one generic conversion event, bidding will chase the cheaper one forever and the reporting will look fine while the pipeline does not move.
A GA4 property configured deliberately rather than left on defaults: custom events for the interactions that matter, key events marked, internal traffic and referral spam excluded, cross-domain tracking handled, data retention set consciously, and consent behavior configured to match your legal position. Where browser-side signal loss materially distorts bidding, we move measurement server-side so events survive ad blockers, privacy restrictions and short cookie lifetimes.
For most service businesses the largest blind spot is the phone. Call tracking with dynamic number insertion ties each call to the campaign, ad group or keyword that produced it, and reconciles the record against the CRM so a call, a form and a chat about the same customer stop counting as three people. From there we follow the lead all the way to closed work and push those outcomes back to the ad platforms as offline conversions.
One view per audience, each answering a decision. An operator wants today's inbound volume, response times and where the leads came from. A leadership dashboard wants cost per booked job by channel and month over month movement. Nobody wants forty widgets. We build to the question, add automated alerts for the failures that matter — a tag that stopped firing, a form that broke, spend running hot — and pipe raw data to a warehouse when the analysis outgrows a dashboard.
Instant AI response is worth nothing without inbound volume, and neither is worth much if you cannot see which half is failing.
We instrument the seam between marketing and sales directly: time to first response, contact rate, qualification rate and booking rate by source. Once that is visible, the argument about whether leads are bad or follow-up is slow resolves itself.
Your AI response agent qualifies each inquiry within minutes. That verdict flows into the CRM and back out to the ad platforms as an offline conversion, so bidding learns from real outcomes rather than from form submissions.
Platforms count differently on purpose. Google Ads credits the click, Meta credits a view inside its window, GA4 credits the last non-direct session, and your CRM only knows what somebody typed into it. Forcing those four to produce an identical number is not possible and not the goal.
We name one system as the record for revenue decisions and document why the others differ. The discrepancy becomes expected rather than alarming, and the monthly argument about whose figure is right stops.
A measurement audit across GA4, Search Console, tag manager, ad platforms and the CRM, checking whether the numbers agree and where they do not. You keep the findings whether or not you hire us.
30-min call · roadmap deliveredConversion set agreed and documented, events implemented and validated, call tracking deployed, CRM connected, offline conversions flowing, dashboards built. Every event is tested end to end before it is trusted.
Typically 2–5 weeksTracking gets audited on a cadence because it breaks silently, alerts catch failures early, and reporting comes with written interpretation. Senior hands only — the people on the audit call are the people who build.
Ongoing partnershipBecause a campaign optimizes toward whatever you told it to count, and you only get one chance to tell it correctly. If a newsletter signup and a booked consultation both fire the same generic conversion event, bidding will chase the cheap one and your cost per lead will look excellent while revenue does not move. Defining the conversion set first also gives you a baseline, without which no later improvement can be proven.
Server-side tracking sends events from your server rather than the visitor's browser, which makes them far less vulnerable to ad blockers, browser privacy restrictions and short cookie lifetimes. You need it when browser-side signal loss is material enough to distort bidding, which is common for lead generation with long consideration windows. It costs more to build and maintain, so we recommend it where the data justifies it, not by default.
Yes, using call tracking with dynamic number insertion. Each visitor sees a number tied to their traffic source, so the call is attributed to the campaign, ad group or keyword that produced it, and the record is reconciled against your CRM. For businesses where most inquiries arrive by phone, this is usually the single largest blind spot in the reporting, and closing it changes budget decisions immediately.
No single model is correct, so we report more than one and name the assumptions. Last click understates the channels that create demand, first click understates the ones that close it, and data-driven models are useful but opaque. We set a primary model for decision making, keep a secondary view for sanity checking, and treat large gaps between them as a question worth investigating rather than a number to argue about.
You do. GA4, Search Console, the tag manager container, the dashboards and the raw data all live in accounts you own, and we work as users on them. You can export everything at any time and revoke our access without losing history. Documentation of the event schema and conversion definitions is handed over with the build.
We rebuild the measurement layer forward and label the break rather than pretending the old numbers are comparable. Historical data that was collected wrong cannot be repaired retroactively, and quietly splicing it onto clean data produces reports nobody should trust. We document what changed and when, so everyone reading the chart knows which side of the line they are looking at.
A free 30-minute measurement audit: what is firing, what is double-counted, what is missing, and what it would take to tie spend to booked work.
Roadmap delivered · whether or not you build with us