Using GPT's enableLazyLoad function

At Sortable, we are compatible with GPT lazy loading, but please consult with your Technical Account Manager to go through all of the implementation details.

Google Publisher Tag's (GPT) native lazy load function (enableLazyLoad) allows publishers to delay the request and rendering of ads until the ad unit is within an offset of the viewport. While Sortable's stack is compatible with GPT's enableLazyLoad, we do not fully support it. There are known issues with the function when Google is not the only partner in your ad stack. In addition to Google, Sortable also integrates Prebid (a header bidding solution), enabling many additional partners access to your inventory.

Using enableLazyLoad allows separate user-defined margins for fetching (fetchMarginPercent) and rendering (renderMarginPercent). The practice of requesting an ad impression and holding it before rendering is known as bid caching. While Prebid does have limited bid caching features, it can only hold a bid to the timeout set by the partner. This timeout can be between 30 seconds and 5 minutes, and is different for each buyer. Prebid starts making ad requests to the exchanges when a user loads the page. With enableLazyLoad, Google only requests ads when the fetchMarginPercent offset from the ad unit is reached. It then renders the ad impression when the renderMarginPercent offset is reached. An issue arises when a partner from Prebid wins the auction and Google does not render the impression before the partner's bid cache timeout is reached. When this occurs, the buyer drops their bid, but Google may still render the cached impression which can cause discrepancies in impression counts and revenue.

To minimize the risk when using enableLazyLoad, our suggestions for you are to:

  • Use long-form page layouts that limit the number of ad units below the fold, and
  • Avoid inserting ad units near the bottom of the page layout.