I thought that I had discussed this before, but if so it was over a year ago and I can't find it. Sorry if this is a dupe!
I have always found Doubleclick, nee DFP, nee Google Ad Manager to be painfully difficult to use... a million features and not one of them make sense. But I'm moving towards an infinite scroll setup, and that's the only way I've found to make ads work once the page has scrolled.
I have several questions, so I hope someone here has some experience and can guide me in the right direction:
1. Is there a way to show my own ads if the bid value is below $X? For example, if the highest bid for the impression is $0.10, I would rather give the impression to a locally sold banner, like how I used to be able to do with Adsense's Ad Balancer. And ideally, if it's between $0.50 and $0.11, I have a third program that I would like to send it to instead of Adsense.
2. Can I make ad SIZES compete to show the ad size that pays the best? I currently use this, but it just shows the biggest ad that fits... which isn't necessarily the one that pays the most:
googletag.cmd.push(function() {
adMap['horizontal'] = googletag.sizeMapping()
.addSize([800, 0], [1, 1])
.addSize([728, 0], [728, 90])
.addSize([320, 0], [320, 50])
.build();
googletag.cmd.push(function() {
slot[0] = googletag.defineSlot('/12345/foo',
[ [728, 90], [320, 50] ], 'banner')
.defineSizeMapping(adMap['horizontal'])
.addService(googletag.pubads());
googletag.display('banner');
googletag.pubads().refresh([ slot[0] ]);
});
3. Similarly, is there a way to set up multiple networks and let them bid against one another?
4. Is there a reason why I can't put the Ad Manager code in a separate .js file that's loaded in the header? Or does it specifically NOT need to be cached?