Revcontent sends native clicks across a network of over 9,000 publisher sites, so the same Boost campaign can perform brilliantly on one widget and bleed budget on another. Appending these macros to your landing-page URL lets ValidVisit attribute every visit to the exact widget it came from, then judge that visit Valid or Invalid, with its evidence.
Cross-check any macro against the network’s official documentation. Revcontent official docs →
On Revcontent, the macro that matters most for cleanup is {widget_id}, which names the specific publisher widget the click came from, paired with {boost_id} to tie it back to the right Boost campaign. The required {conversion_uuid} carries Revcontent's own click id (rc_uuid), so every visit lands with a unique ID already attached, and you can add {content_id} and {adv_targets} when you want to see which creative and targeting combination is feeding a given widget. Note that Revcontent uses curly-brace macros like {widget_id} rather than all-caps tokens, and they go straight into your URL as query parameters, so no funnel hop or extra tracking hop is needed.
This per-widget granularity is what turns a noisy report into an action. Once each click is tied to its widget, ValidVisit flags the widgets sending invalid traffic and bots, and you take that list into the campaign's Widget Targeting section and choose blocklist on each offender yourself, for that campaign only or for the whole account. ValidVisit judges after the visit arrives and never excludes a widget for you, and the bad traffic is on the individual publisher widget, not on Revcontent. You stay in control of which sources you keep paying for.
| Token | Revcontent macro | ValidVisit param | Example |
|---|---|---|---|
| Campaign (Boost) ID *campaign | {boost_id} | vv_campaign_id | 123456 |
| Content (Creative) IDcreative | {content_id} | vv_creative_id | 7890123 |
| Widget IDpublisher | {widget_id} | vv_publisher_id | 84521 |
| Advertiser Targetskeyword | {adv_targets} | vv_keyword | mobile |
| Click ID (rc_uuid) *click | {conversion_uuid} | vv_click_id | a1b2c3d4-5678-90ab-cdef-1234567890ab |
{boost_id}vv_campaign_id{content_id}vv_creative_id{widget_id}vv_publisher_id{adv_targets}vv_keyword{conversion_uuid}vv_click_id* required for Revcontent attribution.
utm_source=revcontent&utm_medium=native&vv_campaign_id={boost_id}&vv_creative_id={content_id}&vv_publisher_id={widget_id}&vv_keyword={adv_targets}&vv_click_id={conversion_uuid}In Revcontent, paste these into Settings > Tracking > Tracking Code on the campaign, and keep the ad’s own URL as your plain landing page. Revcontent 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 Revcontent’s docs on 2026-10-02.
The buyer finds each bad widget ID in Widget Targeting and blocks it at either campaign level or account-wide, or sends a comma-separated list of widget IDs for one campaign through the API’s “Add Blacklist Widget” call. A blocked widget ID included in a later bid CSV upload is unblocked.
{widget_id} identifies the individual widget the click occurred on. That is the unit ValidVisit reports on, so when a widget is sending invalid traffic you can find it by its {widget_id} and add it to your blocklist.
No. The Revcontent macros, including the required {boost_id} and {conversion_uuid}, are just URL query parameters. Revcontent fills them in at click time, so there is no funnel hop, pixel hop, or extra script involved.
Open the campaign's Settings, find the Tracking section at the bottom and click the gear icon next to Tracking Code; variables added there are appended to every content Destination URL in the campaign. ValidVisit then reports which widgets are sending bots and invalid traffic; you exclude them manually in Revcontent under Widget Targeting → blocklist.
See which Revcontent 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