Skip to main content

BeOp Publisher Data - Configuration

You have the BeOp SDK on your pages#

If you correctly followed the installation process to have the SDK on your pages, you should have the following code in your HTML tree:

<script>
window.beOpAsyncInit = function () {
BeOpSDK.init({
account: "YOUR_ACCOUNT_ID",
});
BeOpSDK.watch();
};
</script>
<script async src="https://widget.beop.io/sdk.js"></script>

âž¡ Add a new param to the BeOp SDK config#

The init function allows you to set your account id. At the same place, you're now able to set the segments IDs you have about your users.

<script>
window.beOpAsyncInit = function () {
/** This part is your responsibility as a publisher
* The code bellow is just an example of what can be done
*/
const myDMPInfo = fetchMyDMPInfo(); // ["1234", "5678"]
const myCRMInfo = fetchMyCRMInfo(); // ["logged", "premium"]
const myOtherInfo = fetchMyOtherInfo(); // ["5_pages_in_a_row", "second_visit_today"]
const mySegments = [].concat(myDMPInfo, myCRMInfo, myOtherInfo); // ["1234", "5678", "logged", "premium", "5_pages_in_a_row", "second_visit_today"]
/** End of publisher responsibility */
BeOpSDK.init({
account: "YOUR_ACCOUNT_ID",
bpsegs: mySegments, // ["1234", "5678", "logged", "premium", "5_pages_in_a_row", "second_visit_today"]
});
BeOpSDK.watch();
};
</script>
<script async src="https://widget.beop.io/sdk.js"></script>

âž¡ Update the values later#

No worries if

  • your BeOp SDK is loaded before you can access and deploy your segments on pages
  • your segmentation changes during the user session

we provide a function to update the SDK bpsegs state called __updateBeOpPublisherSegments accepting in argument a string array.

info

The bpsegs param can be ommited from the BeOpSDK.init function with no impact using the __updateBeOpPublisherSegments function.

if (BeOpSDK) {
BeOpSDK.__updateBeOpPublisherSegments([
"YOUR",
"UPDATED",
"SEGMENTS",
"IDS",
"...",
]);
}

caution

The execution of __updateBeOpPublisherSegments function will cause a new call to our server to potentially update the creatives in the current page according to your campaigns setup. If you don't want to update your already filled slots, please see the config of the refreshExistingSlots param in your SDK.

You use BeOp through the Prebid adapter#

If you correctly followed the installation process for the BeOp Prebid adapter, you should have the BeOp setup in your slot bids array

var adUnits = [
{
code: "in-article",
mediaTypes: {
banner: {
sizes: [[1, 1]],
},
},
bids: [
{
bidder: "beop",
params: {
accountId: "YOUR_ACCOUNT_ID",
currency: "EUR", // or "USD"
},
},
],
},
];

âž¡ Update BeOp bidder request config#

If you want to pass your first party data to BeOp, you can set BeOp bidder config.ortb2 object with one of the following options:

{
"site": {
"ext": {
"bpsegs": ["Your", 1, "ST", "party", "data"],
"data": {
"bpsegs": ["Your", 1, "ST", "party", "data"]
}
}
},
"user": {
"ext": {
"bpsegs": ["Your", 1, "ST", "party", "data"],
"data": {
"bpsegs": ["Your", 1, "ST", "party", "data"]
}
}
}
}

You can choose the location between:

  • site.ext
  • site.ext.data
  • user.ext
  • user.ext.data

and add a new key: bpsegs which is waiting an array of something that will be convertible into a string. Our beOpBidAdapter will be able to find them.