Tracking on Meta Ads runs on URL parameters you append to your destination link, with Meta filling in dynamic macros like {{campaign.id}} and {{adset.id}} at click time and auto-tagging the click with an fbclid. Append these macros and ValidVisit can attribute every visit back to its exact sub-source inside Meta and judge it Valid or Invalid, with its evidence.
Cross-check any macro against the network’s official documentation. Meta Ads official docs →
Meta fills in its dynamic parameters automatically, so {{campaign.id}} is the required anchor and {{adset.id}} plus {{ad.id}} let ValidVisit narrow each click down to the specific ad set and ad driving it, while {{placement}} tells you whether the click came from Feed, Stories, Marketplace, or the Audience Network. The fbclid click id is added automatically by auto-tagging rather than as a macro you type, so as long as your URL carries the campaign, ad set, ad, and placement parameters, every arriving click is tied to a real sub-source rather than an anonymous lump of "Meta traffic".
That per-placement granularity matters because Meta has no per-publisher URL token: the placement is the finest unit a click carries. Once ValidVisit shows which placements are sending low-quality or invalid traffic (IVT), the levers all sit in the tools Meta gives you: uncheck Audience Network under Manual placements in the ad set, upload a publisher block list in the Meta Brand Safety and Suitability Center (it covers Audience Network apps, Facebook in-stream reels, ads on Facebook Reels and profile feeds), and pause the ad sets with the highest invalid share. Meta states that it does not charge for invalid traffic it detects and that refunds are decided case by case at its own discretion. The verdict is a report: it changes nothing in your Meta ad account, so every opt-out, block list or pause is something you do manually in Meta Ads Manager using that evidence.
| Token | Meta Ads macro | ValidVisit param | Example |
|---|---|---|---|
| Campaign ID *campaign | {{campaign.id}} | vv_campaign_id | 120000 |
| Ad Set IDadset | {{adset.id}} | vv_adset_id | 120001 |
| Ad IDad | {{ad.id}} | vv_ad_id | 120002 |
| Placementplacement | {{placement}} | vv_placement_id | facebook_feed |
| Site sourcepublisher | {{site_source_name}} | vv_publisher_id | an |
| Click ID (fbclid) *click | (auto-tagging) | fbclid | IwAR… |
{{campaign.id}}vv_campaign_id{{adset.id}}vv_adset_id{{ad.id}}vv_ad_id{{placement}}vv_placement_id{{site_source_name}}vv_publisher_id(auto-tagging)fbclid* required for Meta Ads attribution.
utm_source=meta-ads&utm_medium=social&vv_campaign_id={{campaign.id}}&vv_adset_id={{adset.id}}&vv_ad_id={{ad.id}}&vv_placement_id={{placement}}&vv_publisher_id={{site_source_name}}In Meta Ads, paste these into the URL parameters field, under Tracking, on each ad, and keep the ad’s own URL as your plain landing page. Meta 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 Meta Ads’s docs on 2026-10-02.
The buyer compiles a TXT/CSV list (max 10,000 lines per list) of app store URLs, Facebook Page URLs and Instagram account URLs and uploads it as a publisher block list in the Meta Brand Safety and Suitability Center, then applies it to their ad accounts, which keeps their ads off those publishers across Audience Network apps, Facebook in-stream reels, ads on Facebook Reels and profile feeds.
There is no per-publisher token, but {{placement}} tells you which placement a click came from, with values such as facebook_feed, instagram_stories and audience_network_classic, and {{campaign.id}}, {{adset.id}}, and {{ad.id}} pin each click to the exact campaign, ad set, and ad. Together they are the closest thing to a sub-source on Meta, and ValidVisit reports the invalid share of each combination.
No. These are plain URL parameters appended to your destination link; Meta substitutes the macro values at click time and adds the fbclid via auto-tagging. No funnel hop, link wrapper, or extra hop is required.
Add them at the ad level in Meta Ads Manager: under Tracking, type them into the URL parameters field or click Build a URL parameter, and Meta appends them to your Website URL. The fbclid needs no setting, Meta attaches it by itself. Keep {{campaign.id}} present since it is the required anchor for attribution.
See which Meta 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