Google Ad Auction Explained
Everyday when you search a particular query on Google, you are faced with an ad that comes through an auction! This auction happens…
Google AdRank Explained
Everyday when you search a particular query on Google, you are faced with an ad that comes through an auction! This auction happens in realtime and a lot of advertisers participate in it to show their ads to you. But how does that auction really happen and how does Google pick the winning ad that you end up seeing?
Photo by Wesley Tingey on Unsplash
There are three parties in this auction: the advertisers, the user (you) and Google. The advertisers want to show relevant ads with the hope that you’ll click on them and buy whatever they might be selling. You want to be shown only relevant ads (if at all), and not be bothered by spam. Google on the hand, wants both the user and the advertiser to have a good experience to keep them in the Google platform.
Let’s explain this auction with an example. Let’s assume we have 3 slots to show ads to a user and we have 4 agents bidding to appear on those slots. Traditionally, a decade ago, Yahoo! would have ranked these ads completely based on the bid price and nothing else. That is, the highest bidder would be show to you. This scheme, however, ended up being a bad experience both for you, as you were seeing irrelevant ads, and for the advertisers, as they were not able to convert you since you were not clicking on these ads.
+---------+-----+----------+
| | Bid | Position |
+---------+-----+----------+
| Agent1 | 4$ | 1 |
| Agent2 | 3$ | 2 |
| Agent3 | 2$ | 3 |
| Agent4 | 1$ | - |
+---------+-----+----------+
To overcome this problem, this scheme over the years have been modified to take into account the Quality Score of the Ads. This score is composed of 3 parts:
- Click through rate (CTR)
- Relevance of the ad to the search
- Landing page quality (LPQ)
Through elaborate Machine Learning models, Google calculates the probability of each ad getting clicked by a user. This probability is referred to as the click-through rate or CTR for short. Again, through elaborate ML models, the relevance of the ad to your search query is also calculated. The quality of the landing page, the page you would be taken to if you clicked the ad, also becomes a part of the Quality Score. Number of popups, original content, ease of navigation all improve the landing page quality. Using the CTR, Relevance and LPQ; Quality Score can be calculated as a function of the three. And it’s this quality score together with the bid value that determines the position of the ad.
For example, for the third agent in our example, the quality score * bidis the highest and therefore this ad is shown at position 1 even though the bid itself was not the highest bid.
+---------+-----+----+--------+----------+
| | Bid | QS | AdRank | Position |
+---------+-----+----+--------+----------+
| Agent1 | 4$ | 1 | 4 | - |
| Agent2 | 3$ | 3 | 9 | 2 |
| Agent3 | 2$ | 6 | 12 | 1 |
| Agent4 | 1$ | 8 | 8 | 3 |
+---------+-----+----+--------+----------+
Now that we have a good ranking of the ads and know how to position them in the search results, let’s move to the cost of each ad click (CPC). This is the dollar amount that the advertisers are willing to pay to Google when you click on the ad and hence the name cost per click.
Google employs an auction scheme called English Auction with second highest value. In an English Auction, the bids are increasing in price, whereas in a Dutch Auction, the bids are decreasing in price with each iteration. Without getting into the theoretical reasons, there are auction schemes where the bidder pays the second highest price for the item. This scheme will allow the bidders to go up to their true value of the auction. It’s this scheme second highest value English Auction that Google employs.
To simplify, let’s start with a simple example and not consider the quality score. With the original agents, each bidding 4$, 3$, 2$ and 1$ respectively, the first agent would win the first slot and would pay the second highest bidder, which is 3$. Likewise, the second agent would win the second position and pay 2$.
+---------+-----+----------+------+
| | Bid | Position | CPC |
+---------+-----+----------+------+
| Agent1 | 4$ | 1 | 3$ |
| Agent2 | 3$ | 2 | 2$ |
| Agent3 | 2$ | 3 | 1$ |
| Agent4 | 1$ | - | - |
+---------+-----+----------+------+
To finalize the Google Auction calculation, let’s consider the quality score and ad rank as well. In this scenario, instead of paying the second highest bid, each advertiser would pay an amount that is necessary to beat the ad rank of the second highest bidder.
For example, agent 3 would need to pay the amount that would need to beat 2nd agent’s ad rank of 9. Since ad_rank=bid * qs, agent1 needs to beat an adrank of 9, 9/6=1.5$ is the value that it needs to pay. We should note that each agent is actually paying less than their initial bids as a result of the second highest bidder scheme that’s employed.
+---------+-----+----+--------+----------+---------+
| | Bid | QS | AdRank | Position | CPC |
+---------+-----+----+--------+----------+---------+
| Agent3 | 2$ | 6 | 12 | 1 | 9/6=1.5 |
| Agent2 | 3$ | 3 | 9 | 2 | 8/3=2.6 |
| Agent4 | 1$ | 8 | 8 | 3 | 4/8=0.5 |
| Agent1 | 4$ | 1 | 4 | - | - |
+---------+-----+----+--------+----------+---------+
In the next few posts, I’ll describe how Google or other entities actually calculate the click through rate and ad relevance using machine learning.
Photo by Darren Chan on Unsplash
메타데이터
- post_id
- 1ca618a3c44a
- slug
- google-ad-auction-explained-1ca618a3c44a
- url
- https://medium.com/@bilgincc/google-ad-auction-explained-1ca618a3c44a
- canonical_url
- https://medium.com/@bilgincc/google-ad-auction-explained-1ca618a3c44a
- author_url
- https://medium.com/@bilgincc
- status
- ok
- fetched_at
- 2026-06-17 10:21:25