Programmatic helps the open web to thrive. But that doesn’t mean, any publisher can grow consistently if they embrace programmatic selling. As we’ve advised, being in a media industry requires you to cater to the interest of both buyers (advertisers) and readers (users). If you focus too much on your revenue, you’ll end up losing in the long run.
Delivering a better user experience while running ads is a question that never gets a single answer. There are multiple ways a publisher can pursue to start optimizing revenue and experience.
Lazy loading is often cited as one such method. We bet you’ve heard about it before and it’s time to clarify what is it and whether it is right for you or not.
Ironically, lazy loading does the opposite to your site – it enables your pages to load faster. How? By loading the elements (images, ads, and iframes) of the pages only when users scroll them into in-view. Lazy loading isn’t new and publishers have been lazy loading images for years. Now, the same technique is being applied to ads on the page to capitalize on the advantages offered by lazy loading.
What are the benefits?
– Better User Experience
As ads are only loaded when they are about to be in-view, initial page load time will be quick and the user would experience faster page loads and lesser CPU usage.
– Increased Value for Advertisers
When you are only loading ads when they are likely to be viewed by a user, ad viewability will increase and so do the CTR. For instance, ads that are down below the page won’t be loaded and in fact, even your ad server won’t be called to record an impression. As CTR is the ratio of clicks/impressions, a decrease in impression will pump up the CTR.
To summarize, your users will experience faster page loads and ad viewability and CTR will increase as well. So, it’s all good. Why publishers aren’t just implementing it?
Good question, there’s a catch. Let us explain.
If you read the benefits again, you’ll notice that we’ve mentioned that lazy loading ads will increase the CTR as the total impressions would decrease. And, you, a publisher is paid based on a CPM model. In other words, per 1000 impressions delivered.
Most ad servers including Google Ad Manager (the one with the largest ad server market share), counts an impression when an ad is requested and ad creative begins to download on the user’s device.
It waits for the creative to send an impression request, but it won’t wait for the creative to download completely or the ad to be in-view.
“Note that the impression is counted before the creative is fully downloaded and viewed by the end-user.”
So, if you are a Google Ad Manager user, your impression count will decrease noticeably if you implement lazy loading for the first time.
Why? It’s simple. Till now, your ad server has been counting impressions for all the ads on the page regardless of whether they’re in-view or not. All it needs is a request. But when you enable lazy loading, ads that aren’t in-view won’t be requested in the first place and so, your ad server wouldn’t count them.
What about advertiser bidding based on viewability?
You’re right. Several DSPs, self-serve platforms allow advertisers to bid and pay only for the viewable impressions (at least 50 percent of the pixels should be in-view for a second). Google DV360 and Google Ads both offer vCPM bidding strategies. So, if buyers were paying you only for viewable impressions, the sudden decrease in impressions wouldn’t affect your revenue. But the problem is, you can’t actually confirm that it is actually the case.
From our experience, advertisers consider viewability while bidding for impressions, but not many bids only for viewable impressions.
So, what’s the way out?
Should you implement lazy loading?
It depends and you can only know whether it is right for you or not by experimenting. Let’s start the process.
– Consider Your Goal
Before implementing, start with a simple question – why you are implementing lazy loading?
Case #1: To increase ad viewability/CTR
If you’re planning to try lazy loading ads to improve viewability and CTR, you should consider implementing it. Let’s say your average viewability is below 50% (across the site), then if you can improve it by just 20% to 30%, your average eCPM will likely increase.
You’ll deliver lesser impressions, but you wouldn’t see a strong decline in revenue as the eCPM lift tends to neutralize the negative impact of decreased impressions. Most importantly, your goal will be achieved.
We want to give a heads up though. Analyze your user engagement on the page including scroll-depth, on-page duration, and user movement. If your users are scrolling faster, lazy-loaded ads wouldn’t get a chance to stay in-view at all. Ultimately, your viewability wouldn’t be improved much.
One way to address this issue is by creating rules. You can make the ad requests when the ad is 400 px to 600 px from the browser view-port. When the user scrolls down, the ad will be ready to be viewed/clicked. If your users are just skimming, it is better to load the ads well before (800 px).
The best way is to do A/B split testing. You can direct one set of your traffic to pages without lazy loading and another set to pages with lazy loading and measure the results. What’s the impact on viewability, pages per session, impressions, and more.
It isn’t easy, but it will help you make the right decisions. Here’s an example.
|Traffic||Ad Viewability(Before/After)||Ad Impressions(Before/After)||CTR(Before/After)||Pages per session(Before/After)||Duration(Before/After)||eCPM(Before/After)|
|A (1000 users)|
|B (1000 users)|
If lazy loading works, then you can try different rules as we mentioned above. Direct one set of traffic to pages that are lazy loading ads – when 400px from view-port and another set to pages that are lazy loading ads – when 800px from view-port and see the results.
Takeaway: Do lazy loading if your site’s viewability is below 50% and try to increase it. Lazy loading alone can’t increase your viewability/eCPM if you have other problems. And, it’s sometimes better to not lazy load. So, experiment, measure, and then decide.
Case #2: To better user experience
If your pages are too slow and users are bouncing off because of it, then you have to first consider the positive impact of lazy loading on the page speed. There’s no question that lazy loading will increase page speed, but how much impact it can have needs you to do analysis.
You can use Google’s LightSpeed Insights tool to run an audit and see what will be the impact of lazy loading.
Performance > Opportunities.
Generally, if your page has many images and ads, then you’ll likely to see a decent lift. If not, it will be very minimal. Have you decided to implement lazy loading?
Then, similar to case #1, you’ve to set KPIs and measure how they are impacted after you implement lazy loading. User experience is measured by page views, session behavior, and task success (what you want your readers to do – subscribe, visit more pages, etc).
Where are with Chrome’s Native lazy-loading for the web?
If you don’t know yet, Google plans to bring native lazy loading to the Chrome users (other browsers may even follow suit) by adding a new attribute. Dubbed as “loading”, you can use it to tell the browser whether to lazy load images or not.
<img src=”…” loading=”lazy” alt=”…” width=”200″ height=”200″>
This hasn’t been released, but users can enable this feature using Chrome flags. Chrome says it will test and eventually roll out the feature. What happens when Chrome rolls out and how to handle the header bidding complication is for another post. The point is that Chrome will enable lazy loading to better the user experience.
And, to avoid any complications publishers are advised to set the loading attribute to “eager” to skip iframes from lazy loading. Again, you don’t have to worry about it now.