How the Yandex.Direct auction works
Yandex.Direct is a placement system for search and content ads. You pay for clicks on ads which are displayed in ad blocks on Yandex.Search and ad networks (Yandex Advertising Network and ad exchanges).
Yandex.Direct click cost is not fixed — it is based on the results of an auction among advertisers. Advertisers set bids in a currency, but Yandex.Direct internal units are used for auctions. Bids are converted into internal units in real time. Conversions take place in accordance with the RF Central bank's exchange rate for the given currency on the current day.
The auction takes place in realtime while the user loads the search results page or a page containing ad blocks from the Yandex Advertising Network or ad exchanges. The auction consists of a few steps.
Ad selection and ranking
Ads are selected individually for every ad block on the page that appears in response to a user's search term. Ads are ranked based on a combination of the bid, quality coefficient, and CTR forecast for that specific impression. The ad with the best combination of indicators ends up in the block.
Determining click price
Click price is determined based on ad block type:
Yandex search and YAN search sites use VCG auction rules.
YAN content sites and ad exchanges use GSP auction rules.
VCG auction rules are used to determine the click price in Yandex search results and on YAN search sites. Here we'll describe how click price is calculated for the premium placement block.
Depending on the competition for a specific search query, the block displays 0 to 4 ads. If there are 4 positions in premium placement, then the first position will bring in a traffic volume of 100 units, and second, third, and fourth place will bring in a volume of 85, 75 and 65 units respectively. Traffic volume is a value directly related to the clickability of an ad position. This is not consistent and is calculated for each concrete query. The traffic volume calculation factors in the ad design, number of ads in the block and their designs, and the ad display position on search.
If there are five ads with the same quality coefficients and CTR forecast values, and they are competing for 4 premium placement impressions (in non-expanded formats) with bids of 10, 7, 5, 3 and 2 RUB respectively for the keyword in question, then the ads with the highest bids will be served in the block. The number of clicks on ads and the average cost of such clicks will depend on the advertiser’s location in the block:
Each of the four advertisers who won a spot in the block will get a traffic volume of 65 units. Advertisers don't have to compete for this baseline level of traffic. The price for this minimum amount of traffic is determined by the bid of the fifth competitor who didn't make it into the block (in this case, 2 RUB per click).
The three advertisers with the highest bids are guaranteed to get the additional 10 units of traffic volume (compared to the advertiser in the fourth position). The fourth advertiser competes with them in the auction for these clicks. In this example, the fourth advertiser's bid of 3 RUB determines the price for that additional 10 units of traffic volume.
The additional 10 units of traffic allow the advertiser to move up from third place to second place (the two advertisers with the highest bids are guaranteed to get this traffic). In this case, the third advertiser's bid determines the actual competition for this additional traffic. The third advertiser's bid of 5 RUB determines the price for that additional traffic volume.
The first position brings in an additional 15 units of traffic. The competition with the second-place advertiser bidding 7 RUB determines the price.
Bids not calculated separately based on whether a click is "baseline" or "additional," however. Yandex.Direct calculates the average bid based on the principle that the main share of traffic should not get more expensive as one ascends into higher display locations. When calculating click price, Yandex.Direct uses the clickability coefficients for display positions. This coefficient is not constant; it changes over time and in relation to different search terms.
- How CPC is calculated
If an ad block has 4 display positions with clickability coefficients X1, X2, X3, and X4, and 5 advertisers compete for impressions in the block (with ad bids of Bid1 ... Bid5, and the clickability forecast for these ads for a specific impression is CTR1 ... CTR5), then the click price will be calculated using the following formulas:
The CTR forecast for ads in the block will be used to calculate click price. If bids and quality coefficients are the same across all ads, then the ad with the highest CTR forecast will get the top position.
The four display locations in the ad block have the following clickability coefficients: X1 = 1; X2 = 0.85; X3 = 0.75; X4 = 0.65. Five ads participate in an auction with keyword bids of 10, 7, 5, 3, and 2 RUB. The CTR forecasts for the impression in question are as follows: CTR1 = CTR3 = CTR4 = CTR5 = 10%, CTR2 = 12% (provided that the quality coefficients are the same).
GSP auction rules are used to determine the click price on YAN content sites and in ad exchanges. The click price is determined by the bid set by the closest competitor. For example, if only one ad is placed in the block, then the cost per click for the advertiser who won the auction will be equal to the bid of the participant who took second place.
Let's take a look at how CPC is determined if multiple ads can be placed in the block.
Four advertisers compete for impressions in a block for three ads (for three positions). Their bids are 10, 7, 5, and 2 rubles respectively, and their quality coefficients and CTR forecasts are all the same. Let's assume that an ad in the first position in the block draws the most traffic while the second and third positions get 85% and 75% of the maximum possible traffic, respectively.
The number one advertiser will get the first position. Their ad will get the maximum possible traffic for the given keyword. Every click on that ad will cost 7 rubles.
The second advertiser will get 85% of the maximum possible traffic for 5 rubles per click.
The third advertiser will get traffic for the minimum price of 2 rubles per click, but this still amounts to 75% of the maximum possible traffic for ads based on that keyword.