Intersection Module

Overview

The Intersection module provides intersection for ad slots on the page using Intersection Observer API.

Implementation works like this:

  1. Build the Intersection module into the Prebid.js package with:

     gulp build --modules=intersectionRtdProvider&...
    
  2. Use setConfig to instruct the browser to obtain the intersection data

Configuration

This module is configured as part of the realTimeData.dataProviders object:

pbjs.setConfig({
    "realTimeData": {
        auctionDelay: 100,
        dataProviders:[{          
            "name": "intersection",
            "waitForIt": true
        }]
    }
});

Output

For each bidder, the module adds intersection in a JSON format. Example:

{
  "intersection":{
    "boundingClientRect": {
      "left": 10,
      "top": 10,
      "right": 310,
      "bottom": 260,
      "width": 300,
      "height": 250,
      "x": 10,
      "y": 10,
    },
    "intersectionRect": {/* ... */},
    "rootRect": {/* ... */},
    "intersectionRatio": 0.5,
    "isIntersecting": false,
    "time": 1636993868145
  }
}