Ad placement is one of the highest-leverage optimizations a WordPress publisher can make. The same demand partners bidding on the same traffic will pay dramatically different prices depending on where the ad appears on the page, how large it is, and how likely users are to see it. A 300x250 unit stuffed at the bottom of a sidebar might earn $0.80 eCPM. That same 300x250 placed between paragraphs 2 and 3 of your article content could earn $3.50 eCPM. Same size, same demand, same traffic, 4x the revenue.
This guide covers the top-performing ad sizes and optimal placement positions specifically for WordPress sites. The recommendations are based on programmatic advertising performance data, and they apply whether you are running AdSense, header bidding, or a managed monetization platform.
Top-Performing Ad Sizes
300x250 (Medium Rectangle)
- Best position: In-content (between paragraphs)
- Why it works: The 300x250 is the most universally supported ad size in programmatic advertising. Virtually every advertiser has creatives in this size, which means maximum demand competition. It fits naturally within content columns on both desktop and mobile without requiring responsive resizing.
- Average eCPM: $2.00 - $6.00 (US traffic, in-content placement)
- Use case: Your primary in-content ad unit. Most WordPress blog posts should have 2-3 of these spaced throughout the article body.
728x90 (Leaderboard)
- Best position: Above fold, below navigation
- Why it works: High visibility and strong advertiser demand. The leaderboard format is a staple of display advertising with deep creative inventory. It works best at the top of the page where it is immediately visible.
- Average eCPM: $1.50 - $5.00 (US traffic, above fold)
- Use case: Desktop above-fold placement. On mobile, this size is too wide, so use 320x50 or 320x100 instead.
970x250 (Billboard)
- Best position: Top of page, above or below navigation
- Why it works: The billboard is a premium desktop format with strong brand advertising demand. Its large creative canvas attracts higher CPMs from advertisers running rich media or brand awareness campaigns.
- Average eCPM: $3.00 - $8.00 (US traffic)
- Use case: Desktop-only top-of-page placement for sites with wide content areas (980px+ content width). Not all themes support this width, so verify your WordPress layout can accommodate it without breaking.
300x600 (Half-Page)
- Best position: Sidebar (desktop) or in-content (desktop/mobile)
- Why it works: The half-page format offers significant creative real estate, attracting premium advertiser demand. Its tall format means it stays in the viewport longer as users scroll, delivering strong viewability metrics.
- Average eCPM: $2.50 - $7.00 (US traffic)
- Use case: Desktop sidebar sticky unit. The 300x600 works exceptionally well as a sticky sidebar element that follows the user as they scroll down the page.
320x50 (Mobile Leaderboard) and 320x100 (Large Mobile Banner)
- Best position: Sticky footer (mobile) or above-fold (mobile)
- Why it works: These are the standard mobile ad sizes with the deepest demand pools. The 320x50 is the most common mobile format. The 320x100 offers a slightly larger canvas and typically commands 15-25% higher CPMs than the 320x50.
- Average eCPM: $0.80 - $3.00 (320x50), $1.00 - $3.50 (320x100)
- Use case: Mobile sticky footer bar. This is the single highest-ROI mobile ad placement due to near-100% viewability and ad refresh potential.
336x280 (Large Rectangle)
- Best position: In-content
- Why it works: Slightly larger than the 300x250, the 336x280 attracts additional demand from advertisers with larger creatives. It typically earns 5-15% higher eCPMs than the 300x250 while fitting in the same placements.
- Average eCPM: $2.20 - $6.50 (US traffic)
- Use case: In-content placement where your content column is wide enough (350px+). Many WordPress themes support this comfortably.
Best Placement Positions for WordPress
Position 1: Above the Fold (Below Title)
The first ad visible when the page loads, typically placed between the article title/meta and the first paragraph of content. This position delivers strong viewability (70-90%) because every user sees it before scrolling.
Recommended sizes: 728x90 or 970x250 on desktop, 320x50 or 320x100 on mobile
WordPress implementation: Add the ad code in your single.php or content-single.php template immediately after the entry header. With block themes, insert it after the post title block. If using a page builder, add it as the first element in the content area.
Consideration: Be careful with Cumulative Layout Shift (CLS). Reserve the exact pixel height for the ad slot using CSS (min-height) so the ad loading does not push content down after the page renders. A 728x90 should have a container with min-height: 90px. A 970x250 should have min-height: 250px.
Position 2: First In-Content (After Paragraph 2-3)
This is consistently the highest-performing placement on article pages. By the time a user has read two paragraphs, they are engaged with the content. An ad placed here appears in the natural reading flow and achieves viewability rates of 65-85%.
Recommended sizes: 300x250 or 336x280 (both desktop and mobile)
WordPress implementation: Use a plugin like Ad Inserter, Advanced Ads, or WPCode to automatically inject ad code after paragraph 2 or 3 in all posts. This avoids manually editing each post. In WordPress block editor, you can also use a reusable block pattern, but automatic injection is more maintainable.
Why this outperforms sidebar: In-content ads are surrounded by content the user is actively reading, which means attention and viewability are high. Sidebar ads are in peripheral vision and suffer from banner blindness, typically delivering 40-60% lower eCPMs than in-content placements.
Position 3: Mid-Content (After Paragraph 5-7)
A second in-content ad for longer articles. This placement captures users who are deeply engaged with the content, which is a strong signal for advertisers. Viewability ranges from 55-75% depending on content length and engagement.
Recommended sizes: 300x250 or 336x280
WordPress implementation: Same approach as the first in-content ad, using automatic injection after paragraph 5-7. Only deploy this slot on articles with 800+ words. On shorter posts, two in-content ads close together create a poor reading experience.
Position 4: Sticky Footer Bar
A thin banner fixed to the bottom of the viewport that stays visible as the user scrolls. This is the highest-viewability placement on any website (90-98%) and supports ad refresh, which multiplies impressions from a single slot.
Recommended sizes: 728x90 on desktop, 320x50 on mobile
Key requirements: Include a visible close button, limit height to 50-90px, do not cover content, and comply with Google's Better Ads Standards. For a complete implementation guide, see our sticky ads best practices article.
Revenue impact: A sticky footer with viewability-gated refresh every 45 seconds typically generates $1.50 - $4.00 RPM on its own. For a site with 100,000 monthly pageviews, that is $150-$400/month in incremental revenue from one ad unit.
Position 5: Sticky Sidebar (Desktop Only)
A sidebar ad unit that becomes sticky (position: sticky) when the user scrolls past it, keeping it visible alongside the content. This works only on desktop because mobile layouts typically do not have sidebars.
Recommended sizes: 300x250 or 300x600
WordPress implementation: Add the ad code to your sidebar widget area and apply CSS position: sticky with an appropriate top offset (usually 80-120px to clear the navigation bar). Many WordPress themes have built-in sticky sidebar options.
Viewability: 70-85% when properly implemented. The 300x600 format is particularly effective here because it occupies a large viewport area and stays visible for extended reading sessions.
Position 6: End of Article (Before Comments)
An ad placed after the article content but before the comments section or related posts. Users who reach the end of an article have demonstrated high engagement, making this a quality impression. However, not all users scroll this far, so viewability is moderate (40-60%).
Recommended sizes: 300x250, 728x90, or native/recommendation widgets
Best use: This position works well for native ad formats or sponsored content recommendations that blend with related posts, capturing clicks from users looking for their next piece of content.
Mobile vs. Desktop Optimization
Mobile Strategy
Mobile traffic typically represents 60-75% of total traffic for most WordPress sites. Despite lower per-impression eCPMs, mobile revenue often exceeds desktop revenue due to volume. Key mobile-specific optimizations:
- Use 300x250 for in-content: This size works perfectly on mobile screens (320px+ width). Avoid 728x90 on mobile; it gets cut off or causes horizontal scrolling.
- Implement a sticky footer: 320x50 or 320x100 sticky footer is the single highest-ROI mobile ad placement. It should appear after the user starts scrolling, not immediately on page load.
- Limit to 3-4 mobile ad units: Mobile screens have less space, and excessive ads create a cramped experience that increases bounce rate. Space in-content ads at least 3-4 paragraphs apart.
- Consider mobile interstitials carefully: Full-screen interstitials can earn high CPMs ($5-$15) but can also violate Google's intrusive interstitial guidelines if triggered at the wrong time. Only show interstitials between page navigations, never on initial page load.
Desktop Strategy
Desktop traffic commands higher CPMs but represents a smaller share of total visits. Maximize desktop revenue with:
- Use wider formats above fold: 970x250 or 728x90 leaderboards take advantage of the wider viewport and attract premium brand demand.
- Implement a sticky sidebar: Desktop layouts with sidebars should use a 300x250 or 300x600 sticky unit. This is high-viewability inventory that does not interfere with content reading.
- Deploy 2-3 in-content units: Desktop articles can support more in-content ads because the wider layout and larger screen provide more visual space. Space them at least 3-4 paragraphs apart.
- Use multi-size ad slots: Configure your ad slots to accept multiple sizes (for example, a slot that can display either 300x250, 336x280, or 300x600). This increases the number of advertisers competing for each impression.
The Optimal WordPress Ad Layout
Based on performance data, here is the optimal ad configuration for a typical WordPress blog post:
Recommended Layout (Desktop)
Slot 1: 728x90 or 970x250 above fold, below title
Slot 2: 300x250 or 336x280 in-content, after paragraph 2-3
Slot 3: 300x250 or 336x280 in-content, after paragraph 6-8
Slot 4: 300x600 or 300x250 sticky sidebar
Slot 5: 728x90 sticky footer bar with refresh
Recommended Layout (Mobile)
Slot 1: 320x100 or 300x250 above fold, below title
Slot 2: 300x250 in-content, after paragraph 2-3
Slot 3: 300x250 in-content, after paragraph 6-8 (long articles only)
Slot 4: 320x50 sticky footer bar with refresh
WeForAds Auto-Placement for WordPress
Optimizing ad placements manually requires ongoing testing, monitoring, and adjustment. WeForAds eliminates this by automatically determining optimal ad sizes and positions based on your specific content layout, traffic patterns, and device mix.
When you add the WeForAds tag to your WordPress site, the platform analyzes your page structure, content length, and scroll behavior to place ads where they will deliver the highest viewability and eCPMs. It automatically adjusts between desktop and mobile layouts, selects the best sizes for each position, and manages ad refresh on high-viewability units.
The result is a fully optimized ad layout without manually editing templates, installing ad management plugins, or A/B testing placement positions. Publishers typically see 20-30% higher revenue from auto-placement compared to their previous manual configurations, because the platform continuously optimizes based on real performance data rather than static assumptions.
Frequently Asked Questions
What is the highest-paying ad size for websites?
The 300x250 and 336x280 consistently earn the highest eCPMs for in-content placements because they have the deepest advertiser demand. For desktop top-of-page positions, the 970x250 and 300x600 command premium CPMs. The actual highest-paying size depends on your specific layout and placement position. Choosing the right placement matters more than choosing the right size.
How many ads should I put on a WordPress page?
3-5 ad units is the sweet spot for most WordPress content pages. A typical layout includes one above-fold unit, 2-3 in-content units spaced between paragraphs, and one sticky unit. Going above 5-6 units dilutes CPMs, hurts user experience, and can negatively impact Core Web Vitals scores.
Where is the best position to place ads on a blog post?
The first in-content position (after paragraph 2-3) consistently delivers the highest eCPMs because it combines high viewability with strong user engagement. The sticky footer bar provides the highest viewability (90%+) and supports ad refresh for multiplied impressions. These two positions together form the foundation of any high-performing WordPress ad setup.
Should I use auto ads or manual ad placement on WordPress?
Manual placement generally outperforms generic auto ads because you control positioning for optimal viewability. However, a managed platform like WeForAds provides intelligent auto-placement that uses data-driven positioning, which often outperforms both manual and generic auto ads. If you prefer manual control, focus on the in-content and sticky positions outlined in this guide.
Do ad sizes affect page speed on WordPress?
The sizes themselves have minimal impact, but the number of slots and loading implementation significantly affect speed. Each slot generates bid requests and renders creatives. Use async ad scripts, lazy load below-fold ads, reserve space with CSS min-height to prevent layout shift, and limit to 4-6 total slots per page. A well-implemented setup adds 200-500ms; a poor one adds 2-3 seconds.
Want Optimized Ad Placements Without the Guesswork?
WeForAds auto-detects the best ad sizes and positions for your WordPress site. One tag, automatic optimization, higher revenue.
Get Started Free
By