Where to Place AdSense Ads for Higher RPM
Which positions earn, which cost you readers, which break Google's placement rules and how to test one change at a time.
10 min read · Updated
For most blog posts the best AdSense layout is short: one unit after the opening section, one or two more at natural breaks lower in the article, and a sidebar unit on desktop. Add a slim anchor ad on mobile if you want one. That setup keeps ads next to content people are reading, which is the main thing that lifts RPM, and it stays well inside Google's placement rules.
What does not work is guessing from a heat map you saw once. Placement changes earnings through viewability, how much space the page reserves, and how many ads the reader tolerates before leaving. All three can be measured on your own site, and this guide shows how.
Dollar figures come from our benchmark estimates unless they are marked as examples. If your question is whether Google or you should choose the spots, that is covered in AdSense Auto ads versus manual ad units. This guide assumes you are choosing, or at least reviewing, the positions.
Why position changes what an ad earns
An ad earns more when it is seen, and Google has a precise definition of seen. On its Active View page, an impression counts as viewable when at least half of the ad's area is on screen for one continuous second. The AdSense reports show two rates. Active View Measurable is the share of impressions Google could measure at all. Active View Viewable is the share of those measurable impressions that met the standard.
Advertisers who care about viewability tend to value slots that few people see less. A unit in the footer of a long page can load without the reader ever scrolling to it. You can find your own numbers under the Active Views metric family tab in Reports, filtered by ad unit.
Our benchmark model makes a related point. It starts from a reference page with four ads and about 60% viewability, and the reference AdSense page RPM is $7.00 for a Tier 1 audience. The model then splits that between formats: display units 60%, in-article native units 22%, sticky or anchor units 18%. In dollars that is $4.20, $1.54 and $1.26 per 1,000 pageviews. Those are format shares, not position shares, and they are estimates. They show that no single slot carries a page, and that a second or third unit adds income by degrees. The website ad formats guide walks through the reasoning, and real pages sit above or below the reference depending on niche.
In-content units
The in-content slot is the workhorse. Readers are already looking at that part of the page, so the unit is usually viewable, and a responsive unit can use the full text column.
Put the first one after the opening section, not before the first paragraph. A reader who lands from search wants to know quickly whether the page answers their question. An ad above the answer slows that down, and the reader has to work harder to find what they came for. The display format page covers how these units price and feel.
After that, space units by content, not by a fixed count. Every few screens of scrolling is a reasonable rhythm for a long post, and short posts may only deserve one. Keep them away from the spots below:
- Directly under a heading, where the ad can read as part of the heading.
- Right beside an image with text wrapped around it. Google's policies say not to align images with ads.
- Between a question and its answer in a how-to step.
- Two together in the same phone screen.
A table of contents is a special case. The ad can sit after it, but not inside the list, and never between the link and the section it jumps to.
The top of the page
A leaderboard in the header looks like prime space and often turns out to be a trap. It pushes content down on every page load, and on a phone it can fill the first screen.
Google's own best practices for ad placement tell publishers to put ads near content users care about, and to keep important links such as downloads easy to find above the fold. Google Search has a view of its own: its page experience guidance asks whether a page avoids an excessive amount of ads that distract from or interfere with the main content.
Our opinion: show the title and the beginning of the answer first. If you want something above the fold, make it a modest unit under the title, and check on a real phone that the first screen is mostly your content. Where this fails, it fails by degrees, so you will not see an error. You will see time on page and return visits slide.
Sidebars, sticky units and the footer
Sidebars are worth keeping on desktop pages with a long article column. The unit sits beside the text, and a skyscraper or rectangle can stay in view as the page scrolls if the theme makes the sidebar sticky. If you make a unit sticky yourself, check this next: Google's publisher policies say ad code may not be placed in floating box scripts. A sticky sidebar column handled by your theme's layout is a different thing from a script that floats an AdSense unit over the page, so ask the theme author which one you have. Auto ads has its own anchor and side rail formats if you would rather let Google handle that.
Anchor ads stay at the top or bottom of the screen, mostly on mobile, and readers can dismiss them. The sticky format page has our estimates for how they compare. Pick Bottom only in the Auto ads settings if a pinned header would crowd your navigation.
Footers are the weakest spot. A unit below the comments or the related posts is often never scrolled to, so it can rack up impressions that are not viewable. It is usually better to place the last unit just after the final paragraph of the article, where a finished reader is looking for what to read next.
Mobile: one ad per screen
Many sites get most of their traffic on phones. Check your own split in analytics, and if it is mostly mobile, the phone layout is the real layout.
Use responsive units, which Google recommends because fixed sizes have a smaller pool of eligible ads. The generated code includes data-ad-format="auto" and data-full-width-responsive="true", and the help page on modifying responsive ad code shows how to set exact sizes for different screen widths. The same page shows how to hide a unit below a given screen width with a CSS media query, so that no ad request is made at all. That is handy for a sidebar unit that would otherwise be pushed under the article on a phone.
Our rule of thumb: on a 6-inch screen, no more than one ad should be in view at a time. If you scroll through your article and see two together, one of them is paying for the other's annoyance.
The policy lines you cannot cross
Google's ad placement policies are specific. These are the ones that catch honest publishers:
- Keep links, play and download buttons, navigation buttons such as Previous and Next, game windows, video players and drop-down menus away from ads. A violation can follow even when the accidental clicks were not intended.
- Do not bring unnecessary or unnatural attention to ads: no flashing, no arrows pointing at them, no "click here" wording. Offering anything in return for clicks is strictly prohibited.
- Do not place ads under misleading headings. Labels may only be "Advertisements" or "Sponsored links".
- Do not format nearby content so it looks like an ad, and do not make an ad resemble a menu, navigation link or download link.
- For game pages, Google strongly recommends at least 150 pixels between the ads and the edge of the game.
- No ads on pages that exist only to show ads, in pop-ups or pop-unders, in emails, or on screens where private messaging is the main thing.
Many violations come from a layout change, not intent: a new theme moves a "Download" button next to a unit, or a plugin adds a play button. After any theme or plugin update, click through your main page types on a phone. The policy violations guide explains how notices appear and how to ask for a review, and invalid traffic explains why accidental clicks are filtered rather than paid.
The best practices page adds one more test worth using: you can combine ad units, link units and search boxes on a page as long as you do not show more ads than content. Check your longest page and your shortest page against that.
Keeping the page stable while ads load
A placement that earns well can still cost you if the page jumps. Google counts a Cumulative Layout Shift of 0.1 or less as good, at the 75th percentile of page loads, and third-party ads that resize themselves are one of the causes it lists.
Reserve space. Wrap each unit in a container with a minimum height that matches the size you usually see:
<div style="min-height:280px">
<ins class="adsbygoogle"
style="display:block"
data-ad-client="ca-pub-1234567890123456"
data-ad-slot="5678"
data-ad-format="auto"
data-full-width-responsive="true"></ins>
</div>
The number 280 is only a placeholder. A responsive unit can come back in several sizes, so open the Creative sizes report and pick the height that appears most often.
Two traps appear in Google's guidance on unfilled ad units. First, AdSense sets a data-ad-status attribute on each unit with the value filled, unfilled or unfill-optimized, which you can use to collapse empty slots. Second, do not load units hidden and reveal them later. The page warns that if a unit is not initially visible on the page, Google may skip the ad request for it. The Fill empty in-page ads setting exists to cope with unfilled slots without any code from you.
Our guide to ads and Core Web Vitals goes further on loading order and measurement.
A testing method that fits a small site
Most placement advice online is borrowed from sites with ten times your traffic. Testing on your own pages is slower but it is the only evidence that applies to you.
- Name every ad unit by its position when you create it, for example "post-top", "post-mid" and "sidebar". Google's steps ask for a descriptive name so you can find the unit later, and the Ad units report then shows each position separately.
- Change one thing at a time: move a unit, add a unit or remove a unit. Never change a position and a size together.
- Run each version for at least two full weeks, covering two weekends. Traffic and ad prices swing by day and by season, so a three-day test measures noise. Our seasonality note on January revenue shows how large that swing gets.
- Judge by page RPM and sessions per visitor, not by click-through rate. A placement that raises clicks by being confusing is a policy problem, and the clicks may be filtered.
- Look at Active View Viewable for the unit you moved. If it is below the rest of the page, the position is the problem.
- Keep the winner, then try the next idea.
If you use Auto ads, apply changes with Run experiment first. Google's setup page says that splits 50% of traffic for up to 90 days. That is a cleaner comparison than a before-and-after, because both groups see the same week.
An example, with made-up numbers
Take a Tier 1 blog with 50,000 monthly pageviews and a $7.00 page RPM, which is $350 a month and matches the 50,000 pageviews estimate. Suppose you add a second in-content unit and the page RPM moves to $7.60. That is an extra $30 a month. If your average session length drops by a visible amount, or fewer readers come back, the $30 may not be worth it.
Run the same maths at your own traffic with the AdSense revenue calculator, and see how much AdSense pays per 1,000 views for the factors behind the starting figure. Seven ways to earn more from the audience you have puts placement next to the other levers.
Common questions
How many AdSense ads can I put on one page?
We found no fixed per-page number in the placement policies. The rule that applies is balance: do not show more ads than content. Past that, the practical limit is how long readers keep reading.
Should I place ads where people click most?
No. Click-through rate is a poor guide because misleading layouts inflate it, and the clicks may be treated as invalid. Optimize for page RPM and reader behavior. Never ask for clicks or position ads to attract accidental ones.
Does an ad blocker change where ads should go?
Not much. Blockers remove units wherever they are placed, so the position decision stays the same. See ad blockers and revenue for how to measure and respond to blocking.
Is a popup or interstitial worth it?
For most small sites, no. Google Search's guidance on intrusive interstitials recommends small banners over full-page overlays. Vignettes are an Auto ads format, with their own frequency setting, and they are worth testing only after your in-page layout is settled. The web interstitial page has our estimates.
What to do next
Open one of your longest posts on a phone and scroll it from top to bottom. Count the screens with an ad in view and the screens with two. Fix those first.
Then rename your ad units by position, note this month's page RPM and Active View Viewable for each, and change one placement. Check results in two weeks. Our general AdSense estimates give a sense of whether your starting RPM is in range, and if it is far below, the cause is more likely traffic mix than placement.