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 score it 0-100 for traffic quality, so you can see which campaigns, ad groups, and search terms 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, creative, and search term the buyer cares about. The notable quirk here is the click ID: Google's gclid isn't a macro you type at all, it's appended automatically through auto-tagging once that setting is on, 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. ValidVisit only reports and scores the traffic after it arrives, it never blocks anything; the levers stay in your own Google Ads account. Because core Search doesn't let you blacklist an individual publisher, you use the scoring as evidence to opt out of Search Partners, apply IP exclusions, and file invalid-click credits, then shift budget away from the segments that consistently score dirty.
| 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 |
| Click ID (gclid) *click | (auto-tagging) | gclid | EAIaIQ… |
{campaignid}vv_campaign_id{adgroupid}vv_adset_id{creative}vv_creative_id{keyword}vv_keyword(auto-tagging)gclid* required for Google Ads attribution.
https://yoursite.com/landing?utm_source=google-ads&utm_medium=search&vv_campaign_id={campaignid}&vv_adset_id={adgroupid}&vv_creative_id={creative}&vv_keyword={keyword}Append these params to your landing-page URL — Google Ads fills the macros at click time, so every visit arrives attributed and ready to score. No funnel hop.
The buyer pastes/uploads the list of bad placements (site URLs, app IDs, YouTube channel/video IDs) as placement exclusions — per campaign, account-wide, or into a shared placement exclusion list applied across accounts (up to 20,000 entries per paste, 65,000 exclusions per account).
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, creative, and search term 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 exclusion and credit actions all happen manually inside your own Google Ads account.
See which Google Ads publishers and placements send real buyers vs. bots.
Free trial at launch · just your email
One script · no cookies · no fingerprinting · raw IP never stored