Pa ima puno postimavanja u DFP-u jednom kada se spoji AdX. Za pocetak AdX oglasi nisu responsive, dakle moras posebno kreirati oglase za mobitele, za tablete, za desktop… i ne mozes isti oglas koristiti dvaput na istom pageu. Ja sam pratio jedan tutorial i na kraju sam morao kreirati preko 120 oglasa za jedan sajt. Zatim moras napraviti i hrpu line itemsa i na svaki staviti minimalni eCPM kojeg moras i redovito mijenjati testiranjem raznih pozicija. Ako radis i header bidding onda imas dodatnog posla jer moras i ostale mreze ubaciti da se medjusobno natjecu odnosno outbiddaju.
Adsense kod je jedna linija u headeru, a evo kako recimo izgleda AdX kod s header biddingom na jutarnji.hr
<script>
function dfpGetWindowWidth() {
var windowWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
return windowWidth;
}
function dfpGetBreakpoint() {
dfpWindowWidth = dfpGetWindowWidth();
var breakpoints = [480, 768, 1024, 1280, 1350, 1366, 1440, 1600, 1920, 2560];
var minBreakpoint = 0;
for (i = 0; i < breakpoints.length; i++) {
if (dfpWindowWidth >= breakpoints[i]) {
minBreakpoint = breakpoints[i];
}
}
return minBreakpoint;
}
dfpBreakPoint = dfpGetBreakpoint();
</script>
<script type="didomi/javascript" data-vendor-raw="didomi:google" data-purposes="cookies" async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script async defer src="https://csm.cxpublic.com/HanzaMedia.js"></script>
<script src="https://eph-adsjutarnji.cdn.sysbee.net/cdn/js/prebid-hm-3.24.0-v6.js" async></script>
<script>
window.googletag = window.googletag || {cmd: []};
var cX = cX || {}; cX.callQueue = cX.callQueue || [];
cX.callQueue.push(['getUserSegmentIds', {persistedQueryId: "5bdf5755618c023cf474e2794b83139ad26ea35e", callback: function(segments) {
if (typeof window.localStorage === 'object' && typeof window.localStorage.getItem === 'function') {
localStorage.setItem("cxSegments", segments.join(","));
}
}}]);
function getUserSegmentIdsLocal() {
var segments = [];
if (typeof window.localStorage === 'object' && typeof window.localStorage.getItem === 'function' && localStorage.getItem("cxSegments") !== null && localStorage.getItem("cxSegments").length>0) {
segments = localStorage.getItem("cxSegments").split(',');
}
return segments;
}
console.log ("%c DFP::::: Prebid ON", 'color: #006600;' );
googletag.cmd.push(function() {
googletag.pubads().disableInitialLoad();
});
var pbjs = pbjs || {};
pbjs.que = pbjs.que || [];
var prebidTimeout = 4000;
var prebidTimeoutFailsafe = 5000;
//var prebidGranularity = {buckets: [{min: 0, max: 100, increment: 0.1}]};
var prebidSettings = {
currency: {adServerCurrency: 'EUR'},
debug: false,
priceGranularity: 'dense',
enableSendAllBids: false,
bidderSequence: 'random',
bidderTimeout: prebidTimeout,
userSync: {
filterSettings: {
iframe: {
bidders: '*',
filter: 'include'
}
}
},
consentManagement: {
gdpr: {
cmpApi: 'iab',
timeout: 2000,
allowAuctionWithoutConsent: true,
defaultGdprScope: true
}
}
};
pbjs.bidderSettings = {
luponmedia: {
bidCpmAdjustment: function(bidCpm, bid) {
return bidCpm * .85;
}
},
connectad: {
bidCpmAdjustment: function(bidCpm, bid) {
return bidCpm * .7;
}
},
};
pbjs.que.push(function() {
var windowWidth = document.body.clientWidth;
var prebidSizesMobile = [[300, 250], [336, 280], [320, 50], [300, 100]];
var prebidSizesMobileB1 = [[300, 250], [336, 280], [320, 50], [300, 100], [300, 600], [320, 480]];
var prebidSizesDesktop = [[970, 250], [970, 90], [1245, 250], [728, 90]];
var prebidSizesDesktopHP = [[300, 600], [300, 250]];
var prebidSizesDesktopIA = [[300, 250], [728, 90], [336, 280]];
// DFP homepage
console.log ("%c DFP Prebid::::: homepage", 'color: #006600;' );
var prebidUnits = [
{
code: '/11425286/jl_nas_300x600',
mediaTypes: {banner: {sizeConfig: [{ minViewPort: [0, 0], sizes: [] }, { minViewPort: [1024, 0], sizes: prebidSizesDesktopHP }]}},
bids: [
{bidder: 'connectad', params: {networkId: '10047', siteId: '977103', placementId: '634'}},
{bidder: 'appnexus', params: {placementId: '12512215'}},
{bidder: 'criteo', params: {networkId: '7108'}},
{bidder: 'openx', params: {delDomain: 'hanzamedia-d.openx.net', unit: '539865163'}},
{bidder: 'sovrn', params: {tagid: '646171'}},
{bidder: 'ix', params: {siteId: '352324', size: [300, 250]}},
{bidder: 'ix', params: {siteId: '352324', size: [300, 600]}},
{bidder: 'luponmedia', params: {siteId: 400, keyId: 'jutarnji300x600'}}
]
},
{
code: '/11425286/jl_nas_300x602',
mediaTypes: {banner: {sizeConfig: [{ minViewPort: [0, 0], sizes: [] }, { minViewPort: [1024, 0], sizes: prebidSizesDesktopHP }]}},
bids: [
{bidder: 'connectad', params: {networkId: '10047', siteId: '977103', placementId: '634'}},
{bidder: 'appnexus', params: {placementId: '12512215'}},
{bidder: 'criteo', params: {networkId: '7108'}},
{bidder: 'openx', params: {delDomain: 'hanzamedia-d.openx.net', unit: '539865163'}},
{bidder: 'sovrn', params: {tagid: '646171'}},
{bidder: 'ix', params: {siteId: '352324', size: [300, 250]}},
{bidder: 'ix', params: {siteId: '352324', size: [300, 600]}},
{bidder: 'luponmedia', params: {siteId: 400, keyId: 'jutarnji300x600'}}
]
},
{
code: '/11425286/jl_nas_billboardtop',
mediaTypes: {banner: {sizeConfig: [{ minViewPort: [0, 0], sizes: prebidSizesMobile }, { minViewPort: [1024, 0], sizes: prebidSizesDesktop }]}},
bids: [
{bidder: 'connectad', params: {networkId: '10047', siteId: '977103', placementId: '633'}},
{bidder: 'appnexus', params: {placementId: '9932815'}},
{bidder: 'criteo', params: {networkId: '7108'}},
{bidder: 'openx', params: {delDomain: 'hanzamedia-d.openx.net', unit: '539865164'}},
{bidder: 'sovrn', params: {tagid: '646172'}},
{bidder: 'ix', params: {siteId: '377838', size: [970, 250]}, sizeConfig: [{ minViewPort: [0, 0], relevantMediaTypes: ['none'] }, { minViewPort: [1024, 0], relevantMediaTypes: ['banner'] }]},
{bidder: 'ix', params: {siteId: '377838', size: [970, 90]}, sizeConfig: [{ minViewPort: [0, 0], relevantMediaTypes: ['none'] }, { minViewPort: [1024, 0], relevantMediaTypes: ['banner'] }]},
{bidder: 'luponmedia', params: {siteId: 400, keyId: 'jutarnji970x250'}}
]
},
{
code: '/11425286/jl_nas_mb_1',
mediaTypes: {banner: {sizeConfig: [{ minViewPort: [0, 0], sizes: prebidSizesMobileB1 }, { minViewPort: [1024, 0], sizes: [] }]}},
bids: [
{bidder: 'connectad', params: {networkId: '10047', siteId: '977103', placementId: '637'}},
{bidder: 'appnexus', params: {placementId: '12512220'}},
{bidder: 'criteo', params: {networkId: '7108'}},
{bidder: 'openx', params: {delDomain: 'hanzamedia-d.openx.net', unit: '539865168'}},
{bidder: 'sovrn', params: {tagid: '646168'}},
{bidder: 'ix', params: {siteId: '377840', size: [300, 250]}},
{bidder: 'ix', params: {siteId: '377840', size: [300, 100]}},
{bidder: 'luponmedia', params: {siteId: 400, keyId: 'jutarnji300x250'}}
]
},
{
code: '/11425286/jl_nas_mb_2',
mediaTypes: {banner: {sizeConfig: [{ minViewPort: [0, 0], sizes: prebidSizesMobile }, { minViewPort: [1024, 0], sizes: [] }]}},
bids: [
{bidder: 'connectad', params: {networkId: '10047', siteId: '977103', placementId: '637'}},
{bidder: 'appnexus', params: {placementId: '12512220'}},
{bidder: 'criteo', params: {networkId: '7108'}},
{bidder: 'openx', params: {delDomain: 'hanzamedia-d.openx.net', unit: '539865168'}},
{bidder: 'sovrn', params: {tagid: '646168'}},
{bidder: 'ix', params: {siteId: '377841', size: [300, 250]}},
{bidder: 'ix', params: {siteId: '377841', size: [300, 100]}},
{bidder: 'luponmedia', params: {siteId: 400, keyId: 'jutarnji300x250'}}
]
},
{
code: '/11425286/jl_nas_mb_3',
mediaTypes: {banner: {sizeConfig: [{ minViewPort: [0, 0], sizes: prebidSizesMobile }, { minViewPort: [1024, 0], sizes: [] }]}},
bids: [
{bidder: 'connectad', params: {networkId: '10047', siteId: '977103', placementId: '637'}},
{bidder: 'appnexus', params: {placementId: '12512220'}},
{bidder: 'criteo', params: {networkId: '7108'}},
{bidder: 'openx', params: {delDomain: 'hanzamedia-d.openx.net', unit: '539865168'}},
{bidder: 'sovrn', params: {tagid: '646168'}},
{bidder: 'ix', params: {siteId: '377841', size: [300, 250]}},
{bidder: 'ix', params: {siteId: '377841', size: [300, 100]}},
{bidder: 'luponmedia', params: {siteId: 400, keyId: 'jutarnji300x250'}}
]
},
{
code: '/11425286/jl_nas_mb_4',
mediaTypes: {banner: {sizeConfig: [{ minViewPort: [0, 0], sizes: prebidSizesMobile }, { minViewPort: [1024, 0], sizes: [] }]}},
bids: [
{bidder: 'connectad', params: {networkId: '10047', siteId: '977103', placementId: '637'}},
{bidder: 'appnexus', params: {placementId: '12512220'}},
{bidder: 'criteo', params: {networkId: '7108'}},
{bidder: 'openx', params: {delDomain: 'hanzamedia-d.openx.net', unit: '539865168'}},
{bidder: 'sovrn', params: {tagid: '646168'}},
{bidder: 'ix', params: {siteId: '377841', size: [300, 250]}},
{bidder: 'ix', params: {siteId: '377841', size: [300, 100]}},
{bidder: 'luponmedia', params: {siteId: 400, keyId: 'jutarnji300x250'}}
]
}
];
pbjs.setConfig(prebidSettings);
pbjs.addAdUnits(prebidUnits);
// pbjs.enableAnalytics({provider: 'ga', options: {global: 'ga', enableDistribution: false}});
// pbjs.enableAnalytics([{provider: 'pubwise', options: {site: '458cf2c6-1dfd-4bba-bd7d-d69c79b661c3', endpoint:'https://api.pubwise.io/api/v4/event/add/'}}]);
pbjs.requestBids({bidsBackHandler: initAdserver, timeout: prebidTimeout});
});
// prebid
function initAdserver() {
if (pbjs.initAdserverSet) return;
console.log ("%c DFP::::: Prebid Timeout", 'color: #006600;' );
pbjs.initAdserverSet = true;
googletag.cmd.push(function() {
pbjs.que.push(function() {
pbjs.setTargetingForGPTAsync();
googletag.pubads().refresh();
//googletag.pubads().refresh(prebidUnits);
});
});
}
setTimeout(function() {
initAdserver();
}, prebidTimeoutFailsafe);
var adSlotAnchor = null;
var adSlotInterstitial = null;
googletag.cmd.push(function() {
var screenWidth = document.body.clientWidth;
// DFP homepage
console.log ("%c DFP::::: homepage", 'color: #006600;' );
googletag.defineSlot('/11425286/jl_nas_float', [[1, 1], [300, 100], [300, 50], [970, 90], [320, 50], [728, 90]], 'div-gpt-ad-1591704893370-0').addService(googletag.pubads());
googletag.defineSlot('/11425286/jl_nas_bb_bot', [[1, 7], [300, 250], [970, 90], [336, 280], [970, 250], [1180, 250]], 'div-gpt-ad-1591704789590-0').addService(googletag.pubads());
googletag.defineSlot('/11425286/jl_nas_pb_1', [[1, 4], [300, 100], [300, 250], [336, 280], [970, 90], [970, 250], [1180, 250], [300, 50], [1180, 500]], 'div-gpt-ad-1591705326530-0').addService(googletag.pubads());
googletag.defineSlot('/11425286/jl_nas_pb_2', [[1, 5], [970, 250], [970, 90], [336, 280], [300, 250], [1180, 500], [1180, 256], [300, 50], [300, 100], [1180, 250]], 'div-gpt-ad-1591705360131-0').addService(googletag.pubads());
googletag.defineSlot('/11425286/jl_nas_pb_3', [[1, 6], [336, 280], [300, 50], [1180, 250], [300, 100], [1180, 257], [970, 90], [970, 250], [300, 250]], 'div-gpt-ad-1591705391006-0').addService(googletag.pubads());
if (screenWidth >= 1024) {
googletag.defineOutOfPageSlot('/11425286/jl_nas_wp', 'div-gpt-ad-1591705433934-0').addService(googletag.pubads());
googletag.defineSlot('/11425286/jl_nas_bb_nav', [[1, 3], [300, 100], [1180, 250], [1180, 150], [320, 100], [970, 500], [970, 250], [300, 50], [1180, 500], [970, 1000], [320, 50], [970, 251], [970, 90], [1245, 250], [1245, 500]], 'div-gpt-ad-1591704839968-0').addService(googletag.pubads());
googletag.defineSlot('/11425286/jl_nas_300x600', [[300, 1], [300, 600], [300, 601], [300, 250], [300, 1050]], 'div-gpt-ad-1591704568035-0').addService(googletag.pubads());
googletag.defineSlot('/11425286/jl_nas_300x602', [[300, 2], [300, 250], [300, 602], [300, 600]], 'div-gpt-ad-1591704661062-0').addService(googletag.pubads());
googletag.defineSlot('/11425286/jl_nas_300x603', [[300, 3], [300, 603], [300, 600], [300, 250]], 'div-gpt-ad-1591704742464-0').addService(googletag.pubads());
}
if (screenWidth < 1024) {
googletag.defineSlot('/11425286/jl_nas_mb_1', [[300, 250], [320, 480], [336, 280], 'fluid', [320, 100]], 'div-gpt-ad-1591704935583-0').addService(googletag.pubads());
googletag.defineSlot('/11425286/jl_nas_mb_2', [[336, 280], 'fluid', [320, 100], [300, 250]], 'div-gpt-ad-1591704972147-0').addService(googletag.pubads());
googletag.defineSlot('/11425286/jl_nas_mb_3', [[320, 100], [300, 250], [336, 280], 'fluid'], 'div-gpt-ad-1591705008323-0').addService(googletag.pubads());
//googletag.defineSlot('/11425286/jl_nas_mb_4', [[300, 100], [320, 50], [300, 250], [336, 280]], 'div-gpt-ad-1591705252950-0').addService(googletag.pubads());
//googletag.defineSlot('/11425286/jl_nas_mb_5', [[336, 280], [320, 50], [300, 250], [300, 100]], 'div-gpt-ad-1591705287025-0').addService(googletag.pubads());
adSlotInterstitial = googletag.defineOutOfPageSlot('/11425286/jl_interstitial', googletag.enums.OutOfPageFormat.INTERSTITIAL);
if (adSlotInterstitial) {
adSlotInterstitial.addService(googletag.pubads());
}
}
var dfpTargetingPageUrl = 'https://www.jutarnji.hr/';
var dfpTargetingArticleClass = 'naslovnica';
var dfpTargetingAuthor = 'jutarnji';
var dfpTargetingUserIsLoggedIn = 'no';
var dfpTargetingTipStranice = 'naslovnica';
var dfpTargetingTopRubrika = 'naslovnica';
var dfpTargetingRubrika = 'naslovnica';
var dfpTargetingTags = '"EMPTY_TAG"';
var dfpTargetingArticleId = '0';
var dfpTargetingWindowSize = String(dfpBreakPoint);
googletag.pubads().
setTargeting('page_url', ['https://www.jutarnji.hr/']).
setTargeting('article_class', ['naslovnica']).
setTargeting('author', ['jutarnji']).
setTargeting('UserIsLoggedIn', ['no']).
setTargeting('tip_stranice', ['naslovnica']).
setTargeting('top_rubrika', ['naslovnica']).
setTargeting('rubrika', ['naslovnica']).
setTargeting('tags', ['EMPTY_TAG']).
setTargeting('article_id', ['0']).
setTargeting('WindowSize', String(dfpBreakPoint)).
setTargeting('CxSegments', getUserSegmentIdsLocal());
googletag.pubads().collapseEmptyDivs();
googletag.pubads().enableVideoAds();
googletag.companionAds().setRefreshUnfilledSlots(true);
googletag.pubads().enableSingleRequest();
googletag.enableServices();
if (adSlotInterstitial !== null) {
googletag.display(adSlotInterstitial);
}
console.log ("%c DFP::::: googletag.cmd.push", 'color: #006600;');
});
console.log ("%c DFP::::: page_url = https://www.jutarnji.hr/", 'color: #006600;' );
console.log ("%c DFP::::: article_class = naslovnica", 'color: #006600;' );
console.log ("%c DFP::::: author = jutarnji", 'color: #006600;' );
console.log ("%c DFP::::: UserIsLoggedIn = no", 'color: #006600;' );
console.log ("%c DFP::::: tip_stranice = naslovnica", 'color: #006600;' );
console.log ("%c DFP::::: top_rubrika = naslovnica", 'color: #006600;' );
console.log ("%c DFP::::: rubrika = naslovnica", 'color: #006600;' );
console.log ("%c DFP::::: tags = 'EMPTY_TAG'", 'color: #006600;' );
console.log ("%c DFP::::: article_id = 0", 'color: #006600;' );
console.log ("%c DFP::::: WindowSize = " + dfpBreakPoint, 'color: #006600;' );
console.log ("%c CMS::::: site = jutarnji", 'color: #000066');
// Async load of cx.js
(function(d,s,e,t){
e=d.createElement(s);
e.type='text/java'+s;
e.async='async';
e.src='http'+('https:'===location.protocol?'s://s':'://')+'cdn.cxense.com/cx.js';
t=d.getElementsByTagName(s)[0];
t.parentNode.insertBefore(e,t);
})(document,'script');
</script>
<script>
function imageFallBack (imgelement, tplName) {
if (typeof tplName === typeof undefined) { tplName = 'site'; }
if (typeof imgelement.attr("data-fallback") === typeof undefined) {
imgelement.attr("data-fallback","done");
imgsrc = jQuery(imgelement).siblings('source');
imgsrcset = jQuery(imgelement).siblings('source').attr('srcset');
screenWidth = getViewPortWidth();
mediaWidth = 0;
blMediaFound = false;
jQuery(imgelement).siblings('source').each(function(index) {
if (!blMediaFound) {
mediaWidth = jQuery(this).attr('media');
mediaWidth = mediaWidth.replace("(min-width: ", "");
mediaWidth = mediaWidth.replace("px)", "");
mediaWidth = parseInt(mediaWidth);
if (screenWidth >= mediaWidth) {
imgsrc = jQuery(this);
imgsrcset = jQuery(this).attr('srcset');
blMediaFound = true;
}
}
});
sep = "#$#";
imgsrcset = imgsrcset.replace(/\//g, sep);
n = imgsrcset.lastIndexOf(sep);
imgname = imgsrcset.substring(n + sep.length);
preffix = imgname.substring(0, imgname.indexOf("_"));
n = imgname.lastIndexOf("_");
suffix = imgname.substring(n);
imgsrc.attr('srcset', '/templates/' + tplName + '/images/jpgs/' + preffix + "_no-image" + suffix );
}
}
function getViewPortWidth() {
return document.body.clientWidth;;
}
jQuery(window).resize(function() {
screenWidth = getViewPortWidth();
});
</script>
To otprilike ilustrira koliko je vise posla s AdX-om.