Table of Contents |
---|
...
Overview
AdEngine supports 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 improving ad cpms CPM and site experience.
Follow the standard implementation guide for implementing AdEngine - if you want to use LazyLoad Lazy Load, please inform your AM before making any changes, as just a change in PubConfig is not enough to make it work. The lazyload module needs to be activated by AM at the configurationThere is a separate activation needed on Snigel configuration side. Only after module the lazy load option is active, is the ad units that are going to be lazy-loaded need to be declared in either the Declarative 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 the 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 you 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
.
Code Block | ||
---|---|---|
| ||
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:
Code Block | ||
---|---|---|
| ||
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 and hits the triggering thresholds for the given device and ad unit, the module system 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.