Google Ads tracking runs on its ValueTrack macros: you drop placeholders like {campaignid} and {keyword} into your final URLs, and Google swaps in the real values on every click. Appending these macros lets ValidVisit attribute each arriving visit to its exact sub-source and judge it Valid or Invalid, so you can see which campaigns, ad groups, and keywords actually send valid traffic.
Cross-check any macro against the network’s official documentation. Google Ads official docs →
On Google Ads, attribution leans on a few ValueTrack tokens. {campaignid} is required and ties every click back to the campaign it came from, while {adgroupid}, {creative}, and {keyword} narrow it down to the exact ad group, ad, and matched keyword the buyer cares about. The notable quirk here is the click ID: Google's gclid needs no macro of its own, it's appended automatically through auto-tagging, which is on by default for new accounts, so ValidVisit can stitch each click to its parameters without a funnel hop or a separate click-id placeholder.
Once each click is tied to its campaign, ad group, and keyword, that granularity is what makes the data actionable. The verdict reports on traffic after it arrives and changes nothing in your Google Ads account; the levers stay there, in your hands. For countries you never want to pay for, ValidVisit’s traffic rules give you the list to paste into the campaign’s location exclusions. Google Search itself has no publisher to exclude, so you use the verdicts as evidence to opt out of Search Partners or exclude individual partner sites at the account level, and to apply IP exclusions, then shift budget away from the segments that consistently come back invalid. Invalid-click credits are Google's own process: it issues them automatically for invalid traffic it detects after billing, and if you suspect more, you can submit its Click Quality Form for activity within the last 60 days. ValidVisit sends nothing to Google on your behalf.
| Token | Google Ads macro | ValidVisit param | Example |
|---|---|---|---|
| Campaign ID *campaign | {campaignid} | vv_campaign_id | 112233 |
| Ad Group IDadset | {adgroupid} | vv_adset_id | 445566 |
| Creative IDcreative | {creative} | vv_creative_id | 778899 |
| Keywordkeyword | {keyword} | vv_keyword | running shoes |
| Networkpublisher | {network} | vv_publisher_id | s |
| Placementplacement | {placement} | vv_placement_id | example.com |
| Click ID (gclid) *click | (auto-tagging) | gclid | EAIaIQ… |
{campaignid}vv_campaign_id{adgroupid}vv_adset_id{creative}vv_creative_id{keyword}vv_keyword{network}vv_publisher_id{placement}vv_placement_id(auto-tagging)gclid* required for Google Ads attribution.
utm_source=google-ads&utm_medium=search&vv_campaign_id={campaignid}&vv_adset_id={adgroupid}&vv_creative_id={creative}&vv_keyword={keyword}&vv_publisher_id={network}&vv_placement_id={placement}In Google Ads, paste these into the Final URL suffix field, and keep the ad’s own URL as your plain landing page. Google Ads adds them to every click and fills the macros, so every visit arrives attributed and ready to judge.
Carries a per-click id, stored with each visit so a verdict traces back to the click.
Tokens last verified against Google Ads’s docs on 2026-10-02.
The buyer pastes the list of bad placements (URLs, app IDs, YouTube channel/video IDs) as placement exclusions — per campaign or ad group, account-wide, or into a placement exclusion list (65,000 account-level exclusions per account; the account-level page allows 20,000 at a time). Account-level exclusions also cover search partner sites and Performance Max, and typically take effect within 12 hours.
There's a small stack of them. {campaignid} is the required one and pins each click to its campaign, and {adgroupid}, {creative}, and {keyword} drill down to the specific ad group, ad, and matched keyword so you can tell which segment a noisy click came from.
No. These are plain URL parameters appended to your final URL, and Google's ValueTrack fills in the real values on click. The gclid is added automatically by auto-tagging, so there's no extra hop and no separate click-id macro to add.
You add them as ValueTrack parameters on your final URL or in the tracking template at the account, campaign, or ad-group level, and make sure auto-tagging is enabled so the gclid is appended. ValidVisit then reads the parameters off each click; the exclusions, and any invalid traffic investigation request to Google, are yours to make inside your own Google Ads account.
See which Google Ads publishers and placements send real buyers vs. bots.
Join the waitlist with just your email · 7-day trial at launch
One script · no cookies · no device IDs · raw IP never stored