It is 2 a.m. and someone searches "emergency plumber near me". Your ad shows, the phone button gets tapped, and the call lasts seconds. Was that a burst pipe, a bot, a rival, or someone far outside your area?
Who Clicks a Plumber's Ad at 2 A.M.?
The people clicking a home services ad at odd hours are often real searchers, some of whom you cannot serve, plus a smaller group with no interest in hiring you. That second group is what click fraud means in this trade.
The local cast looks like this:
- Rival contractors. A competitor in the same town who taps your ad to use up your budget.
- Lead sellers and aggregators. Businesses that resell home services leads and bid on the same searches.
- Bots. Automated traffic that clicks ads with no person behind it.
- Curious locals. People who tap to check a price, with no job to book.
- Out-of-area searchers. Real people with real problems in a town you don't cover.
Home services draw this attention because emergency clicks can cost more than routine terms in many markets and local daily budgets are small. A few wasted clicks can end the day's spend early.
Google's definition of invalid traffic is "traffic that doesn't represent genuine interest in your business", and its list explicitly "includes competitors who manually click to increase your spend" (About invalid traffic, Google Ads Help). Google also says "You won't be charged for invalid clicks or impressions" (Invalid clicks, Google Ads Help).
Notice who on that list Google does not count: the curious local and the out-of-area searcher are genuine. You pay for them unless your settings stop them.
Your Service Area Is Bigger Than You Think: Presence vs Presence or Interest
Your ads can reach people outside your service area because Google's default location option includes people who only show interest in it. Google's About advanced location options page calls "Presence or Interest" the "default and recommended option". The alternative, Presence, "lets you show your ads to people who are likely to be located, or regularly located in the locations you've targeted."
Interest is broad. Google says people show it "through terms used in their searches, if they were recently in a location, or through content they view related to the location." By that description, a search naming your town from another state can match your campaign.
Exclusions work the other way. The same page says "By default, you'll exclude people likely to be located in your excluded locations", which is Presence. So a contractor who targets one county and excludes the next is still reached by out-of-area interest searches unless the targeting option is changed too. Google's page gives no menu path, so change the targeting option in the campaign's location settings.
Then check where your ads actually ran. Google's View locations and distance reports page points you to Insights & reports, then "When and where your ads showed", then the "Matched locations" tab. Google warns that these "could be users' physical locations or locations of interest", so treat the report as a signal, not a precise map.
Our verdict: use Presence for nearly every local contractor. It is wrong for one group: if people book work for a parent's home from another town, Presence will miss some of them. Test it on one campaign and watch booked jobs, not clicks. Clicks from abroad are a separate, country-level issue, covered in why Google Ads gets clicks from other countries.
Fake Locals: When VPN and Proxy Traffic Looks Nearby
Some out-of-area traffic looks local because location is partly inferred from the IP address. Google's About measuring geographic performance page lists "We can't determine the location from the IP address" as one reason an area shows as unspecified, and notes that "IP addresses are routinely re-assigned". A VPN or proxy that exits near your town can make a distant visitor, or a bot, appear to be next door. The reverse problem matters too. Google says "An IP address isn't always unique to one device", because offices and mobile carriers share one public address across many people (About invalid traffic, Google Ads Help). Blocking a shared IP can block real customers. We cover the detection side in how to protect Google Ads from VPN traffic.
Call Assets and Call-Only Ads: Where Call Fraud Hides
A tap on your phone number is billed like a click, and it never loads your website. Google's About call assets page says clicks on call assets "cost the same as headline clicks". That is where the location setting and call billing meet: an out-of-area tap allowed by Presence or Interest becomes a paid call you cannot serve.
Call-only ads go further. Google's call ads page says "a click on call button will initiate a call directly to your business". Only a headline or description click with a final URL leads to your landing page. Call ads are also being retired. Google's timeline says that in February 2026 "All options to create new call ads will be removed", and that in February 2027 "Existing call ads will stop receiving impressions." Google says "We strongly recommend migrating your call ads to call assets immediately."
Moving to call assets does not remove the blind spot. A call tap still skips your site, so nothing on your landing page can check who is calling.
Junk calls tend to show up as very short calls, the same number calling repeatedly, robocalls or silence, and bursts at hours when no one can book a job. None of these proves fraud on its own. A real customer with a flooding basement may hang up and call back, so look for patterns that repeat.
Google does check some calls itself. Its call recording page says "Google monitors and records a small percentage of phone calls that are initiated by a call-only ad or call asset", for some advertisers in the United States, and callers hear a short notice first. Google describes this as quality and spam monitoring, not a recording service for your team.
Set Up Call Conversions So Junk Calls Don't Train Bidding
A junk call only becomes a bidding problem when you count it as a conversion. Fix the conversion action and Smart Bidding stops learning from it.
Step 1: Turn on call reporting. Google's call reporting page says "To enable or disable this feature, go to Account settings and find the Call reporting section." Call reporting uses Google forwarding numbers, which are available in the countries Google lists on that page. Google's About phone call conversion tracking page says tracking call conversions from ads requires Google forwarding numbers, so check that your country is on the list first.
Step 2: Create a "Calls from ads" conversion action. Google's phone call conversions page gives the path: Summary under the Goals menu, "+ Create conversion action", tick "Conversions from phone calls", "Save and continue", "+ Create conversion", then choose "Calls from ads".
Step 3: Set a minimum call length. The same phone call conversion tracking page says you "set a minimum call length", and only calls that last at least that long count. Pick it from your own call logs: listen to a sample of short calls and find where real enquiries start. Set it too high and you cut quick, real bookings, like a repeat customer who just wants a time slot.
Step 4: Import booked jobs. Send booked jobs back to Google Ads, so bidding learns from work, not rings.
Are your plumbing leads bots? Some may be. Bots and junk submitters also fill website quote forms, so a form that counts every submission trains bidding the same way a very short call does. Fake leads from website quote forms, common in plumbing Google Ads, are the home services version of the problem in the lead quality guide on invalid traffic, and in-ad forms have their own fixes in Google Ads lead form spam.
Here is how the fixes break the chain, using a hypothetical example with no real data:
| Step | What happens | Fix that breaks it |
|---|---|---|
| 1 | "emergency plumber near me" is searched from a city outside your service area | None yet |
| 2 | Presence or Interest lets the ad show | Presence |
| 3 | The searcher taps the call button, billed like a click | Fixed upstream by Presence |
| 4 | The call lasts 20 seconds and counts as a conversion | A minimum call length |
| 5 | Smart Bidding learns to buy more of that traffic | Imported booked jobs as the goal |
Emergency Keywords: Highest CPC, Shortest Fuse
When clicks rise and calls stay flat, check settings and pacing before you suspect fraud. Emergency terms can cost more than routine terms in many markets, so the budget can run out faster.
Some of a budget gone by midday is Google working as designed. Google's daily budget page says "On a given day, your campaign might spend up to twice your average daily budget to take advantage of fluctuations of traffic", and "At the end of the month, you will have spent no more than 30.4 times your average daily budget." So a heavy morning does not by itself mean someone attacked the campaign.
What to do with emergency terms:
- Give them their own campaign. Their budget then cannot starve routine service ads.
- Schedule them to your answering hours. An ad that rings when no one answers buys a missed call.
- Check the location fix first. Emergency searches often name a town.
- Read the invalid clicks column weekly. It shows what Google already filtered.
We give no CPC figures for emergency terms, because they vary by market and Google publishes none.
Is a Local Competitor Clicking Your Ads?
A local rival clicking your ad leaves a local pattern: clicks from your own ZIP code, during business hours, that never turn into a call or a form. In home services the rival often works the same streets as your customers, so location alone is a weak signal.
Look for repetition, not a single click. One tap from a rival's office is not proof of anything, and Google says an investigation "won't be able to confirm if specific clicks were marked as valid or invalid" (About invalid traffic, Google Ads Help). The wider playbook is in how to stop competitors clicking your ads.
Do Local Services Ads Have Click Fraud? What Google Credits and What You Catch
Local Services Ads bill per lead, so the risk is junk leads, and Google credits many of those automatically. Google's lead credits troubleshooter says "Leads are first assessed when the potential customer makes initial contact", and that "In most cases, credits will be applied to your account balance within 30 days." It also says credits for "job type not serviced" and "geo not serviced" leads are no longer supported, and "Lead credits aren't available for health care verticals, tax specialists, or advertisers in EMEA." That page describes a "Rate this lead" survey but no manual dispute process. Google's pages disagree here, though: the Local Services Help introduction still says "you can immediately dispute a lead", with credits for successful disputes in the US and Canada only. Check whether the Leads page in your own account offers a dispute option before you rely on one.
Search ads work differently. Google filters invalid clicks before billing, and if it finds them later, "you receive a credit on your next invoice where appropriate and possible" (Invalid clicks, Google Ads Help). Those credits show as "Invalid activity (or Invalid clicks)" entries (Understanding credits and adjustments, Google Ads Help). To see what was filtered, open Campaigns, click the Columns icon above the data table, use the search next to "Modify columns for campaigns", search for "Invalid clicks" and select Apply (About invalid traffic, Google Ads Help). For a pattern Google missed, the same page offers the Click Quality Form for "activity within the last 60 days". A spike or a shared IP is not proof, so bring the pattern and your dates.
This table is our own summary, built from the Google pages cited above:
| Problem | What Google does | What you must do |
|---|---|---|
| Invalid clicks on Search ads | Filters them, so you are not charged, or lists them as "Invalid activity" adjustments on a later invoice | Check the "Invalid clicks" column. File the Click Quality Form within 60 days for a pattern |
| Clicks from outside the service area | Nothing: Presence or Interest is working as designed | Switch to Presence. Check "Matched locations" |
| Taps on a call asset or call-only ad | Bills the tap like a headline click. Invalid click filtering covers ad clicks, not whether the call was useful | Call reporting, a minimum call length, imported booked jobs |
| Junk or robocalls counted as conversions | Nothing: they meet the conversion rule you set | Fix the conversion action |
| A competitor clicking now and then | Filters it only if detected as invalid. Won't confirm specific clicks | Look for patterns, not single clicks |
| Local Services Ads invalid leads | Screens at first contact. Usually credits within 30 days. No credits for "job type not serviced" or "geo not serviced" | Set job types and service area correctly. Check whether your account still offers a lead dispute |
Seasonal Checklist for HVAC, Plumbing and Roofing
Each trade has a season when search volume, and junk traffic with it, jumps. Run these checks before it starts.
HVAC click fraud: heat waves and the first cold snap
- Confirm Presence, and check "Matched locations" after the first busy week.
- Audit call conversions: reporting on, minimum length set, booked jobs imported.
- Schedule no-heat and no-AC terms to the hours you answer.
- Review the "Invalid clicks" column weekly.
Plumbing: freezes, nights and weekends
- Keep emergency terms in their own campaign and budget.
- Match the ad schedule to on-call cover, including weekends.
- Check call details for repeat short calls.
- Review invalid clicks after each freeze.
Roofing fake leads: storm surges
- After storm news, expect interest searches from outside your area. Recheck Presence and "Matched locations".
- Watch for clicks that never call or fill a form.
- Count only calls above your minimum length.
- Review invalid clicks once the surge passes.
If you exclude IPs by hand, note the cap. Google says "You can exclude up to 500 IP addresses per campaign", and campaign-level IP exclusions are not available for Performance Max, though account-level IP exclusions do cover it (IP exclusions, Google Ads Help). Shared IPs make blanket blocking risky. We explain how to work within the cap in the Google Ads 500 IP exclusion limit.
What ClickFortify Covers, and the Calls It Can't See
ClickFortify cannot see calls placed straight from a call asset or call-only ad. It also cannot see Local Services Ads leads or in-ad lead form submissions. All three happen without a visit to your website, and ClickFortify validates traffic on the landing-page path only.
On that path, it works on Google Ads and Meta. It scores every click on 200+ signals in under 50ms. In Google Ads, it excludes invalid IPs automatically, so repeat sources are blocked at the IP level. It also sends fraud-filtered conversions to Smart Bidding and the Meta Conversions API, so bidding learns from real visitors. On Meta, there is no IP blocking.
Our verdict: it is worth it when your Search and landing-page traffic is more than a weekly manual review can keep up with. It is not worth it yet if most of your spend is Local Services Ads or call-only ads. Fix the location and call settings above first. When your website traffic grows, see ClickFortify pricing.
Frequently Asked Questions
Am I charged when someone taps my phone number in a Google ad?
Yes. Google's 'About call assets' help page says clicks on a call asset cost the same as headline clicks, so a tap on the call button is billed like any other click. That covers the call button on mobile and the 'Call us' button on desktop, which shows your number instead of a page. Neither loads your website, so your site never sees that visitor. Turn on call reporting and count only calls above a minimum length as conversions, so short or junk calls are not treated as wins.
Can competitors click my ads to drain a local budget?
They can try, and Google counts it as invalid activity. Google's 'About invalid traffic' help page lists 'competitors who manually click to increase your spend' as one type of invalid traffic, and the 'Invalid clicks' page says 'You won't be charged for invalid clicks or impressions.' One click from a rival is not proof of fraud, though. Look for a pattern, such as repeat clicks from one area during your business hours, and file a Click Quality Form for activity within the last 60 days if you find one.
Should a local contractor use Presence or 'Presence or Interest' targeting?
Presence, in nearly every case. Google's 'About advanced location options' page says 'Presence or Interest' is the default and recommended option, and it can show your ads to people who only show interest in your area. Presence shows ads to people 'likely to be located, or regularly located in the locations you've targeted.' A plumber cannot send a van to someone three states away. The exception is a business that gets real bookings from people arranging work at a relative's home in another town.
How do I stop short or spam calls counting as conversions?
Use a 'Calls from ads' conversion action with a minimum call length. Google's 'About phone call conversion tracking' page says you set a minimum call length, and only calls that last at least that long count. Calls from ads need call reporting, which uses Google forwarding numbers. Pick the length from your own call logs: find the point where real enquiries start, not a number from a blog. Then import booked jobs as a conversion, so Smart Bidding learns from work you won.
Do Local Services Ads have click fraud?
Local Services Ads bill per lead, not per click, so the risk is junk leads rather than junk clicks. Google's lead credits troubleshooter says leads 'are first assessed when the potential customer makes initial contact', and that credits for leads later judged low quality are usually applied within 30 days. Credits for 'job type not serviced' and 'geo not serviced' are no longer supported, and lead credits aren't available for health care, tax specialists or advertisers in EMEA. Set job types and service areas carefully.
Can ClickFortify block fake phone calls?
No, not calls placed straight from the ad. When someone taps a call asset or a call-only ad, the call goes to your business without loading your website, so ClickFortify never sees it. The same is true for Local Services Ads leads and in-ad lead form submissions. ClickFortify protects the landing-page path: it scores clicks to your site, excludes invalid IPs in Google Ads automatically, and keeps fraud out of the conversions sent to Smart Bidding. Google's 'About invalid traffic' page covers what Google filters itself.
