|Question for Folks Who Have Used Adsense in DFP|
I am wondering if you could help me with a question. Let's say you have a 160x600 that runs site wide. And let's say you're working with companies like Criteo and OpenX and you're setting a floor in DFP below which Adsense ads will serve. What Adsense data would you use to figure out where the optimal price floor should be? Would you look at the RPM for the Adsense ad? If so, do you need to convert it to CPM? And do you want the floor to be 10%, 15%, etc. above that? In short, what's the best method for establishing the price floor? Thanks for any help with this.
I think that the question is wrong. Wouldn't it be best to have them compete rather than deliberately trying to supress AdSense? That way you can create upwards pressure and increase yield.
I'd use price priority. Set criteo/openx or whatever to compete at the price they pay on a REQUEST basis (ie take in to account their fill rate). Load adsense as a line item on price priority and update the bid for the non adsense networks as often as you see fit.
Thanks for your thoughts. Here's one quick question. As I understand it, when you set a price in DFP using Price Priority, you're telling DFP to look and see if Adense can serve ads above a designated price. If Adsense can, Adsense will serve the ad. If it can't, the ad network will. But what happens when/if the ad network runs out of ads to serve. It would presumably use a passback to Adsense. But usually the passback code has a floor price in it, and I'm just not sure where the floor price fits into equation. Can you help me get my thinking straight there?
You are correct that in DFP Price Priorty, the eCPM you set is what AdSense will try to beat. If AdSense can serve an ad paying higher, it will show that instead of serving the third party network. If it cannot beat it, the third party network's ad will serve.
I'm not sure I understand the price floor part of it, but as far as I know, once the third party network runs out of ads, it will begin serving AdSense default ads (assuming you have given that network an AdSense pass back code). These ads do NOT run through DFP in any way and your goal should be to MINIMIZE these.
The key is to try to get the least amount of pass backs (or in other words, greatest fill rate without hitting 100%) and you can achieve this with the other parameters in DFP - specifically frequency capping and geo-targeting. What you ultimately want is to grab the highest paying 'x' number of ads from Network A and let AdSense (or a second, third, etc. network) win any subsequent impression.
I mentioned earlier about not hitting 100% fill rate - the reason for this is if you hit 100%, you don't know if some impressions are being wasted. But if you're at 99%, that is optimal as you are only passing back 1%...
So key points:
1. Find out the eCPM of your networks and set that as the eCPM in DFP
2. Always f-cap so that you're minimizing passbacks
3. Set up multiple networks using the strategy above so you grab the highest paying ads from each of them
Feel free to ask any more questions - I have extensive experience using DFP and have spent countless hours with Google fine tuning my orders in DFP.
Also I disagree with the above poster about entering AdSense as a line item and have it compete with other networks' line items. This is not optimal as you miss the benefits of DFP's dynamic allocation. You always want to enter in your third party networks as orders > line items and have AdSense enabled for competition for the ad units related to those line items. You will make the most money this way.
Thanks very much for the helpful information.
Just to clarify the passback question. As I understand it, when the ad network can no longer serve ads (when they run out of inventory), they use a passback for Adsense. In creating the passback code, I've noticed that they ask for a floor price. And I guess I am wondering where to set that price? What things should I be thinking about?
Also, on a separate note, I was just wondering how much you can boost your earnings (percentage wise) by using ad networks. I am guessing you've found it to be fruitful, but does it make a major impact? Or are the gains fairly small/incremental?
I believe the floor price is not necessarily related to the passback code per se, but rather affects the quantity of ads they can deliver. It's basically you saying to your network "you need to serve an ad higher than this CPM, if you can't, use my passback code". Allow me to explain further...
If you set a really low CPM floor, then there is a good chance that your network (let's name it A), will be able to deliver multiple ads exceeding that floor (assuming you set a high f-cap in DFP for Network A). This would in turn minimize the pass backs to AdSense. This may sound optimal, but is likely not as there is a good chance that you are missing out on AdSense ads that would deliver a higher CPM than the floor.
On the flip side, if you set a really high CPM floor, Network A may only be able to deliver 1 impression or perhaps none at all and pass the rest back to AdSense. Again this is not ideal, as you are missing out on DFP's dynamic allocation.
In my opinion, here are the steps you want to take:
1. Play around with the eCPM starting with something low and keep raising it until you see the Network A start filling less than 90-95% of your impressions.
2. You will almost surely also need to use frequency capping alongside this as there are very few networks (apart from AdSense) that can deliver consistent CPMs after say the third or fourth impression.
3. Depending on the type of reporting available at Network A, look at other factors that affect CPM - especially location. Inventory/impressions are not created equally - there's a great chance a US based impression from a desktop is going to generate a much higher paying ad than an Asian based impression on mobile. As such, you may want to incorporate geo targeting in DFP too get the very best CPMs from Network A. It might even be worth it to ask Network A if they only fill specific type of inventory...if they don't fill say Asia traffic, then filter this out in DFP so AdSense wins in DFP and it doesn't send to your passback code.
4. The CPM floor of Network A should either be equal to or at least very close to the eCPM you have in DFP in price priority. Essentially, you're telling Network A you don't want any of their impressions below that floor and you're telling DFP that Network A is going to be delivering x eCPM so that it can compete efficiently.
To answer your second question, without getting into specifics when I started using other networks, I saw a 33% increase in my revenues right off the bat and near Q4, it was almost double. If you do it right, you should see an impact for sure...
The best set up is to have multiple networks with accurate eCPMs as price priority and using f-capping and geo targeting so you are grabbing the highest paying few impressions of Network A, then the highest few paying ads of Network B, and so on and all the while having AdSense compete with them all and beating them where they can.
Sorry for the long winded reply, hope this helps! :)
What I've done is create custom AdSense channels/code for network passbacks. The eCPM rate for the corresponding channel is what I set the network floor. You need to watch them as the eCPM rates on your passbacks will change over time and will need to be updated at the network.
It was said about that it is "not optimal" to have adsense as a line item as "as you miss the benefits of DFP's dynamic allocation".
This is not strictly true (although can be for some). You can use dynamic allocation at line-item level, although not all accounts have this enabled.
@ChildPlease, that's a great, really helpful reply. I'm sure I will keep referring back to it.
So could I please ask for clarifications on three things?
1) When you start a campaign, what do you set the impression frequency at? I watched a Google-made video where they suggested 4-6 impressions per person per day. Does that seem like a reasonable number to start with?
2) It sounds like you use Price Priority. But I've seen some ad ops people suggest that Network could be more effective. Have you tried that out?
3) Finally, could you please clarify this item? You say "The CPM floor of Network A should either be equal to or at least very close to the eCPM you have in DFP in price priority."
Are you saying that if you set the CPM in DFP at $1.50, the passback code should also be set near the same price? Or did you mean something else? I guess I am still trying to figure out where to set the price of the passback code.
Thanks again, and it's great to hear that you're getting such good results!
matbennett, one of us misunderstanding here - might be me! I'm certainly not doubting that you can activate dynamic allocation at the line item level. That is basically saying you want some line items to compete against AdSense and some not to, as opposed to activating in account wide. This is true!
But your original post stating "load AdSense as a line item" is what I am referring to as being not optimal. Loading AdSense as a line item and having it compete in that way based on eCPMs vs. other networks is not as optimal as leaving AdSense out of it and having it compete with said networks via DFP's dynamic allocation. I am not just making this up, I was working one-on-one with Google via conference call for several months in 2013 and they re-iterated this multiple times.
rundhc, glad you find this helpful - happy to help!
1. That is a very good number to start off with. Normally I go a little more aggressive and start at 3 per 24 hours and then either tighten the caps further or loosen based on results. For me, 6 would be the absolute maximum, you will see some poor or even non paying impressions per user after 6!
2. I've never used Network but I suppose there's no reason it wouldn't work if you use that level for all the networks because network gets a higher priority than "price priority". I don't see one as being optimal over the other to be honest, as long as you are consistent and don't flip between multiple levels.
3. Okay, I'll use hypothetical examples.
I am with Network A and I also run AdSense as well. In DFP Network A I have set at 0.50 eCPM with f-cap of 3/24 and in Network A's console I see 25% of my impressions are passing back. I tell Network A to set the floor at 0.40 (which as above means that if they can't give me an add 0.40 or higher, it will pass back). The console also tells me that the ads are delivering at 0.45 eCPM - slightly better than the floor. (The eCPM that the network is delivering at should always be higher or at least very very close to the floor or it's not working as intended!)
A user visits your site for the first time that day and via DFP's dynamic allocation, AdSense is willing to bid 0.47 CPM on that impression. But you have specified that the Network A eCPM is 0.50 so AdSense doesn't win and it sends the impression to Network A who delivers an ad that ends up paying 0.42 eCM. By incorrectly setting Network A's eCPM in DFP as 0.50, you have missed out on a higher paying ad. The correct eCPM should be either 0.40 (the floor) or better, the eCPM that is in reality being delivered (in this case 0.45). That way, DFP would immediately calculate that you're better off getting the AdSense 0.47 eCPM ad.
I think once you wrap your head around what exactly the floor CPM means and how that relates to the pass back code, it will all make sense.
Finally, in my example I said 25% of impressions are passing back. To me, that is too much. I'd probably first lower the f-cap to 2/24 to see if I could reduce the pass backs or see if maybe a lot of those pass backs are coming from a certain type of visitor demographic - geo, browser type, mobile/desktop, etc. Maybe Network A can't monetize Safari for example because it has no cookies and is passing all those back to your default AdSense code. You would be much better off not even sending those impressions to Network A in the first place and letting a) AdSense win via dynamic allocation or b) finding a second Network B that could compete with AdSense. Of course (b) is better as you don't want to just AdSense win by default! :)
Ok, that definitely helps clarify things. Thanks so much for spelling things out! I guess I will start experimenting with one ad network and see how it goes. Then I could try adding another to the mix. There's probably a fine art to that.
Actually, Child Please, I figure I should ask (before this thread trails away) what's the basic approach to adding a second ad network to the mix? Is there anything special/different that needs to be considered, other than what you outlined above? I'm just wondering how a daisy chain gets constructed.
Daisy chaining is basically using pass back code from multiple networks and putting them in a queue where ads that they can't deliver will just be passed back to the next network and the next and next and so on down forth.
If you're using DFP, there's really no need to daisy chain as the parameters you set is in essence superior to a daisy chain.
Adding a second network to DFP is very simple but the biggest piece of advice I can give you is to always always use frequency capping. In Price Priority, if you don't, and one network is set at a higher eCPM, DFP will just keep delivering to that network indefinitely and you'll never get any ads from the second, lower CPM network.
I'd set it up something like this to start and then analyze the results and reporting and fine tune as necessary:
Network A: 1.50 CPM, 2/24, perhaps US only visitors
Network B: 1.00 CPM, 2/24, US + CA
Network C: 0.75 CPM, 2/24, US + CA
This way, the first 2 impressions go to Network A, then the next 2 go to B and the next 2 go to C. All the while AdSense may beat any of them at any point. The more networks you have, the tighter the f-cap. You may end up in reality getting two very high paying ads from A, then two high paying ads from B and two high paying ads from C. The competition from AdSense keeps things honest too and if you have floors with those networks, even better - you won't be stuck with a low paying ad.
Thanks Child Please. I am starting to experiment and will report back soon!