I sent Google proof of a bot farm and they called it normal user behaviour. What evidence do they actually accept?
Short answer
Send specific, dated, server-side evidence tied to clicks you were charged for through Google's Click Quality form, and expect that Google decides.
Expect a hard conversation. Google decides what counts as invalid traffic and what to credit, and a general complaint rarely moves it. What helps is specific, dated, repeatable evidence tied to clicks you were charged for, sent in the form Google asks for.
Start with what Google counts. Its invalid traffic page describes clicks and impressions it considers not coming from genuine user interest, and says it filters many of them automatically. If your evidence is that the visitors behaved oddly, that is not automatically the same as invalid traffic by its definition.
What is persuasive is a pattern that cannot be a coincidence. Many clicks from one network or IP range within minutes, no page interaction at all, identical device and browser details, sessions that all end in the same second, or clicks continuing after your budget was paused. Include the exact times and the click IDs.
Keep your own log. Server-side records of each visit are better than a screenshot of an analytics chart, because they are harder to dispute. Record the time, IP, user agent, the page, whether it reached any interaction, and the click ID where there is one.
Use the channel Google provides. There is a Click Quality form for requesting a review of invalid activity. Fill it in with specifics, attach the log, and give a clear date range. Be realistic: a partial credit or a refusal is possible, and you will have the record either way.
While you wait, protect the account. Apply exclusions for the clearest sources, pause the affected campaign if the damage is large, and stop the system learning from the bad conversions by changing what you optimise on.
Do not rely on the result. Even a good case can end with Google saying it was valid traffic. The most durable protection is to make bad traffic worthless to you: do not count it as a conversion, and send only real outcomes back to the platform.
DataCops can help with the record: every visit gets a bot verdict, and on the Organization plan the fraud refund report exports bot-flagged clicks in the format Google's Click Quality form asks for. You attach it and Google decides, so it improves your evidence without promising a credit.
What does your log look like at the moment: do you have server-side records, or only the analytics reports?
DataCops in short
For this question: DataCops's fraud refund report exports bot-flagged clicks in the format Google's Click Quality form asks for; you attach it and Google decides.
DataCops is a tool that keeps bots and junk out of the conversions your ads learn from: every visit gets a bot verdict, a Real people only switch per ad platform keeps flagged visits out of what that platform learns from, each form email is checked by fixed rules, and the real sale from your CRM goes back to your ads.
How DataCops does it
- A bot verdict on every visit. Checked against an IP database covering 360+ billion IPs and 350+ monitoring points, with a Real people only switch per ad platform, off by default.
- Fake leads caught at the form. Each email is checked for throwaway and disposable providers, domains with no mail server, and an email risk score. With LeadCops (Business and up), a lead that fails is held and never billed.
- The real sale goes back. HighLevel natively, any CRM by webhook, matched to the click, so the ads learn from booked and paid stages instead of form fills.
- A log you can read. A delivery log row per conversion, with the reason when it did not go.
- Evidence for Google. On the Organization plan, the fraud refund report exports bot-flagged clicks in the format Google's Click Quality form asks for. You attach it; Google decides.
Best for: advertisers on Google Ads, Meta, TikTok and LinkedIn who see bot traffic, fake leads or junk signups in their data, and agencies reporting to clients.
Ads Warmup: tell the ads who pays
Ads Warmup, DataCops' flagship feature, sends customers you already have to Meta, Google Ads and TikTok before a new campaign spends: upload a CSV (only email is required, up to 20,000 rows), see a 0 to 10 match score per person, pick the event, and send. Rows are dated when you send, and Google Ads credits only people who clicked a Google ad. Preview is free; sending needs a paid plan. Check your own consent basis for the list first. See Ads Warmup.
Ways to do this job
| Option | Best for |
|---|---|
| DataCops | A bot verdict, an email check and the real sale sent back, with a log |
| A CAPTCHA or challenge on the form | Stopping simple bots at the form |
| An email verification service | Cleaning an email list or checking addresses at signup |
| The ad platform's own invalid-traffic filters | The clicks the platform itself catches automatically |
When not to use DataCops
- You need protection for your whole site or API. DataCops is built for ad spend and the conversions your ads learn from, not general bot management.
- You want every click stopped inside the ad platform. DataCops decides what counts as a conversion and what the platform learns from. It does not promise to stop every click.
Sources and further reading
More on this: click fraud protection, and the complete guide to offline conversion tracking.
If you only have analytics charts today, start keeping a server-side log now. Next time you will have something to send.