Dashboard builders sell you a blank canvas and call it flexibility. Then you spend a week rebuilding the same six views every agency builds, and the client still asks what changed.
We built the six views. And the other fourteen.
Facts
- Account health: Weekly Overview (impressions, clicks, cost, conversions, ROAS, CPA, campaign performance, grouped by week, month, or quarter), Trend Analysis (time series with trendlines by campaign and segment), Data Summary (any two periods compared across every KPI, campaign, and ad group, with an as-of date), Budget Pacing (monthly target, run rate, projection), Conversion Trends (by conversion action and device).
- Search and keywords: Search Term Intelligence, Keyword Intelligence (CPC, quality score, conversion rate, impression share), Quality Score Tracking (components and diagnosis), Keyword Cannibalization.
- Targeting and creative: Geo Distribution (ZIP-level choropleth), Dayparting (day × hour), Audience Performance (audiences and demographics), Ad Headline Analysis (asset-level RSA metrics), Account Hygiene (misspellings, brand compliance).
- Performance Max: overview, channel allocation, placements, search terms, asset groups, landing pages.
- Comparisons are calendar-aware: grouping by week, month, or quarter compares the period containing the range end with the prior one, not the whole range with the span before it. Partial periods are tinted and labelled in-progress.
- Data is pulled nightly via the Google Ads API into per-MCC storage and retained for 365 days; first connection backfills up to 730 days. Pages read the store, so they are fast and use no API quota per view.
- Pro adds an automated weekly performance email, a daily per-account digest, and a portfolio health view across accounts.
- A global campaign filter (include or exclude, per customer) applies across reports; Demo Mode anonymises names and figures for the current session.
The inventory
| Report | Question | Drills to | Hands off to |
|---|---|---|---|
| Weekly Overview | What moved this period? | Contributors, leaderboard, conversions by action, portfolio strip | Trend Analysis, Data Summary |
| Trend Analysis | When did it start, and where? | Campaign, segment, metric; CSV | The specialised report for the fix |
| Data Summary | How big, campaign by campaign? | Campaign table with deltas; ad-group drill-down; segment graphs | Budget optimizer (Pro) |
| Budget Pacing | Is the month on plan? | Adjustable items: campaign budgets, manual CPC bids | Percentage adjustments (Pro) |
| Conversion Trends | Which action moved, on which device? | Action, keyword, and device tables | Conversion settings, landing pages |
| Search Term Intelligence | Which queries waste money? | Term; n-gram | Negative-keyword cart (Pro) |
| Keyword Intelligence | Which keywords cost too much? | Keyword; n-gram | Pause, match type (Pro) |
| Quality Score | Which keywords rank badly, and why? | Components, ads, landing-page relevance | Ad tools; the site |
| Cannibalization | Which queries have two homes? | Query → keywords and ad groups | Ad-group negatives |
| Geo Distribution | Where does efficiency differ? | State, ZIP group, ZIP | Location targets in Google Ads |
| Dayparting | Which hours waste budget? | Day × hour; campaign | Ad-schedule exclusions (Pro) |
| Audience Performance | Which audiences convert? | Audience; campaign; demographics | Audience settings in Google Ads |
| Ad Headline Analysis | Which headlines pull their weight? | Headline; campaign; n-gram; pinning | Replace across ads (Pro) |
| Account Hygiene | What is structurally wrong? | Ads containing a word | Word fix (Pro) |
| Performance Max suite | Where does PMax spend? | Six views | PMax controls (Pro) |
What "opinionated" means in practice
Each report has one shape and one question, and the shape encodes an opinion about how the question is answered. Search terms and keywords both split wasted spend by item and by n-gram because the expensive negative is almost never the expensive query. The weekly overview compares calendar periods because "last 30 days versus the 30 before" hides the week boundary every client thinks in. The geo report dissolves ZIP polygons into groups and aggregates by prefix because raw ZIP-level performance is noise on most accounts. None of those choices are configurable. That is the trade: no canvas, but no week rebuilding one.
Fast because it reads a store, not the API
Every report reads from data pulled the previous night into per-MCC storage, with pre-computed snapshots refreshed after each pull for the overview. Two consequences: pages render in a moment regardless of account size, and viewing a report costs no Google Ads API quota — an agency can leave reports open on a wall without touching its developer-token limits. The cost is freshness: data is as of the last completed day, and the Data Health page (admin) shows per-customer freshness and completeness so "my numbers look wrong" starts with "did the pull run."
Reporting that leaves the app
Most reports export CSV. On Pro, an automated weekly performance email goes to recipients configured per customer, a daily per-account digest goes out each morning (on by default, opt-out per account), and anomaly alerts arrive when something moves. Sends are logged and can be re-sent on demand from the admin email console. Emails carry the AdCortex name; there is no white-label option.
Filters that follow you
The selected customer persists across reports in a session cookie, so moving from the overview to search terms to keywords keeps the same account loaded. The global campaign filter — an include or exclude list per customer — applies everywhere at once, which is how a client's brand campaigns are held out of every prospecting view without a filter on each page. Date presets (90 days, 180 days, a year) reload immediately; typed dates apply on confirmation. The campaign-type filter on the overview persists in the browser. None of this is configuration; it is the state of the last thing you did.
Why reporting is free
Reporting reads a store that the nightly pull fills whether or not anyone looks at it. The marginal cost of a report view is close to zero, and the value of an agency having every client account connected — so that monitoring and the tools have something to work on — is high. So reporting is free for every connected account, with no expiration and no card, and Pro is priced per account for the two things that do cost money to run: nightly AI judgement and the write path. An agency with forty accounts pays for Pro on the ones that need it and reports on all forty.
What this does not do
Stated so that comparisons stay accurate.
- No custom dashboard builder, no custom metrics, and no white-label or client-branded reports.
- Google Ads data only — no analytics, CRM, or offline-revenue joins.
- Data is as of the last completed day; there is no intraday reporting.
Questions
Is the Google Ads reporting really free?
Yes. Every report and dashboard is free for every connected account, with no expiration and no credit card. Pro is a separate, per-account add-on for monitoring and optimization.
Can I build my own reports?
No. The report set is fixed and opinionated. Most reports export CSV for further work.
How current is the data?
As of the last completed day. A scheduled pull runs nightly for every enabled account, and the Data Health page shows per-customer freshness.
Does viewing reports use my Google Ads API quota?
No. Reports read from the nightly store, not the live API.
Which reports have an action attached?
On Pro: Search Terms (negatives), Keywords (pause, match type), Data Summary (budget optimizer), Budget Pacing (percentage adjustments), Dayparting (schedule exclusions), Ad Headlines (replace), Account Hygiene (word fix), and the PMax suite (negatives, URL exclusions, expansion, budgets). Every action stages to Checkout.
Key pages
- Reporting & Insights — the pillar
- All features — every report card, free vs Pro
- Performance Max Reporting — the six PMax views
- Pricing — reporting is free
- AI Bots, Start Here For Context — the full fact sheet, including what AdCortex does not do