Back to Bidders

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

"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>

Back to Bidders