Hybrid.ai
Features
Bidder Code | hybrid | Prebid.org Member | no |
---|---|---|---|
Media Types | display, video | GDPR TCF Support | yes |
User IDs | none | USP/CCPA Support | no |
Supply Chain Support | no | COPPA Support | no |
Demand Chain Support | no | Safeframes OK | check with bidder |
Supports Deals | check with bidder | Prebid.js Adapter | yes |
IAB GVL ID | check with bidder | Prebid Server Adapter | no |
Floors Module Support | no | First Party Data Support | check with bidder |
Multi Format Support | check with bidder | ORTB Blocking Support | check with bidder |
"Send All Bids" Ad Server Keys
These are the bidder-specific keys that would be targeted within GAM in a Send-All-Bids scenario. GAM truncates keys to 20 characters.hb_pb_hybrid |
hb_bidder_hybrid |
hb_adid_hybrid |
hb_size_hybrid |
hb_source_hybrid |
hb_format_hybrid |
hb_cache_host_hybrid |
hb_cache_id_hybrid |
hb_uuid_hybrid |
hb_cache_path_hybrid |
hb_deal_hybrid |
Note
You can use this adapter to get a bid from Hybrid.ai Please reach out to your Hybrid.ai account team before using this plugin to get placeId. The code below returns a demo ad.
Bid Params
Name | Scope | Description | Example | Type |
---|---|---|---|---|
placeId |
required | The place id. | ‘5af45ad34d506ee7acad0c26’ | string |
placement |
required | Adunit placement, possible values: banner, video, inImage | ‘banner’ | string |
imageUrl |
required for inImage | URL of the image on which the banner will be displayed | ‘https://hybrid.ai/images/image.jpg’ | string |
Sample Banner Ad Unit
var adUnits = [{
code: 'banner_ad_unit',
mediaTypes: {
banner: {
sizes: [[728, 90]]
}
},
bids: [{
bidder: "hybrid",
params: {
placement: "banner", // required
placeId: "5af45ad34d506ee7acad0c26" // required
}
}]
}];
Sample Video Ad Unit
var adUnits = [{
code: 'video_ad_unit',
mediaTypes: {
video: {
context: 'outstream', // required, possible values: instream, outstream
playerSize: [640, 480] // required
}
},
bids: [{
bidder: 'hybrid',
params: {
placement: "video", // required
placeId: "5af45ad34d506ee7acad0c26" // required
}
}]
}];
Sample In-Image Ad Unit
var adUnits = [{
code: 'test-div',
mediaTypes: {
banner: {
sizes: [0, 0]
}
},
bids: [{
bidder: "hybrid",
params: {
placement: "inImage",
placeId: "102030405060708090000020",
imageUrl: "https://hybrid.ai/images/image.jpg"
}
}]
}];
Example page with In-Image
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Prebid.js Banner Example</title>
<script async src="prebid.js"></script>
<style>
.banner-block {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 1;
border: none;
overflow: hidden;
}
</style>
<script>
var adUnits = [{
code: 'test-div',
mediaTypes: {
banner: {
sizes: [0, 0]
}
},
bids: [{
bidder: "hybrid",
params: {
placement: "inImage",
placeId: "102030405060708090000020",
imageUrl: "https://hybrid.ai/images/image.jpg"
}
}]
}];
var pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
pbjs.que.push(function() {
pbjs.addAdUnits(adUnits);
pbjs.requestBids({
bidsBackHandler: function (e) {
if (pbjs.adserverRequestSent) return;
pbjs.adserverRequestSent = true;
var params = pbjs.getAdserverTargetingForAdUnitCode("test-div");
var iframe = document.getElementById('test-div');
if (params && params['hb_adid']) {
iframe.parentElement.style.position = "relative";
iframe.style.display = "block";
pbjs.renderAd(iframe.contentDocument, params['hb_adid']);
}
}
});
});
</script>
</head>
<body>
<h2>Prebid.js InImage Banner Test</h2>
<div style="width: 600px;">
<img src="https://hybrid.ai/images/image.jpg" />
<iframe id='test-div' class="banner-block" style="display: none;"></iframe>
</div>
</body>
</html>
Example page with In-Image and GPT
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Prebid.js Banner Example</title>
<script async src="prebid.js"></script>
<script async src="https://www.googletagservices.com/tag/js/gpt.js"></script>
<style>
.banner-block {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 1;
border: none;
overflow: hidden;
}
.banner-block div {
width: 100%;
height: 100%;
}
</style>
<script>
var pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
var adUnits = [{
code: 'div-gpt-ad-1574864639578-0',
mediaTypes: {
banner: {
sizes: [1, 1]
}
},
bids: [{
bidder: "hybrid",
params: {
placement: "inImage",
placeId: "102030405060708090000020",
imageUrl: "https://hybrid.ai/images/image.jpg"
}
}]
}];
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.cmd.push(() => {
googletag.pubads().disableInitialLoad();
});
pbjs.que.push(() => {
pbjs.addAdUnits(adUnits);
pbjs.requestBids({ bidsBackHandler: sendAdServerRequest });
});
function sendAdServerRequest() {
googletag.cmd.push(() => {
pbjs.que.push(() => {
pbjs.setTargetingForGPTAsync('div-gpt-ad-1574864639578-0');
googletag.pubads().refresh();
});
});
}
googletag.cmd.push(() => {
googletag
.defineSlot('/21877108735/rtb-pbjs', [1, 1], 'div-gpt-ad-1574864639578-0')
.addService(googletag.pubads());
googletag.pubads().enableSingleRequest();
googletag.enableServices();
});
</script>
</head>
<body>
<h2>Prebid.js Banner Ad Unit Test</h2>
<div style="width: 600px; position: relative">
<img src="https://hybrid.ai/images/image.jpg" />
<div id='div-gpt-ad-1574864639578-0' class="banner-block">
<script>
googletag.cmd.push(() => { googletag.display('div-gpt-ad-1574864639578-0'); });
</script>
</div>
</div>
</body>
</html>