Where the script goes
Paste the ValidVisit snippet before </body> on the landing page Voluum sends visitors to. It sits on that page whichever way the visit arrives:
- Through Voluum’s click-through hop. The ad points at your Voluum campaign URL; Voluum records the visit and sends the visitor on to the lander.
- Direct tracking. The ad points straight at the lander, and Voluum’s Campaign Tracking Script runs at the bottom of the page’s
<head>. The ValidVisit snippet is a separate script on the same page.
The script only runs on hosts listed under Allowed domains in your ValidVisit site, so add the lander’s domain there.
The lander URL for a PropellerAds campaign
ValidVisit reads the network’s values from the landing-page URL, under its own vv_* names. With Voluum in the middle, PropellerAds fills its macros into your Voluum campaign URL, and Voluum’s traffic-source template stores them in custom variables. The lander URL reads them back with {var1} to {var10}, or {var:name} by the variable’s name.
Say your PropellerAds traffic source stores {zone_id} in var1 and {subzone_id} in var2; check the template, since the slot numbers are yours. Add to the lander URL in Voluum:
vv_source=propellerads: names the network.vv_publisher_id={var1}: the zone, the unit you’ll cut.vv_placement_id={var2}: the subzone inside it.vv_click_id={externalid}: the network’s click ID (below).
Start the list with ? and join the pairs with &. Under direct tracking there’s no hop to fill tokens, so put PropellerAds’ macros on the ad’s URL directly, such as vv_publisher_id={zone_id}; the PropellerAds tracking tokens page lists them all. ValidVisit’s Link Wizard builds that list for any network; behind Voluum, swap each macro for the {varN} that holds it.
Click IDs with Voluum
Voluum creates its own click ID when the visitor clicks through from the lander to the offer, so a lander’s URL can’t carry it. What the lander can carry is the network’s click ID, which Voluum holds as {externalid}: send vv_click_id={externalid} and each judged visit keeps the ID the network uses for that click. Check that Voluum fills it in on your lander URL.
ValidVisit reads clickid, click_id and vv_click_id as one field, so send one of them. In a funnel without a lander, where the visitor opens an offer page you own, that page does get Voluum’s click ID: put the script there and add clickid={clickid} to the offer URL.
Under direct tracking, Voluum’s script assigns its click ID after the page loads, so it isn’t on the URL the ad opens. Pass the network’s click ID instead: on PropellerAds, vv_click_id=${SUBID}.
See your own channel judged the same way — join the early-access waitlist.
Read the verdicts next to Voluum’s reports
Voluum reports on the custom variables its template defines; ValidVisit shows the same zones under Publisher and subzones under Placement. They’re one source seen twice: Voluum counts visits and conversions, ValidVisit judges each visit that loaded the page Valid or Invalid, with its evidence.
- Zones that convert but are judged invalid. Check the conversions before you scale; bot traffic that fires a conversion event looks profitable in any tracker.
- Zones with volume and no conversions. A high invalid share points at the traffic, not the offer or the bid.
- Totals that differ. Voluum records the visit before the lander loads; ValidVisit counts visits that loaded the page with the script. Compare shares, not raw counts.
Voluum’s Anti-Fraud Kit and ValidVisit
Voluum says it filters known bots out of its stats on every plan. Its Anti-Fraud Kit, on higher plans only, adds anti-fraud metrics (fast or frequent clicks, poor referrer reputation, unrecognised user agents), IP and user-agent filtering that stops matching traffic before it reaches Voluum, and a honeypot link on the lander that works with click-through tracking only. What the kit flags, Voluum’s docs tell you to block in the traffic source.
Keep it on. It works at the click, and ValidVisit grades whatever gets through, attributed to the zone that sent it; tracker bot filters vs ValidVisit sets the two side by side.
Cut the zones in PropellerAds
ValidVisit never changes your campaigns, rules or ad accounts, and sends nothing into Voluum. It ranks zones worst first and exports the ones worth cutting as a Cut-list CSV for you to paste into Zone Limitation → Exclude in the PropellerAds campaign’s targeting. Blacklisting zones in PropellerAds has the steps; blocking bad sources by network covers other networks.
Voluum’s auto-rules can pause a zone on a traffic source with a full API integration, working from Voluum’s own metrics.
For visitors you never want on the page, ValidVisit’s traffic rules tag visits by country, data-center hosting or VPN and can send them to another page; whole countries can also be blocked at your own firewall. The verdict itself blocks nothing.
Test the setup before you scale
Before real budget goes through, open your Voluum campaign URL with sample values in place of the network’s macros and check:
- The lander’s address bar shows filled-in
vv_*values, not literal tokens. - The visit appears in ValidVisit with the zone under Publisher.
If the kit’s honeypot link or other scripts sit on the lander, confirm each still fires. Retest after any template edit; the {varN} slots move with it.