A tagged Bidvertiser destination URL looks like yoursite.com/landing?clickid={BV_CLICKID}&src={BV_SRCID}&camp={BV_CAMPID}&ad={BV_ADNAME}. Four tokens cover the click, the traffic source, the campaign and the ad. Bidvertiser fills them at click time, and ValidVisit reads them on arrival, so every visit across its pop-under, push, in-page push, native and direct navigation traffic is attributed to the source that sent it, then judged Valid or Invalid, with its evidence.
Cross-check any macro against the network’s official documentation. Bidvertiser official docs →
{BV_SRCID} is the token that matters most. Bidvertiser treats SourceID and Sub ID as the same thing, the identifier of the placement a click came from, and its Blacklist tool takes only IDs passed by {BV_SRCID}. {BV_CLICKID} identifies the click and is what the Global Postback matches conversions on, which Bidvertiser's Auto Optimization needs before it can act. {BV_CAMPID} keeps campaigns apart, and {BV_ADNAME}, listed on Bidvertiser's Direct Ads page, is your ad's identifier. Bidvertiser writes its macros in capitals with a BV_ prefix, so copy them exactly as shown.
The macro page has a few more. {BV_DOMREF} passes the referring domain, but only on contextual pops, so on other formats it stays empty. {BV_KEYWORD} carries the search term where one applies. Add {BV_DOMREF} on contextual pop campaigns if you want the site next to the source ID. ValidVisit's invalid share per {BV_SRCID} is the list you work from: sources running well above your campaign baseline go into the Blacklist tool, one per line, while a source of valid visits that converts poorly suits a lower bid instead. ValidVisit doesn't change your Bidvertiser ad; the blacklist and the bids are yours to set.
| Token | Bidvertiser macro | ValidVisit param | Example |
|---|---|---|---|
| Campaign IDcampaign | {BV_CAMPID} | vv_campaign_id | cmp_12 |
| Source IDpublisher | {BV_SRCID} | vv_publisher_id | src_5521 |
| Ad Namead | {BV_ADNAME} | vv_ad_id | ad_a |
| Click ID *click | {BV_CLICKID} | vv_click_id | ck_88 |
{BV_CAMPID}vv_campaign_id{BV_SRCID}vv_publisher_id{BV_ADNAME}vv_ad_id{BV_CLICKID}vv_click_id* required for Bidvertiser attribution.
https://yoursite.com/landing?utm_source=bidvertiser&utm_medium=pop&vv_campaign_id={BV_CAMPID}&vv_publisher_id={BV_SRCID}&vv_ad_id={BV_ADNAME}&vv_click_id={BV_CLICKID}Append these params to your landing-page URL — Bidvertiser fills the macros at click time, so every visit arrives attributed and ready to judge. No funnel hop.
Carries a per-click id, stored with each visit so a verdict traces back to the click.
Tokens last verified against Bidvertiser’s docs on 2026-10-02.
The buyer adds the bad source IDs passed by {BV_SRCID} to the ad’s blacklist (or pauses them from the SubIDs tab), sets a lower bid per source instead, or lets Auto Optimization blacklist SubIDs that miss a target conversion rate or cost per conversion.
{BV_SRCID} is Bidvertiser's source ID, passed on every format and the unit its Blacklist tool takes. {BV_DOMREF} is the referring domain, passed only on contextual pops. Judge and blacklist by {BV_SRCID}; use {BV_DOMREF} for context, or when adding a site to the account-wide Domains Blacklist.
{BV_CLICKID}, for conversions: it's what the Global Postback matches on, and Auto Optimization can't act without conversion data. {BV_SRCID} is what makes the verdicts actionable.
In your ad's destination URL, as query parameters, spelled exactly as Bidvertiser writes them: capitals, the BV_ prefix and the braces. Bidvertiser fills them on each click, and ValidVisit reads the values from the incoming visit.
See which Bidvertiser 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