Kadam runs your native campaigns across a wide pool of partner sites, so a single campaign can pull clicks from dozens of placements at once. Appending these macros to your landing-page URL lets ValidVisit attribute every visit back to the exact site it came from, then judge each visit Valid or Invalid, with its evidence. That turns a flat click count into a per-site picture of what's actually arriving.
Cross-check any macro against the network’s official documentation. Kadam official docs →
On Kadam, attribution rides on the curly-brace macros the network swaps in at click time. The token that matters most for cleanup is {site_id}, which names the individual partner site behind each click — that's the sub-source a buyer actually cares about. You'll also want {click_id}, the one required token, so every visit has a unique key ValidVisit can tie its verdict to, alongside {campaign_id} and {ad_id} for context. These are plain URL parameters in Kadam's lowercase, underscore, curly-brace format — no funnel hop or extra hop is involved.
Per-site granularity is what makes the data actionable. Once each click is tied to its {site_id}, you can see which specific sites send valid traffic and which lean toward invalid traffic / IVT and bots, instead of writing off the whole campaign. ValidVisit judges each visit after it arrives and leaves your Kadam account alone, so when it flags a bad site_id, you take that ID and add it to your Kadam campaign site blacklist yourself. The exclusion happens manually, in Kadam's own dashboard, and the problem sits with the underperforming site, not the network.
| Token | Kadam macro | ValidVisit param | Example |
|---|---|---|---|
| Campaign IDcampaign | {campaign_id} | vv_campaign_id | cmp_91 |
| Site IDpublisher | {site_id} | vv_publisher_id | site_4471 |
| Ad IDad | {ad_id} | vv_ad_id | ad_22 |
| Click ID *click | {click_id} | vv_click_id | clk_77 |
{campaign_id}vv_campaign_id{site_id}vv_publisher_id{ad_id}vv_ad_id{click_id}vv_click_id* required for Kadam attribution.
https://yoursite.com/landing?utm_source=kadam&utm_medium=native&vv_campaign_id={campaign_id}&vv_publisher_id={site_id}&vv_ad_id={ad_id}&vv_click_id={click_id}Append these params to your landing-page URL — Kadam 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 Kadam’s docs on 2026-10-02.
The buyer pastes site IDs (one per line) into the campaign’s site blacklist; source IDs and IP ranges go in the same settings.
{site_id}. It maps each click to the individual Kadam partner site that served the ad, which is exactly the value you add to your campaign site blacklist when ValidVisit flags it as a source of invalid traffic.
No. {campaign_id}, {site_id}, {ad_id}, and {click_id} are ordinary URL parameters appended to your landing-page link. Kadam fills them in at click time — there's no funnel hop, no extra hop, and no script to install.
Put them on your destination URL at the campaign level, so every click carries the tokens. {click_id} is required; the rest are optional but recommended so ValidVisit can attribute and judge each visit by site. When a site_id is judged invalid too often, exclude it manually via Kadam's campaign site blacklist.
See which Kadam 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