Directly on the website
The code can be placed before the closing </head> tag or through a script-management module.
This guide covers only the features used by platform customers: integration, behavioural metrics, AI scoring, evidence review and management of IP exclusions.
utm_source=fraud to the ad URLs.The tracking code records visits and behavioural signals. To distinguish paid visits from other traffic, the ad URL must contain the following marker:
https://example.com/?utm_source=fraud
When the URL already contains parameters, add the marker with an ampersand:
https://example.com/?utm_campaign=search&utm_source=fraud
The code can be placed before the closing </head> tag or through a script-management module.
Use a Custom HTML tag and trigger it on every page that should be measured.
| Metric | What it measures | How it is used |
|---|---|---|
| Active time | The time during which the page is active and the visitor interacts with it. | Helps distinguish genuine browsing from a page that was opened and abandoned. |
| Total dwell time | The duration of the session, including periods without activity. | Used as context, but not sufficient on its own. |
| Scroll depth | The deepest point reached on the page. | Shows whether the content was explored in depth. |
| Interactions | The number of clicks on links, buttons and interactive fields, without recording their content. | Contributes to the quality score but does not automatically make a session engaged. |
| Key actions | Important actions explicitly marked with data-engagement-action, for example submitting an enquiry. After a successful AJAX form response, the following event can be dispatched: clickshield:key-action. | Can qualify the session as engaged, similarly to a key event. |
| Viewed pages | The total number of pages loaded by the address. | Distinguishes a single landing-page click from deeper browsing. |
| Ad visits | Loads during which the ad marker was detected. | Compared with total pages, repetition and behaviour. |
For each website, the dashboard shows three separate engagement-rate values: all measured sessions, ad traffic tagged with utm_source=fraud and the remaining direct, organic and referral traffic. Engagement rate is the share of sessions with at least 10 active seconds, 2+ pages or an explicit key action marked with data-engagement-action.
A separate behavioural score /100 is displayed alongside the percentage. It combines active time, scroll depth, genuine actions, page count, focus and an engaged-session bonus. This prevents an easily reached combination from automatically receiving 100 points.
| Score | Recommended action | Practical meaning |
|---|---|---|
| 85–100 | Block | Several matching risk signals and sufficient evidence are present. |
| 65–84 | Monitor | A suspicious pattern is present, but more time or human review is required. |
| 0–64 | Do not block | The data does not justify restricting the address. |
Each decision includes the reasons, ad visits, post-click pages, behaviour and relevant network context. The final action remains under human control.
Once an address is approved for blocking, it moves to a separate section for the relevant domain. A user sees only their own website, while an administrator can filter all domains.
IP addresses that have been approved but not yet confirmed as added to Google Ads.
History of addresses whose manual addition has been confirmed by the user.
Copy the addresses or download a TXT/CSV file containing only current tasks.
Mark an address as not added when it has been removed from Google Ads or confirmed by mistake.
Open the relevant campaign, then Settings → Additional settings → IP exclusions. The availability of this setting depends on the campaign type.
ClickShield does not replace A/B testing and does not automatically change landing pages. The platform helps separate suspicious and low-value traffic from the behaviour of genuine visitors.
Approved IP addresses can be excluded to limit their repeated participation in future ad impressions.
When irrelevant traffic is separated, the relationship between visits and genuine actions can be interpreted more accurately.
Active time, scroll depth, interactions and session depth reveal where visitors lose interest.
Budget and optimisation effort can be directed towards campaigns and visitors showing genuine signals of interest.