On Outbrain, your campaign runs as native recommendations spread across a wide network of publisher sites, so the same campaign can pull clicks from hundreds of very different sections at once. Appending these macros to your landing-page URLs lets ValidVisit attribute every click back to its exact publisher / section AND score it 0-100 for traffic quality. That turns a single blended Outbrain report into a per-source view of where your good and bad traffic actually comes from.
Outbrain populates each macro at click time, so the moment a reader taps a recommendation your URL carries the {{campaign_id}} and the publisher behind it via {{publisher_id}} — the token that identifies the section the buyer actually cares about. The unique {{ob_click_id}} stamps each individual click so ValidVisit can line up every visit one-to-one with no double counting, and {{ad_id}} lets you split quality down to the specific creative. Note that Outbrain's macros use the double-curly-brace `{{...}}` format, so keep them exactly as written; the network swaps in the real IDs automatically once the click fires.
Per-publisher granularity matters because Outbrain blends every section into one campaign line, which hides the handful of publishers quietly sending bots and invalid traffic. Once each click is tied to its publisher / section through {{publisher_id}}, ValidVisit attributes the IVT to a specific publisher / section and reports it with a 0-100 quality score — then you act: add the worst offenders to Outbrain's Blocked Publishers list under Campaign Settings → Blocked Publishers. ValidVisit only reports and scores after the click arrives; it never blocks or auto-excludes anything, so the exclusion stays a manual decision you make in your own Outbrain dashboard.
| Token | Outbrain macro | ValidVisit param | Example |
|---|---|---|---|
| Campaign ID *campaign | {{campaign_id}} | vv_campaign_id | 00abc |
| Ad IDad | {{ad_id}} | vv_ad_id | 00def |
| Publisher IDpublisher | {{publisher_id}} | vv_publisher_id | PUB1 |
| Click ID *click | {{ob_click_id}} | vv_click_id | $ob_click_id$ |
{{campaign_id}}vv_campaign_id{{ad_id}}vv_ad_id{{publisher_id}}vv_publisher_id{{ob_click_id}}vv_click_id* required for Outbrain attribution.
https://yoursite.com/landing?utm_source=outbrain&utm_medium=native&vv_campaign_id={{campaign_id}}&vv_ad_id={{ad_id}}&vv_publisher_id={{publisher_id}}&vv_click_id={{ob_click_id}}ValidVisit attributes the bots to a publisher / section; add them to Outbrain's Blocked Publishers list.
{{publisher_id}} identifies the publisher / section that served the recommendation, which is the unit you exclude on Outbrain. {{ob_click_id}} is the per-click identifier ValidVisit uses to match each visit one-to-one, and {{campaign_id}} groups everything under the right campaign.
No. These are ordinary URL parameters you append to your landing-page URL, and Outbrain fills in the values like {{publisher_id}} and {{ob_click_id}} automatically at click time. There is no extra hop and no extra link service required.
ValidVisit reports and scores only — it points out the publisher / section sending invalid traffic. You then add that publisher to Outbrain's Blocked Publishers list under Campaign Settings → Blocked Publishers yourself. The exclusion is always a manual step you take inside your own Outbrain account.
See which Outbrain publishers and placements send real, converting traffic vs. bots.
Free trial at launch · lock in early-access pricing
One script · raw IP never stored · GDPR legitimate-interest basis