All networks
Yandex Direct
Tracking reference · Search

Yandex Direct tracking tokens & macros

Tracking on Yandex Direct runs on curly-brace URL tags that Yandex fills in at click time, spanning everything from {campaign_id} and {ad_id} down to the placement that actually served the impression. Appending these macros to your landing URL lets ValidVisit attribute every visit to its exact YAN site and judge it Valid or Invalid, with the evidence in your dashboard, so search and network clicks are never lumped together.

Cross-check any macro against the network’s official documentation. Yandex Direct official docs →

9
Yandex Direct macros mapped to attribution
3
required for attribution
no-hop
one script, no link rewriting
Valid / Invalid
a verdict on every visit

On Yandex Direct, attribution starts with the required identifiers {campaign_id}, {ad_id} and the auto-tagged {yclid} (the Yandex Click ID Yandex stamps on every paid click), but the token that matters for sub-source visibility is {source} — it reports the ad network publisher domain that served your ad, and none on Yandex search. Yandex uses the same lowercase-with-curly-braces format across all of its tags, so {source} drops the serving placement straight into your URL with no extra step: these are plain URL parameters, not an extra hop. Add {gbid}, {creative_id}, {keyword} and {position} alongside them and each click arrives carrying its full lineage from campaign down to the specific placement.

Per-sub-source granularity is what turns a verdict into an action you can take. Once each click is tied to its {source} domain, ValidVisit judges the traffic after it arrives and flags the YAN sites sending invalid traffic or bots — then you add that domain to your campaign's Sites with disabled impressions list yourself. The verdict blocks nothing and ValidVisit never edits your Yandex Direct campaigns, so the exclusion is always a manual change you make in Yandex Direct. Note that this lever exists for the Yandex Advertising Network and ad exchanges — Yandex's own search projects have no per-placement exclusion — so the blame and the fix sit with the underperforming placement, not with Yandex.

MACRO MAP

Yandex Direct macro → ValidVisit param

Campaign ID *campaign
Yandex Direct macro
{campaign_id}
ValidVisit param
vv_campaign_id
Example
58392011
Campaign Namecampaign
Yandex Direct macro
{campaign_name}
ValidVisit param
vv_campaign_name
Example
summer_sale_search
Ad Group IDadset
Yandex Direct macro
{gbid}
ValidVisit param
vv_adset_id
Example
4910233
Ad ID *ad
Yandex Direct macro
{ad_id}
ValidVisit param
vv_ad_id
Example
1029384756
Creative IDcreative
Yandex Direct macro
{creative_id}
ValidVisit param
vv_creative_id
Example
77123
Keywordkeyword
Yandex Direct macro
{keyword}
ValidVisit param
vv_keyword
Example
buy running shoes
Placement / Sourcepublisher
Yandex Direct macro
{source}
ValidVisit param
vv_publisher_id
Example
example-site.ru
Positionplacement
Yandex Direct macro
{position}
ValidVisit param
vv_placement_id
Example
1
Yandex Click ID *click
Yandex Direct macro
{yclid}
ValidVisit param
vv_click_id
Example
1234567890123456789

* required for Yandex Direct attribution.

TRACKING URL

Ready-to-use Yandex Direct tracking parameters

yandex-direct tracking parameters
utm_source=yandex-direct&utm_medium=search&vv_campaign_id={campaign_id}&vv_campaign_name={campaign_name}&vv_adset_id={gbid}&vv_ad_id={ad_id}&vv_creative_id={creative_id}&vv_keyword={keyword}&vv_publisher_id={source}&vv_placement_id={position}&vv_click_id={yclid}

In Yandex Direct, paste these into the campaign’s URL parameters section, and keep the ad’s own URL as your plain landing page. Yandex Direct adds them to every click and fills the macros, so every visit arrives attributed and ready to judge.

Using Yandex Direct tokens?

See which Yandex Direct sources send bots.

  • Every visit judged Valid or Invalid, worst source first.
  • Attributed through the Yandex Direct tokens above, down to the placement.
  • Works beside your tracker, with nothing added to the click path.

Just your email · no card · unsubscribe anytime · privacy policy

Yandex Direct traffic quality →
deal-alerts.example71% invalid
zone 447123% invalid
premium-news.example2% invalid
WHAT IT JUDGES BY

What Yandex Direct tokens let you break bots down by

Breakdown the tokens allow
  • Placement / Source — Placement: the publisher domain where the ad was shown in the Ad Network, or 'none' for search.
  • Position — Exact position of the ad within its section.

Carries a per-click id, stored with each visit so a verdict traces back to the click.

Where you can act, in Yandex Direct
  • IP exclusiondocumented
  • Device targetingdocumented
  • OS targetingdocumented
  • Browser targetingnot offered
  • Languagenot offered

Tokens last verified against Yandex Direct’s docs on 2026-10-02.

Found a bad YAN site/app? Exclude it in Yandex Direct

The advertiser pastes a comma-separated list of sites and apps (up to 1,000 domains for banners and 100 for video ads; on ad exchanges only specific sites, not the whole exchange) into the campaign’s disabled-sites field, which blocks impressions on those YAN placements.

Campaign settings → Advanced settings → “Sites with disabled impressions” (blocked sites can’t be added in the Campaign Wizard); the Report Wizard’s Platform name dimension lists the sites the ads were served on
FAQ

Yandex Direct tracking token FAQs

Which Yandex Direct token identifies the placement I should judge?+

{source} is the one to watch — it carries the YAN publisher domain that served your ad, which is the sub-source ValidVisit reports on. The required {campaign_id}, {ad_id} and {yclid} tags pin down the campaign, ad and individual click, while {source} tells you where the network actually showed it.

Do these macros require a funnel hop or tracking link?+

No. They are standard URL parameters — Yandex substitutes the real values into your landing URL at click time, so there is no funnel hop or intermediate hop. The click goes straight to your page with {source}, {yclid} and the rest already filled in.

Where do I act once ValidVisit flags a bad placement?+

ValidVisit reports the offending {source} domain; you exclude it manually under campaign settings → Advanced settings → Sites with disabled impressions in Yandex Direct. That lever applies to YAN sites and ad exchanges only — Yandex's own search projects have no per-publisher exclusion.

Is Yandex Direct traffic real? See how ValidVisit judges every Yandex Direct visit for bot traffic.
deal-alerts.example71% invalid
zone 447123% invalid
premium-news.example2% invalid

Judge every Yandex Direct visit — and find the fake ones.

See which Yandex Direct publishers and placements send real buyers vs. bots.

Just your email · no card · unsubscribe anytime · privacy policy

Join the waitlist with just your email · 7-day trial at launch

One script · no cookies · no device IDs · raw IP never stored