我正在尝试使用每千次展示费用调整来在我的标头竞标伙伴之间创建一个公平的竞争环境,其中一些竞标者提供净出价,而有些则提供总出价。我按照预设网站上的文档进行了设置,但我认为它没有用。当我执行pbjs_debug = true并在控制台中查看时,看不到任何证据正在调整出价。我设置错误吗?还是有更好的方法来验证CPM是否正在调整?谢谢!
<script>
var PREBID_TIMEOUT = 1500;
var adUnits = [{
code: 'div-gpt-ad-1487305430432-0',
mediaTypes: {
banner: {
sizes: [[300, 250]]
}
},
bids: [
{
**snip**
}]}];
var pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
</script>
<!-- Prebid Config Section END -->
<!-- Prebid Boilerplate Section START. No Need to Edit. -->
<script type="text/javascript" src="/js/prebid.1.20.0.js" async></script>
<script>
var googletag = googletag || {};
googletag.cmd = googletag.cmd || [];
googletag.cmd.push(function() {
googletag.pubads().disableInitialLoad();
});
pbjs.bidderSettings = [
{
districtm: {
bidCpmAdjustment : function(bidCpm){
return bidCpm * 0.85;
}
}
} ];
pbjs.que.push(function() {
pbjs.addAdUnits(adUnits);
// pbjs.setPriceGranularity('low');
const customConfigObject = {
"buckets" : [{
"precision": 2, //default is 2 if omitted - means 2.1234 rounded to 2 decimal places = 2.12
"min" : 0,
"max" : 14,
"increment" : 0.01
}]
};
//set custom config objec
pbjs.setConfig({ priceGranularity: customConfigObject });
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>
答案 0 :(得分:1)
在控制台上运行以下代码:
pbjs.bidderSettings.{{bidder_code}}.bidCpmAdjustment(100)
在您的情况下,bidder_code可以是“区”。这将返回85,即85%。
您还可以通过运行以下命令来验证出价响应:
pbjs.getBidResponses()
如果对于该特定竞标者的出价调整率不是100%,则您可以看到netRevenue为false。