Official statement
Other statements from this video 11 ▾
- 1:01 Faut-il vraiment contacter l'équipe AdSense pour résoudre vos problèmes de performance PageSpeed ?
- 2:35 Pourquoi Google refuse-t-il de communiquer les dimensions du viewport de Googlebot ?
- 3:07 Comment Googlebot gère-t-il réellement le contenu en bas de page ?
- 3:38 Faut-il abandonner l'infinite scroll pour être correctement indexé par Google ?
- 4:08 L'Intersection Observer est-il vraiment crawlé par Googlebot ?
- 6:24 Pourquoi Googlebot utilise-t-il un viewport de 10 000 pixels ?
- 9:23 Pourquoi Google refuse-t-il d'indexer le contenu qui dépend du viewport ?
- 10:11 Pourquoi Google fixe-t-il la largeur du viewport de son crawler à 1024 pixels ?
- 12:38 Les meta tags no-archive en JavaScript fonctionnent-ils vraiment ?
- 14:24 Google analyse-t-il vraiment les meta tags avant ET après le rendu JavaScript ?
- 15:27 Faut-il rendre les meta tags côté serveur ou accepter qu'ils soient modifiés par JavaScript ?
Google claims that delaying the loading of AdSense JavaScript code improves user experience by making the site interactive more quickly. For SEO, this means that Core Web Vitals can be directly impacted by the ad loading strategy. Specifically, deferring AdSense can reduce Blocking Time and enhance FID/INP, but be careful not to sacrifice your ad revenue in the process.
What you need to understand
Why is Google recommending that AdSense be deferred now?
Martin Splitt, Google's technical spokesperson on JavaScript and rendering, states that delaying the loading of AdSense code can improve user experience. The reasoning is simple: advertising scripts are often resource-intensive and block the main thread during their execution.
By deferring their loading, the main content becomes visible and interactive before the ads appear. This mechanically reduces the time before the user can interact with the page — a key factor in Core Web Vitals. Google advocates this recommendation in a context where user experience metrics increasingly influence ranking.
What does “delaying” AdSense JavaScript technically mean?
Delaying doesn’t mean blocking. It means loading the script after critical resources: HTML, CSS, functional JavaScript for the page, images above-the-fold. Specifically, you can use the defer or async attribute on your script tags, or even load AdSense via lazy-loading triggered after the DOMContentLoaded or window.load event.
Technically, this means that the browser parses and executes your business code before consuming CPU on ad auctions. The gain is measured on Total Blocking Time (TBT) and Interaction to Next Paint (INP), two metrics closely monitored by Google.
What is the direct link with SEO and ranking?
Since the Page Experience update, Core Web Vitals are officially ranking signals — even if their exact weight remains unclear. A site that displays its main content in 1.2 seconds instead of 2.8 seconds because it has deferred AdSense can gain points on LCP and especially on INP.
But let’s be honest: the pure SEO gain is marginal if your content and backlinks are weak. However, on competitive queries where multiple sites are equally relevant, Core Web Vitals can make a difference. Google never says, “do X and you will rise by Y positions,” but user experience remains a distinguishing factor.
- Delaying AdSense improves TBT and INP, two critical components of Core Web Vitals.
- The direct SEO impact is low, but it can play a role in ultra-competitive queries.
- User experience objectively improves: faster pages, less user frustration, potentially lower bounce rates.
- Google encourages this practice in a consistent logic with its “mobile-first” and “user-centric” strategy.
- Beware of the revenue trade-off: deferring AdSense may reduce ad visibility, thus affecting your CPM/RPM.
SEO Expert opinion
Is this recommendation consistent with what we see in the field?
Yes, and it's even a practice that many high-performing sites already implement. Premium publishers have been using advertising lazy-loading strategies for years, often via tools like Prebid.js or custom wrappers. A/B tests consistently show that delaying the ad JS improves speed metrics measured by Lighthouse or PageSpeed Insights.
However, the ranking delta observed is often negligible in the short term. Sites that have applied this strategy rarely report dramatic boosts in positions unless they were in niches where Core Web Vitals were catastrophic and simply moving to “green” was enough to unlock the situation. [To be verified]: the actual extent of the SEO impact remains difficult to isolate from other factors.
What nuances should be added to this statement?
First nuance: deferring AdSense can reduce your ad revenue. If ads load too late, auctions may perform poorly, and some users may leave the page before the ads even load. This is a trade-off that needs to be measured with real data, not a decision to be made blindly.
Second nuance: not all AdSense scripts are created equal. A site loading 3-4 different ad units, each with its own script and dependencies, will not see the same impact as a site with a single lightweight banner. Google’s recommendation is generic — it does not take your actual ad stack into account.
Third nuance: delaying JS is not enough if the rest of your page is slow. If your server takes 2 seconds to respond, if your images weigh 5 MB, if your CSS blocks rendering, deferring AdSense won’t change anything. It’s one optimization among others, not a magic wand.
In what cases can this strategy be problematic?
On sites where ad revenue is the only monetization source, deferring AdSense can be counterproductive. Content publishers who rely 100% on ad display must arbitrate between technical performance and financial performance. Sometimes, a slightly slower site but with ads visible from the first scroll generates more revenue than an ultra-fast site where ads arrive too late.
Another problematic case: sites with predominantly low-end mobile traffic. On 2G/3G connections with low-RAM devices, delaying JS can paradoxically create stutter if the AdSense script loads while the user scrolls. The timing of lazy-loading must be finely adjusted — it’s not plug-and-play.
Practical impact and recommendations
What should you do concretely to properly defer AdSense?
First step: identify all AdSense scripts present on your site. Conduct a complete audit using Chrome DevTools (Network tab, filter by “adsbygoogle” or “googlesyndication”). Note the weight, loading timing, and the number of requests generated. Some sites load AdSense 3-4 times per page without realizing it.
Second step: apply the defer or async attribute on your script tags. The difference? async loads the script in parallel but executes it as soon as it’s ready (can block rendering), while defer waits for the DOM to be fully parsed before executing. For AdSense, defer is generally safer.
Third step: if you want to go further, condition the loading of AdSense on a user event. For example, only load the script when the user scrolls beyond the first viewport or after a delay of 2-3 seconds. Libraries like lazysizes or custom scripts via Intersection Observer can handle this properly.
What mistakes should be avoided during implementation?
Classic mistake: deferring AdSense but forgetting other ad scripts. If you’re using Prebid, Amazon TAM, or other wrappers, they also need optimization. Deferring AdSense alone is pointless if Prebid.js loads 15 bidders synchronously and blocks the thread for 800 ms.
Another trap: not testing on real mobile. The Core Web Vitals measured by Google come from CrUX (Chrome User Experience Report), hence real users on real devices. A test on desktop or a Chrome emulator does not reflect real-world conditions. Use WebPageTest with mobile 3G profiles to see the actual impact.
Finally, not monitoring revenue after deployment. Some sites have seen their Core Web Vitals improve by 30% but their AdSense revenue drop by 15%. If you don't have a dashboard that cross-references performance metrics and financial metrics, you’re operating blind.
How can you verify that the optimization is effective?
First validation: PageSpeed Insights and Lighthouse. Run a before/after test and compare TBT, LCP, and INP. If TBT drops from 600 ms to 200 ms, you're on the right track. Be careful, a single test isn’t enough — run 5-10 tests and take a median to smooth out variability.
Second validation: Google Search Console, Core Web Vitals section. Wait 4-6 weeks after deployment to see the impact in CrUX. If your URLs move from “Needs Improvement” to “Good URLs,” you’ve succeeded. If nothing changes, the problem lies elsewhere (server, images, CSS, etc.).
Third validation: compare your ad revenue over an equivalent period (same season, same traffic volume). If RPM drops by more than 5-10%, reconsider your loading timing. Perhaps AdSense needs to load a bit earlier, after the first scroll rather than after 3 seconds.
- Audit all AdSense and advertising scripts present on the site
- Apply the defer attribute on the AdSense script tags
- Test conditional lazy-loading (scroll, delay, Intersection Observer)
- Measure the impact on TBT, LCP, INP via Lighthouse and PageSpeed Insights
- Monitor AdSense revenue (RPM, CPM, viewability) before/after deployment
- Validate in Google Search Console (Core Web Vitals, CrUX data) after 4-6 weeks
❓ Frequently Asked Questions
Faut-il utiliser defer ou async pour différer AdSense ?
Retarder AdSense peut-il réduire mes revenus publicitaires ?
Combien de temps faut-il pour voir l'impact dans Google Search Console ?
Cette optimisation améliore-t-elle directement le ranking SEO ?
Faut-il aussi différer Prebid et les autres wrappers publicitaires ?
🎥 From the same video 11
Other SEO insights extracted from this same Google Search Central video · duration 18 min · published on 10/12/2020
🎥 Watch the full video on YouTube →
💬 Comments (0)
Be the first to comment.