Lazy Load is a technology to prevent that objects on a website are getting loaded before they would appear in the visible area of the visitor. This keeps the loading time of a website at a minimum and improves its performance. Lazy loading is a very common concept to handle images.

We developed a Lazy Load feature to provide a solution for a deferred loading of all kind of ads.

How does Lazy Load work for ads?

The principle of Lazy Load for ads is to load the content or scripts when the user scrolls to the position where the ad should be visible.

Advanced Ads Pro has this feature on the placement level. Before you can activate this function for single placements, you will need to enable the module by clicking on Activate lazy load module in Advanced Ads > Settings > Pro.

Lazy Load moduel Advanced Ads

Now, you can activate Lazy Load for every placement. A typical use case is an AdSense unit that is being injected into a placement at the end of all articles. Activated Lazy Load would improve the loading time of that site because the time-consuming call for the AdSense ad will only happen when the visitor scrolls to the end of the article and not when he first opens the site. Enabling Lazy Load for AdSense ads on those positions has a very positive impact on the Active View rates and can result in higher revenues.

Reduce load time with Lazy Load for ads

Pre-loading ads

With the default settings, Lazy Load will start loading ads when the ad position is visible on the user’s device. Since the loading might also take some time, you might want to start it earlier.

Offset option for Lazy Load

The offset option on the screenshot above allows you to load an ad before they come into the viewport. The setting for this is very individual for each site, its user behavior, and publisher’s expectations.

You can adjust the individual offset per placement using a hook and the following code as an example:

add_action( 'advanced-ads-lazy-load-placement-offsets', function( $offsets ) {
    // The offset of the placement with id equals 'main' is 300px;
    $offsets['main'] = 300;
    return $offsets;
} );

What else you need to know

The Lazy Load feature is only available for the following placements: Before Content, Content, After Content, Sidebar Widget, Post List and Manual Placement. It is not provided for PopUps and sticky ads and for the following placements: Above Headline, Custom Position, Content Middle, Random Position, Genesis, BuddyPress, and bbPress.

Tracking of lazy loaded ads is using an AJAX request for every ad. These requests might need additional performance on your site.