AdEngine features an internal module that allows lazy loading of ads. Lazy loading an ad means that it will only be shown in the page when the site user scrolls down to its placement. This kind of behavior leads to better ad performance and a speedier page, ultimately bettering ad cpms and site experience.
Follow the standard implementation guide for implementing AdEngine - if you want to use LazyLoad please inform your AM before making any changes, as just change in PubConfig is not enough to make it work. The lazyload module needs to be activated by AM at the configuration. Only after module is active, the ad units that are going to be lazy loaded need to be declared in either the Declarative configuration for AdEngine or through the startAuction command. For each one of them, we need to use the AuctionLot
structure with an additional field, called lazyLoad
. This means that for declarative configuration we need to set it through the field activeLots
and through the startAuction() function using an array of AuctionLot
.
Module parameters
enabled
Sets whether or not the module is globally enabled. If set to false, no lazy loading will occur.
Setting the adunit parameters
Through declarative configuration
When we are defining the activeLots
to be auctioned in AdEngine, just add a new lazyLoad
section for the given lot with either a value of true
.
window.snigelPubConf = adengine: { activeLots: [ {placement: "divId-0", adUnit: "adUnitName-0" }, {placement: "divId-1", adUnit: "adUnitName-1", lazyLoad: true}, {placement: "divId-2", adUnit: "adUnitName-2", lazyLoad: true}, ] }
In the example given above, the first lot ("divId-0", "adUnitName-0") will be normally auctioned and the other two will be lazy loaded.
Through startAuction()
function
For the same example given above, the syntax should be as follows:
adngin.cmd.startAuction([ {placement: "divId-0", adUnit: "adUnitName-0" }, {placement: "divId-1", adUnit: "adUnitName-1", lazyLoad: true}, {placement: "divId-2", adUnit: "adUnitName-2", lazyLoad: true}, ]);
Description
After configuring, AdEngine will add the lazy lot configurations to the batch of ad units that will be lazy loaded. When the user scrolls down the page, when it hits the triggering thresholds for the given device and ad unit, the module starts a new auction for that ad unit and shows it on the page right before the user scrolls over the placement of the ad. This leads to showing the ad only when it's needed, avoiding unnecessary auctions and processing power to show an ad that may or may not be visualized.
Notes
Lazy loading of units needs to have a declarative configuration in place or a manual call to startAuction with the array of lots to auction and/or lazy load. This means that running AdEngine in fully automated mode currently doesn't allow to lazy load ad units.
If for some reason someone tries to lazy load an ad that is already loaded in the page, the lazy load module will signal this as a warning and won't lazy load the ad, given it is already present in the page.