Version 1 (Latest)

How it works?

Configuration

Gravito SDK V2 make’s it easy for the customers to switch on the prebid support by adding userIdModule config parameter and setting its value to true. prebidUrl property can be used to load your custom build of prebid.js.

window.gravitoCMPConfig = {
  settings: {
  // other parameters 
  userIdModule: true,
  prebidUrl:"your prebid.js build URL",// url from which prebid build should be loaded. default will point to gravito's build
  sdkVersion: 2,
  
  },
  //other sections
  };

Deployment

Prebid user module support is available in following scenarios

Gravito First party only.

To Include userId module with first party add following scripts to site.

window.gravitoCMPConfig = {
  settings: {
    sdkVersion: 2,
    userIdModule: true,
    prebidUrl: "your prebid.js build URL", // url from which prebid build should be loaded. default will point to gravito's build
   
  },
};

var gravitoSDKTag = document.createElement("script");

gravitoSDKTag.src = "https://cdn.gravito.net/sdkv2/latest/sdk.js";

gravitoSDKTag.onload = function () {
  // init gravito with two comma separated parameters, firstParty and prebid// this will make sure that the first party service drops a persistent id which can be utlized in prebids bit stream.window.gravito.init("firstParty", "prebid");
};

document.body.appendChild(gravitoSDKTag);

In case of prebid you need to perform some operations like setting up the config etc. In such cases you can listen to a message dispatched by gravito SDK and perform the required actions.

window.addEventListener("message", function (message) {
  try {
    var data =
      message.data &&
      typeof message.data == "string" &&
      JSON.parse(message.data);
    if (data.type == "gravito-prebid-initialized") {
      // here you can call your set config logic of pbjs
    }
  } catch (error) {
    console.log("error while processing message data");
  }
});

Gravito’s SDK makes sure that the gravito’s first party persistant id is written into a first party client side cookie “gravitompId”, which is then parsed by the userModule and made available to prebid’s bit stream.

To check if the first party id has been added to user module or not, please use following script and test it with browser console window.

pbjs.getUserIds().gravitompId.id;

Gravito TCF CMP along with first party.

Gravito’s Prebid.js UserId module can also be used it TCF CMP. To do so you will have to modify your gravitoCMPConfig window object as follows.

window.gravitoCMPConfig = {
  settings: {
  type:"TCF"backendUrl: "",
    version: "bundle_latest_3",
    componentURL: "https://cdn.gravito.net/cmp",
    sdkVersion: 2,
    userIdModule: true,
    prebidUrl:"your prebid.js build URL"// url from which prebid build should be loaded. default will point to gravito's build
  },
  // other configs for TCF CMP
};

Also modify your deployment logic as follows.

var gravitoSDKTag = document.createElement("script");

gravitoSDKTag.src = "https://cdn.gravito.net/sdkv2/latest/sdk.js";

gravitoSDKTag.onload = function () {
  // init gravito with two comma separated parameters, lightCMP, firstParty and prebid// this will make sure that the first party service drops a persistent id which can be utlized in prebids bit stream.
  window.gravito.init("tcfCMP", "firstParty", "prebid");
};

document.body.appendChild(gravitoSDKTag);

Gravito Light CMP along with first party.

Gravito’s Prebid.js UserId module can also be used it Light CMP. To do so you will have to modify your gravitoCMPConfig window object as follows.

window.gravitoCMPConfig = {
settings: {
  type:"Light"backendUrl: "",
  version: "bundle_latest_4",
  componentURL: "https://cdn.gravito.net/lightcmp",
  sdkVersion: 2,
  userIdModule: true,
  prebidUrl: "your prebid.js build URL", // url from which prebid build should be loaded. default will point to gravito's build
},
// other configs for TCF CMP
};

Also modify your deployment logic as follows.

var gravitoSDKTag = document.createElement("script");

gravitoSDKTag.src = "https://cdn.gravito.net/sdkv2/latest/sdk.js";

gravitoSDKTag.onload = function () {
  // init gravito with two comma separated parameters, lightCMP, firstParty and prebid// this will make sure that the first party service drops a persistent id which can be utilized in prebids bit stream.
  window.gravito.init("lightCMP", "firstParty", "prebid");
};

document.body.appendChild(gravitoSDKTag);