Most marketing dashboards fail quietly. Numbers don't match the ad platform, charts time out on Monday morning, and nobody knows who can see what. John Williams builds Data Studio reports that load fast, define every metric once, and show the same number the finance team would.
We ask each audience what they decide weekly and which number would change their mind. A CFO and a paid search manager need different pages. Anything that doesn't support a decision is left out.
Google Ads conversions, GA4 key events, and CRM leads are three different things. We name each one, write how it's calculated, and decide which is the source of truth for each question.
Google Ads data comes in through the BigQuery Data Transfer Service (Google Cloud), GA4 through its native export (Analytics Help), and CRM and other ad platforms through a connector or a scheduled job. Everything lands in one project, in partitioned tables.
We build daily, pre-aggregated tables (spend, clicks, conversions, revenue by date, channel, and campaign) so Data Studio reads small tables instead of raw events. Joins happen here, in SQL we can test, not in a blend.
Pages follow the dictionary. Filters are limited to what people actually use, date comparisons are consistent, and every scorecard says where its number comes from.
BigQuery sources can refresh every 1 to 50 minutes or every 1 to 12 hours, and Sheets as often as every 15 minutes (Manage data freshness). We pick the slowest setting the audience can live with. For heavy reports, BI Engine caches data in memory to speed up queries (BI Engine).
Every data source runs on owner's, viewer's, or service account credentials. Owner's credentials let anyone you share the report with see the data without their own access, so Google warns you to share them only with people you trust (Data credentials). We choose per source and document why.
These are the constraints we design around, from Google's documentation as checked on 2026-10-11.
| Constraint | What the docs say | What we do about it |
|---|---|---|
| Data freshness | Google Ads, Search Console, and other Google marketing connectors refresh every 12 hours and can't be changed. Google Analytics can be set to 1, 4, or 12 hours (Data Studio docs). | Say on the report how fresh each section is. If someone needs fresher ad data, it comes through BigQuery. |
| Blends | Up to five tables per blend, with inner, left outer, right outer, full outer, and cross joins (How blends work). Joins run left to right. | Blend only small, pre-aggregated tables with unique keys. Anything bigger is joined in BigQuery. |
| GA4 Data API quota | A standard property gets 200,000 core tokens a day, 40,000 an hour, 14,000 per project per property per hour, and 10 concurrent requests. Analytics 360 gets ten times more (Data API quotas). Google says quota increases aren't available and points to 360 or the BigQuery export (Google Analytics blog). | Direct GA4 connections only for light, single-team reports. Shared dashboards read from the export. |
| BigQuery cost | On-demand queries are billed by bytes processed. Google recommends partitioning, selecting only needed columns, and setting maximum bytes billed (Estimate and control costs). | Partitioned reporting tables, date filters on every page, and a budget alert on the project. |
| Concurrency | For BigQuery sources, performance depends on slot availability, query complexity, data size, and caching (Improve performance). | Pre-aggregate, cache through freshness settings, and test with real viewer counts before launch. |
Reporting builds are quoted as a flat fee after we've seen your sources and agreed on the audiences. The scope depends on how many platforms feed the warehouse and how many report pages you need, so we don't publish a single price. BigQuery, connector, and Data Studio Pro costs are billed by those vendors, and we estimate them up front. Like all our work (see pricing), it isn't priced as a share of your media budget and doesn't lock you into a contract.
The reporting stack runs from source platforms to a warehouse to Data Studio. These are the official products we use.
Logos via the Simple Icons project. Trademarks belong to their owners; no endorsement implied.
John's published work on measurement and reporting, and free tools that pull the same data.
Tell John which platforms you report on, who reads the reports, and what's going wrong today. You'll get a written scope.
The primary sources, standards, research, and tools we rely on for this work. Every link was checked on 2026-10-11. We aren't affiliated with these publishers unless noted.
The free 250-point Audit Engine connects to Search Console, GA4, and GTM and pulls the evidence for each finding from the source.
See the Audit Engine Talk to John