One Google Ads account. An Australian residential solar installer, running since 2017. Over nine years it spent $32,277,473, bought 7.6 million clicks from 836 million impressions, and recorded 251,780 conversions across 507 campaigns.
In August 2026 we were asked to audit it. The blended cost per lead had drifted to $300–400 and the brief was to get it to $150. What follows is what the data said: pulled directly from the Google Ads API, campaign by campaign, search term by search term, back to the first dollar spent.
Each post stands alone. Together they are the audit.
Lifetime spend | $32.28M |
Clicks | 7.62M |
Impressions | 836M |
Conversions | 251,780 |
Blended cost per lead | $128 |
Campaigns ever built | 507 |
Campaigns running today | 16 |
A suggested reading order
If you read them in number order you get the audit roughly as it happened: what was found in the campaigns, then in the match types, then in the conversion count, then what a bidding change cost, then the tracking, the experiments, the lead forms, and then the general lessons. Parts 1 through 8 are case studies; parts 9 through 16 are positions.
If you only read three: part 4 (what the conversions column is made of), part 13 (why most tests can't detect what they claim), and part 9 (the cheapest channel was the one nobody trusted).
What this is not
The client is anonymised throughout. No company name, no domain, no spend figures beyond what the ratios need. The account's conversion tracking double-counted web form submissions during the audit window (part 4 explains how), so absolute conversion counts are the platform's figures, not unique leads. Ratios and comparisons hold, because the same counting applies to both sides of every comparison.
Every number was pulled via the Google Ads API v25 between 26 August and 6 September 2026. Nothing is illustrative.
The 16 posts
1 of 16 publishedWhat was hiding in the account
- 1
- 3Google Ads phrase match: close variants took 71% of spend at a 45% CPL premiumPublishing 13 September
- 4Google Ads counted three conversion actions on one lead. Target CPA optimised to the sumPublishing 16 September
- 6The GA4 conversion in Google Ads fired on a /thank-you/ page that returned 200 to curlPublishing 22 September
- 8Google Ads lead form conversions are attributed to click date, not submission datePublishing 28 September
Bidding and structure
- 5Google Ads Manual CPC vs Target CPA, 60/40 experiment: $416 vs $152 per lead (p=0.009)Publishing 19 September
- 11Google Ads Target CPA needs ~30 conv/month per campaign. SKAGs give it 2–8Publishing 7 October
- 12Google Ads Target CPA held spend flat 1pm–7pm while CPL ranged $286–$1,003 by hourPublishing 10 October
- 16Google Ads Target CPA ignores device bid adjustments. Mobile took 69% of spendPublishing 22 October
Channels
- 9Google Ads Performance Max: $114 CPL vs Search $126 over $32M lifetime, on 8% of budgetPublishing 1 October
- 10Google Ads broad match: 12 keywords alongside phrase match, zero spend in 10 daysPublishing 4 October
- 15Google Ads video: $1.2M, 2,124 conversions, $567 CPL. Connected TV: $70/click, 0 convPublishing 19 October
Testing
- 2Google Ads Ad Strength 'Excellent' converted at 1.3% vs 3.8% for 'Good' across $75kPublishing 10 September
- 75 of 7 Google Ads experiments stuck in INITIATED; errors only visible in the APIPublishing 25 September
- 13Google Ads A/B tests: a +25% CVR lift needs 66 days at 420 clicks/day (power calc)Publishing 13 October
The archive
- 14Google Ads: 300 exact keywords at $175 CPL were paused; replacements ran at $442–$689Publishing 16 October
Related services
Filed under


