A roofing client's Google Ads account looked fine on the surface — healthy CTR, traffic coming in. But the conversion rate was almost nothing, and something in the analytics pointed to a traffic quality problem. Here's how we diagnosed it, why we didn't reach for click fraud protection software, and what we did instead that cut wasted spend by 80% without losing a single real conversion.
−80%
Ad Spend Wasted
Same
Real Conversions
$5K–$35K
Value Per Job
The Problem
This client runs a roofing business. Each job they win is worth anywhere from $5,000 to $35,000 — so the economics of Google Ads are straightforward: get the right enquiries, and the returns are significant. When the account was referred to us, the surface-level metrics looked reasonable. The click-through rate was healthy. Traffic was coming in. Budget was being spent.
The problem was that almost none of it was converting. The conversion rate was far lower than it should have been for a local service business with a clear offer and a competitive price point. When we dug into Google Analytics, something else stood out immediately: the bounce rate from this traffic was very high, but so was the average time on page.
That combination is a red flag. Normally, a high bounce rate comes with a very short time on page — someone arrives, immediately decides it's not relevant, and leaves. But when time on page is also high alongside a high bounce rate, it suggests the visits may not be real people browsing at all. Sessions that last an unnaturally long time before bouncing are a common characteristic of automated or forwarded click traffic.
The campaign was running with Search Partners enabled. Search Partners extends your ads beyond Google's own search results to partner sites in the network. For some industries and accounts it performs well — but it also introduces significantly less control over where your ads appear and who sees them, and it's a common vector for low-quality traffic.
"High CTR but near-zero conversions, combined with high bounce rate and high time on page — that's not a messaging problem or a landing page problem. The traffic itself was the problem. We needed to understand exactly which traffic, and why."
The Investigation
The analytics pattern pointed towards click-forwarding — a form of ad fraud where someone repeatedly clicks your ads, usually from changing IP addresses, to drain your budget without any real intent to buy. The knee-jerk response is to buy click fraud protection software. We didn't.
The click fraud protection market sells a compelling story: their software identifies fraudulent IP addresses and blocks them from seeing your ads. In practice, it works against the least sophisticated click fraud — low-effort scripts or competitors clicking from a fixed office IP.
Anyone running a deliberate click-forwarding operation knows this. The standard countermeasure is trivial: use a fresh VPN for every click, and make sure that VPN's exit node is geographically matched to your target location. If the campaign targets roofing customers in a specific metro area, you route every click through a VPN server in that area. To any IP-based detection system, each click looks like a different, locally relevant visitor.
You'd be paying for software that's already been defeated before you install it. Worse, it creates a false sense of security — you assume the problem is handled while the fraudulent spend continues unchanged.
Instead of chasing the source of the fraudulent traffic, we analysed what distinguished converting sessions from non-converting ones. Google Ads provides demographic segment data — age brackets, gender — broken down by conversions, cost, and click volume. When we pulled that data, the pattern was clear.
Users where Google had a confirmed demographic signal — a known age range, a known gender — were converting at normal rates. The cost per conversion from these segments was competitive and in line with what you'd expect for a high-value local service.
Users classified as Unknown or Undetermined — where Google had no demographic signal — were converting at almost nothing. They were generating a large share of clicks and consuming a large share of budget, while delivering almost zero of the actual leads.
Google assigns demographic data based on login status, browsing history, device signals, and various other behavioural indicators. When a user is signed into a Google account and has a browsing history, Google has high confidence in their demographic profile.
Automated traffic — bots, scripts, VPN-cycled click fraud — tends to have none of those signals. Each session looks like a brand-new, unrecognised user with no history, no login, no device continuity. Google can't assign a demographic. It labels them Unknown. That label, it turned out, was the fingerprint we were looking for.
The Solution
Once we understood the pattern, the fix was straightforward: exclude the Unknown demographic segment from the campaign entirely. This is done through Google Ads' audience and demographic settings — you set the Unknown gender segment to "Excluded," and Google stops serving your ads to sessions it can't profile.
We pulled conversion data segmented by demographic in Google Ads, cross-referenced against the GA4 engagement signals (bounce rate, session duration, pages per session). The disparity between known and unknown demographic segments was significant enough to act on with high confidence.
This step matters. If the unknown demographic segment had been generating a meaningful share of real conversions, the exclusion would have been too blunt. In this case, the conversion rate from unknown segments was so low that excluding them carried almost no risk of losing real customers.
We applied a demographic exclusion for Gender: Unknown at the campaign level. This is a native Google Ads setting — no scripts, no third-party tools, no ongoing cost. The campaign immediately stopped serving to unprofilable sessions.
We left Age: Unknown active initially to isolate the effect. Subsequent analysis confirmed Gender: Unknown was the primary driver — it was sufficient on its own to address the problem.
With the wasted spend removed, the account had meaningful budget headroom. Rather than simply reducing the overall spend, we redirected toward the demographic and geographic segments that had consistently produced conversions — concentrating the budget in the areas where it demonstrably worked.
For a roofing business with jobs worth $5,000–$35,000, even a modest improvement in conversion volume from qualified traffic has a significant revenue impact. The efficiency gain created room to grow.
The Results
−80%
Cost Reduction
Ad spend dropped by 80% after the exclusion was applied, with no reduction in the number of genuine enquiries received.
Same
Real Conversions
Conversion volume held steady. The excluded traffic had never been converting — removing it just made that visible in the numbers.
5×+
Conversion Rate
With the low-quality traffic removed, the campaign's measured conversion rate reflected the true quality of the remaining audience.
This situation — good CTR, poor conversion rate, wasted budget that doesn't respond to the usual fixes — is more common than most advertisers realise. It's especially prevalent when Search Partners is enabled. Some indicators that your account may have a similar problem:
High click-through rate but conversion rate that doesn't match your expectation for the offer
GA4 showing high bounce rate alongside high average session duration — both at the same time
Demographic segment data shows "Unknown" or "Undetermined" taking a large share of clicks with near-zero conversions
Search Partners is enabled, particularly in a competitive or high-value local service category
Conversion rate has declined over time despite no changes to the landing page, offer, or keyword strategy
You're in a high-value trade (roofing, construction, legal, finance) where each lead is worth significant money — making your ads a more attractive fraud target
The demographic exclusion approach works because it addresses the symptom at the right level — not by trying to identify and block specific fraudulent IPs, but by removing the entire class of unprofilable traffic that invalid clicks belong to. It doesn't require any third-party tools, and it's free to implement in any Google Ads account.
There is a small amount of legitimate traffic in the Unknown demographic bucket — typically users browsing in private/incognito mode, older devices with limited tracking, or logged-out sessions. However, the analysis in this account showed the conversion rate from Unknown segments was near zero, which meant the real customer volume being excluded was minimal. The tradeoff is highly favourable when the data supports it. This is why we always check the conversion data before applying the exclusion, rather than treating it as a universal recommendation.
Search Partners itself isn't always the problem — it extends reach to partner sites and can perform well for some industries and targeting strategies. The issue was specifically the quality of traffic coming through that channel. Disabling Search Partners entirely is a blunter instrument; it removes all partner traffic including any legitimate volume. The demographic exclusion approach is more surgical — it removes the low-quality subset without sacrificing the potentially useful portion. That said, if Search Partners is consistently underperforming across all segments after analysis, disabling it is a valid next step.
Google does apply automatic invalid click filtering and credits back some fraudulent clicks automatically. However, this filtering is conservative — designed to avoid accidentally removing legitimate traffic — and it doesn't catch everything, particularly when the fraudulent traffic mimics genuine session behaviour (staying on page, loading multiple resources, using unique IPs). The residual invalid traffic that gets through Google's filters is what we're dealing with here. The demographic approach catches a class of traffic that IP-based filtering misses.
It's possible, though proving intent is difficult. The pattern we saw — consistent high volume of unprofilable sessions, geographically plausible, sustained over time — is consistent with a deliberate click-forwarding campaign. It could equally be low-quality bot traffic from Search Partner sites that aren't properly vetted. The origin doesn't change the fix: the demographic exclusion works regardless of whether the source is a competitor, a fraudulent publisher, or automated traffic of any kind. We focus on what we can control and measure rather than attribution.
The demographic analysis approach applies to any Google Ads account where you have enough conversion data to segment meaningfully by demographic. It's particularly useful in high-value local services — roofing, construction, legal, medical, financial services — where each conversion is worth a lot and the economics of click fraud are more attractive. It's also relevant for any account where you're seeing unexplained budget drain or conversion rate decline that doesn't correspond to identifiable changes in the account or the market.
If your conversion rate doesn't make sense given your CTR, or your Analytics data looks off, there may be a traffic quality issue we can identify and fix. We'll analyse your account and tell you exactly what we find.