预付不提供中标

时间:2017-06-06 10:02:47

标签: prebid.js

我试图设置prebid。我可以收到出价,但是未选中中标或未触发相应的订单项,则不会显示出价方的广告。相反,它会回到我为$ 0.00创建的后备行项目。预付款控制台在尝试为插槽XXXX设置键值时停止,然后没有,没有赢家,没有渲染广告,如下面的链接所示

请看下面的图片

这里hb_pb值是0.40。但即使有hb_pb为0.36,0.39等的行项目,也不会选择相应的行项目。

在交付诊断中,我没有看到hb_pb请求转到dfp。我不确定为什么会这样。请检查图像。 enter image description here这是我的预付费代码。

var PREBID_TIMEOUT = 1000;

var adUnits = [{
                code: 'XXXX',
                sizes: [
                    [300, 250]
                ],
                bids: [{
                    bidder: 'XXXX',
                    params: {
                        id: YYYYY
                    }
                }, {
                    bidder: 'XXXXX',
                    params: {
                        placementId: 'YYYYY'
                    }
                }]
            }];

            var pbjs = pbjs || {};
            pbjs.que = pbjs.que || [];


            var googletag = googletag || {};
            googletag.cmd = googletag.cmd || [];
            googletag.cmd.push(function() {

                googletag.pubads().disableInitialLoad();
            });

            pbjs.que.push(function() {

      pbjs.aliasBidder('XXX', 'YYY');
                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);


            (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);
            })();

            googletag.cmd.push(function() {
                googletag.defineSlot('/XXXXX/YYYY, [300, 250], 'XXXXXXX').addService(googletag.pubads());
                googletag.pubads().enableSingleRequest();
                googletag.enableServices();

            });

1 个答案:

答案 0 :(得分:0)

此处的问题是,DFP广告管理系统会在预付费设置关键值之前呈现广告,或者代码中的某些内容会覆盖预付费密钥值

(DFP广告管理系统setTargetting会覆盖已在广告位上的所有内容)

我确认您在disableInitalLoad之前设置了DFP广告管理系统pbjs.setTargetingForGPTAsyc()和/或召回googletag.pubads().refresh()