Header Bidding- Prebid.js

906 views Asked by At

I am new to Header Bidding. I have created an Ad slot using Prebid-Header Bidding. I have mentioned the code below. I need to know that is it the right way to work with Header-Bidding. Let me know if there are changes to be done for hosting it in server.

Prebid.js

<script>
    var googletag = googletag || {};
    googletag.cmd = googletag.cmd || [];
    googletag.cmd.push(function () {
        googletag.pubads().disableInitialLoad();
    });

    pbjs.que.push(function () {
        pbjs.addAdUnits(adUnits);
        pbjs.requestBids({
            bidsBackHandler: sendAdserverRequest
        });
    });

    function sendAdserverRequest() {
        if (pbjs.adserverRequestSent) return;
        pbjs.adserverRequestSent = true;
        googletag.cmd.push(function () {
            pbjs.que.push(function () {
                pbjs.setTargetingForGPTAsync();
                googletag.pubads().refresh();
            });
        });
    }

    setTimeout(function () {
        sendAdserverRequest();
    }, PREBID_TIMEOUT);

</script>
<script>
    (function () {
        var gads = document.createElement('script');
        gads.async = true;
        gads.type = 'text/javascript';
        var useSSL = 'https:' == document.location.protocol;
        gads.src = (useSSL ? 'https:' : 'http:') +
                '//www.googletagservices.com/tag/js/gpt.js';
        var node = document.getElementsByTagName('script')[0];
        node.parentNode.insertBefore(gads, node);
    })();
</script>

<script>
googletag.cmd.push(function () {
        googletag.defineSlot('/xxx/test.maalaimalar', [[300, 250], [300, 600]], 'div-gpt-ad-1460505748561-0').addService(googletag.pubads());
        googletag.defineSlot('/xxx/test.maalaimalar', [[728, 90], [970, 90]], 'div-gpt-ad-1460505661639-0').addService(googletag.pubads());
        googletag.defineSlot('/xxxx/prebidtest', [[970, 90], [970, 250], [300, 250], [728, 90], [160, 600], [300, 600], [1, 1]], 'div-gpt-ad-1503040981222-0').addService(googletag.pubads());
        googletag.pubads().enableSingleRequest();
        googletag.enableServices();
    });

<div id='div-gpt-ad-1460505748561-0'>
    <script type='text/javascript'>
        googletag.cmd.push(function () { googletag.display('div-gpt-ad-1460505748561-0'); });
    </script>
</div>

<h5>Div-2</h5>
<div id='div-gpt-ad-1460505661639-0'>
    <script type='text/javascript'>
        googletag.cmd.push(function () { googletag.display('div-gpt-ad-1460505661639-0'); });
    </script>
</div>
<h5>Div-3(Prebid)</h5>
<div id='div-gpt-ad-1503040981222-0'>
    <script>
        googletag.cmd.push(function () { googletag.display('div-gpt-ad-1503040981222-0'); });
    </script>
</div>

Thanks in Advance....

1

There are 1 answers

0
Raji On BEST ANSWER

I think it will working perfectly but you need to add one more concept in your code. First you need to add adunits with some adapter(Eg:APPNEXUS)

var adUnits = [{
    code: 'div-gpt-ad-1460505748561-0',
    sizes: [[300, 250], [300,600]],
    bids: [{
        bidder: 'appnexus',
        params: {
           placementId: '10433394'
        }
    }]
}];