If a campaign spent its budget and your analytics show visits with no scrolling, traffic from server networks and leads with phone numbers that do not exist, part of what you paid for is almost certainly invalid traffic. The ad industry abbreviates it as IVT.
Invalid traffic is impressions and clicks that do not reflect genuine human interest in an ad: robot visits, automated and repeat clicks, inflation by publishers, fraud. Ad systems split it into general invalid traffic (GIVT), which is caught with simple rules, and sophisticated invalid traffic (SIVT), which disguises itself as people and needs deep analysis.
What invalid traffic means in practice
"Invalid" does not mean "fraudulent". The definition covers everything an advertiser should not pay for:
- robots with no ill intent: search crawlers, link-checking services, robots that build previews for messengers;
- technical junk: repeat clicks by the same person, page prefetching, clicks from background app processes;
- fraud: botnets, click farms, inflation on partner sites, domain spoofing.
An important consequence: a high share of invalid traffic does not always mean someone is cheating you. Sometimes it is just the cost of the format, as in push and popunder traffic, covered in push and pop traffic: how to filter bots.
GIVT vs SIVT: general and sophisticated invalid traffic
The split into two groups comes from the industry's ad measurement standards and is used today by ad platforms and anti-fraud services.
| GIVT: general invalid traffic | SIVT: sophisticated invalid traffic | |
|---|---|---|
| Stands for | General Invalid Traffic | Sophisticated Invalid Traffic |
| What it is | known robots, crawlers, data center networks, software instead of a browser, prefetching | bots posing as people, hijacked devices, malicious extensions, click farms, domain spoofing |
| How it is caught | with lists and rules: address, network, request headers | by analyzing the browser, behavior and links between visits |
| Intent | usually none | usually present |
| Risk of error | low | higher: a person can be mistaken for a bot |
What counts as GIVT
- requests from known data center and hosting networks;
- robots that identify themselves as robots in the request header;
- software that is not a browser and does not run JavaScript;
- prefetching and background requests with no human seeing the ad;
- obviously repeated clicks from one device.
What counts as SIVT
- headless browsers and auto-clickers that fake a browser fingerprint;
- traffic through residential proxies, where a bot goes online from a home address;
- hijacked devices and malicious extensions that click on the user's behalf;
- click farms with real phones;
- domain spoofing, ad stacking, invisible impressions;
- incentivized traffic, where people are paid to click with no interest in the offer.
How to tell a bot from a person by its signals is covered in detail in bot traffic: signs and how to detect it.
Why SIVT is more dangerous than it looks
General invalid traffic is annoying but predictable: almost every platform filters it, and it rarely gets billed. Sophisticated invalid traffic is another matter. It gets past the platform's filters, lands on your site, sometimes leaves leads and damages not only your spend but also campaign learning. The algorithm sees "visitors" who click and do things, and starts looking for more like them. If those visits are not filtered and excluded from the events you send back, the campaign gradually drifts toward an audience that buys nothing. That is why a network filter alone is not enough against SIVT: you need browser and behavior checks and a cross-check against real conversions.
How ad platforms count invalid traffic
Large ad systems check traffic in several stages.
- Real-time filtering. A click or impression is checked immediately, and obvious invalid traffic never gets billed. The advertiser does not pay for it at all.
- After-the-fact review. Some fraud is only visible at volume: recurring patterns, publisher collusion, click bursts. Those clicks are found later and refunded.
- Review on request. The advertiser sends data, the platform investigates and decides whether compensation is justified.
Invalid clicks in Google Ads
Google calls these invalid clicks. In campaign stats you can add columns with their number and rate: these are clicks the system has already filtered and not charged for. Invalid clicks found later are compensated with a credit to your account, visible in your billing history. If you believe the system missed fraud, you can submit a request to support.
Other search and social platforms
Microsoft Advertising, Meta, TikTok and others also filter part of invalid clicks automatically and do not bill for them. How detailed their reporting is varies from platform to platform.
Ad networks and CPA networks
Smaller networks, push and native platforms check traffic in different ways: some have their own anti-fraud and refunds by zone, others only manual investigation. CPA networks check leads instead and reject invalid ones after the hold. Which systems sit at each level is covered in anti-fraud system: what it is and how it works.
Tip. The invalid click count in the ad account is what the platform itself admitted to. A zero in that column does not mean there is no invalid traffic: it may have passed the platform's filter and reached your site.
How to spot invalid traffic in your own data
The platform will not show you which clicks it considered invalid. That is why you need your own records even if you trust its filters.
- Compare clicks in the ad account with visits on the site. A small gap is normal. A large, persistent one is a sign of robots that do not run JavaScript.
- Look at networks. The share of visits from data centers, hosting and proxies is visible in any log with provider data.
- Check the click ID. An ad visit without
gclid,fbclidor another platform click ID deserves a closer look. More on click IDs in fbclid, gclid, ttclid explained. - Group by placement and zone. Invalid traffic almost always clusters: a few partner sites send most of the junk.
- Look for repeats. Lots of clicks from one address or one subnet in a short time.
- Cross-check with conversions. A placement with high volume and zero leads while the others perform normally is the first one to check.
To turn this into a number, look not only at the share that was filtered but also at the quality of what is left. That is covered in traffic quality: how to evaluate and check it.
Invalid traffic across ad formats
What invalid traffic consists of depends heavily on what you are buying.
| Format | What most often ends up as invalid traffic | What to look at |
|---|---|---|
| Search ads | click fraud by competitors, link-checking robots | repeats from the same addresses, clicks early in the day |
| Social | preview robots, link checks, some bots | visits without a click ID, hosting networks |
| Display and partner networks | inflation on partner sites, mobile apps with accidental clicks | clicks concentrated on specific placements |
| Native ads | fraudulent zones, bots on cheap placements | report by zone and partner site |
| Push and popunder | automatic opens, botnets, fraudulent subscriptions | uniform devices, zero time on page |
| In-app ads | emulators, device farms, install spoofing | identical device models, night-time activity |
The practical takeaway: how you look for invalid traffic also depends on the format. In search, repeats and the click ID matter most; in native, the breakdown by placement; in apps, device analysis. Mobile apps have their own article: in-app traffic and fraud.
How much invalid traffic is normal
There is no universal norm, and any promise of a "normal rate" of so many percent deserves skepticism. The share of IVT depends on the format, geo, placement and even the time of day. Search ads with a click ID and paid social traffic are usually cleaner; push, popunder and cheap native networks are dirtier.
So it makes more sense to compare a source with itself: is the share of invalid traffic holding at a steady level, did it jump after a change of placements or creatives. A sharp increase is a signal to investigate. A slow, constant level is something to factor into the price per click.
How to get a refund for invalid traffic
- Collect data. Addresses, networks, times, click IDs, placements, the filtered share by day. Without specifics, a request will achieve little.
- Check what the platform has not already counted. Reconcile your numbers with the invalid clicks column and the credits on your account.
- File a request with the platform's support and attach the export. Stick to facts: "on these days, these subnets sent this many clicks without JavaScript".
- Exclude the source, whether placements, zones or addresses, without waiting for a reply.
- Recalculate the economics. If invalid traffic is consistently high and there is no compensation, negotiating the price or switching the source pays off better than disputes.
How ArtisanClo shows invalid traffic
ArtisanClo checks every visit before the offer and explains the decision with a clear reason: "Search or platform crawler", "A program, not a browser", "High-risk network", "Trust score too low" and dozens of others. It connects with a JS tag or a PHP file on your site.
Every rejection belongs to one of three steps, following the same logic the industry uses to split invalid traffic into general and sophisticated:
| Step in ArtisanClo | What it means | Closer to |
|---|---|---|
| Network and request | filtered by address, network, provider, headers, click ID, flow rules | GIVT |
| Browser check | the script ran but revealed automation or did not earn enough trust | SIVT |
| Check never came back | the check page was served but no answer came back, which is how software without JavaScript behaves | GIVT |
The shares of the three steps are shown above the list of reasons in Statistics, and the step for an individual click is in its breakdown in the click log. If you only want to measure invalid traffic without blocking anyone, use Tracker mode: with the PHP file connection all visitors go to the offer, bots are only labeled, and the report shows what part of the paid traffic was bots. The click log exports to XLSX, which is ready material for a request to the platform.
From there the data works for your money: in modes with the tracker, ArtisanClo counts spend, revenue and ROI by source and parameter, and conversion sending to Google Ads, Meta and TikTok (from Professional) trains the platform's algorithm on real people. How the filter works overall is covered in traffic filtering: what it is and how it works, and the capabilities are on the features page.
Summary
Invalid traffic is everything an advertiser should not pay for: robots, technical junk and fraud. General invalid traffic (GIVT) is filtered with rules by address and network; sophisticated invalid traffic (SIVT) disguises itself as people and requires browser and behavior analysis. Platforms filter part of it themselves and compensate what they find later, but do not show which clicks they considered invalid. That is why your own visit log with reasons is the only way to see IVT, put a price on it and make a well-argued refund request.



