missing conversions

Looker Studio reporting built on measurement that has been verified.

Reporting built after the collection underneath it has been checked: a small number of questions, answered the same way every time, in Looker Studio connected to GA4, Google Ads and your own order or CRM data. Built to be handed over, not to keep you dependent.

What this covers

A dashboard does not improve data. It distributes it, faster and with more authority than a spreadsheet ever managed. If collection is wrong underneath, the dashboard does not expose the error. It launders it. The number arrives formatted, trended and already in front of the person who has to decide something, and the friction that used to make a reader stop and check is gone. So the order matters here. Reporting is built on measurement that has been verified, or it is not worth building.

The questions, before the charts. A dashboard exists to support a small number of recurring decisions. Which channels get next month’s budget. Whether a campaign pays for itself once refunds are subtracted. Whether last week was genuinely down. Most requests arrive as a list of metrics, and the first pass turns them back into questions, each with an owner and a decision attached. What survives is shorter than what went in, which is the point.

Definitions, written once and applied everywhere. Two dashboards disagree because two people defined a conversion differently, or because revenue includes shipping in one place and not the other, or because one report runs on the property timezone and the other on the store timezone. Every metric on the page gets a written definition: what counts, what is excluded, which attribution model, which currency, which timezone. The glossary ships with the dashboard and is part of what gets handed over.

Looker Studio, connected to GA4 and Google Ads. Each platform reports through its own connector, so the figure on the page comes from that platform rather than from a re-derivation that drifts away from it. That is not the same as identical. GA4 answers Looker Studio through its reporting API, with its own sampling, thresholding and quota behavior, so where a chart and the interface disagree, the reason is written next to the chart. Where the two platforms disagree by design, and they do, that is stated next to the chart as well.

Your own records next to the platform numbers. Platform-reported conversions on one side, orders shipped or deals closed on the other, joined on the identifier they share. The source can be an order export, a CRM report, a maintained Sheet or a warehouse table. Which identifier the join runs on is settled at scoping, and where that identifier is personal data the call is yours to take with your own counsel. What the view produces is a size for the difference between the two systems, held steady over time, which is what ends the recurring argument about which one is right.

A source assigned to every question before the build starts. The platform connector, an export of your own records, a maintained Sheet, or the BigQuery export where a question needs event-level rows or a join the interface cannot do. That choice gets made in scoping rather than halfway through a build, because it decides what the report costs to run and who maintains it afterwards. Where the export is the answer, the views and scheduled queries live in your project on your billing, and getting it linked is a GA4 build task rather than a reporting one.

How it runs

Scope and definitions first. The questions, the owners, the decisions, the definitions. This is a working session, not a form, and it is where most of the build is decided.

Inputs verified before anything is drawn. Every headline metric is traced back to the event that produces it and checked against the system of record. If a number will not survive that check, it is said then, rather than after someone has presented it to a board.

Build and reconcile. Data sources, calculated fields, blends and controls, laid out so one page answers one question. Then a closed month is reconciled against your own records, line by line, so the dashboard opens on a known agreement instead of a hopeful one.

Handover rather than training. Ownership of the report and of every data source moves to your account, and each source is repointed at credentials on your side. Then a walkthrough of the parts you will touch: how to add a field, change a date range, add a page, and what will break if a source gets renamed. The intent is that the next change is one you make yourself.

What you get

A dashboard you own. It lives in your Google account, on your data sources, with your access list. Ownership of the report and of every data source transfers at handover, and each source is switched to credentials on your side, because a report sitting in your Drive still breaks if one of its data sources is authenticating as somebody who left.

Definitions attached to the numbers. A glossary and per-chart notes, so a figure can be defended in the meeting where it gets questioned.

The plumbing documented. Data sources, calculated fields, blend logic, and any BigQuery views or scheduled queries, which run in your own project on your own billing.

A recorded walkthrough aimed at whoever reads the dashboard rather than whoever built it.

When this is the wrong fit

Collection has not been checked. Then the first honest deliverable is a list of reasons not to trust the dashboard. That is a different piece of work and it is cheaper to do first.

You want an operational monitor. Ad platforms keep backfilling conversions after the fact, and modeled figures settle later still, so a dashboard refreshed hourly shows noise and invites decisions on it. A dashboard also only surfaces a break where a chart happens to cover one, and even then it detects rather than prevents, well after the damage is done. Watching collection between releases is separate work.

You want every metric GA4 holds. That is an export, and an export is the better tool for it.

The disagreement is about goals, not numbers. Reporting can make a disagreement precise. It cannot settle what the business should be optimizing for.

You need a warehouse program. Several source systems, identity resolution, transformation pipelines and reverse ETL is a data engineering engagement of a different size, and saying so beats starting one inside a dashboard project.

Reporting comes second on purpose. The Missing Conversions Audit establishes what your collection actually does before anything gets charted, and the $900 fee is credited in full toward the build that follows. The build itself is scoped and quoted fixed-price on the call, once the questions it has to answer are known.

Questions

Can you build the dashboard without touching the tracking?

Sometimes, and it is worth saying when. If collection was verified recently, or the questions only involve spend, impressions and clicks reported by the ad platform itself, the collection layer is not in the path and the build can proceed. Otherwise the dashboard will be built and it will be wrong on a schedule. The usual middle ground is that every input is traced and checked first, the ones that fail are named, and those metrics either get fixed or get marked as unreliable on the page rather than sitting there looking like the rest.

A number on the dashboard does not match the GA4 interface. Which one is wrong?

Often neither. Looker Studio reads GA4 through its reporting API, which samples above certain volumes, returns fewer rows when identity thresholds apply, and answers inside its own quota, so two views of one period can differ without either being faulty. The build treats that as something to name rather than hide. The difference is traced once, the cause goes into the note beside the chart, and if it turns out to be a collection fault rather than an interface one it moves to the fix list instead. Where a question cannot be answered through the connector at all, it gets assigned a source that can answer it, and that decision is made at scoping rather than after the chart is built.

What happens when we want to change the dashboard later?

You change it. That is what the handover is for: the data sources, the calculated fields, the blend logic, the naming, and what breaks if a source gets renamed or a field is removed. The report and every data source under it sit in your account with your access list, each one authenticating on your side, so there is no login of mine in the way. If a change is larger than a field or a page, it can be scoped and quoted, but nothing is built in a way that makes coming back the only option.

Next step

Find out what this is costing you.

The Missing Conversions Audit is a fixed-price teardown of your GA4, Google Tag Manager, ad pixels and consent setup. Every gap logged, the top 10 fixed and validated. $900 flat. 5 business days.

A 15 minute call

  • We look at your setup from the outside and say what we can already see.
  • You get a straight answer on whether the audit is worth it for your account.
  • If it fits, we book the slot and send the access checklist.
Open the booking calendar

Opens the calendar here. Nothing loads from Calendly until you do.

Prefer email? hello@missingconversions.com