Admob dropped cpm

And fill rate?

-I will probably set admob mediation to show appbrain ads 5% of the time to test it. Integrating was very easy but I had to set width of the adview because otherwise appbrain banner took all width available.

Yes, I saw that in testing also - with admob mediation set to show admob and appbrain - the AppBrain banner takes up all the width - while the admob banner does not.

I have the admob mediation XML currently set to:

<com.google.ads.AdView

ads:adSize=“BANNER”
android:layout_width=“fill_parent”
android:layout_height=“wrap_content”
android:layout_alignParentBottom=“true”

android:background="#ff6892ff"
/>

So you explicitly set the layout_width (or was it width ?) What units - 320dp ? or 320px ?

I have noted that the admob mediation banner is relatively shorter on bigger phone displays - which means it is using some type of absolute ratio instead of relative to screen height etc. ?

Thanks.
[hr]
Since folks here mentioning admob mediation - I was wondering how the admob refresh rate setting (I’ve changed it from 60 seconds to 120 seconds - as that presumably may help CTR ?).

But I wonder what the effect is of “Never”. Does the ad network refresh rate then work - or is “Never” the settings one should use anyway ?

I suppose if one has access to the SDKs for the ad networks, one could set the refresh rate that way also … but wondering how the simpler ways may work.
[hr]
What the Appbrain banner does …

Points to the same appwall that I already have set up for showing at app close (i.e. Appbrain Appwall set to default once per 3 days).

Don’t know how this Appbrain “More Apps” banner will work - looks a bit boring - but maybe less taxing for users (?)

When you use Appbrain banners directly in XML (i.e. not through admob mediation) - you can set the colors/theme in the XML.

When you use Appbrain banners via admob mediation, I did not see a way to pass the color preference - unless it can be done via the Parameters: setting (which is currently set to blank by default for appbrain custom events).

Short tutorial on adding AppBrain banners to admob mediation (to an app which already using AppBrain Appwall):

It is easy to add the appbrain banner ads to admob mediation.

With admob mediation you have to specify a custom event:

Label: AppLift banner
Class name: com.appbrain.mediation.AdmobAdapter
Parameters: Leave empty (i.e. blank)

AppBrain has no publisher ID or app ID - they base it on your package name - how convenient (though maybe some situations where you want to test different versions of the same app with a different publisher ID to see how that version doing - so you probably won’t be able to do that with AppBrain since is keyed to your app package name).

Currently you cannot test with AppBrain - as getting your app “registered” (means you start getting paid), your app should be on Google Play and then it appears on Appbrain automatically - and then you click to register it for monetization etc.

This means as a developer you cannot pre-test before release - the Appbrain folks have commented in e-mail that they realize this hampers developers and are going to fix it.

So I will probably publish the app first - then quickly sign up at Appbrain.

Appbrain Remote Settings

The signup before public release is important because Appbrain also offers Remote Settings feature which maybe quite useful - it allows you to set parameters/strings on appbrain website - which your app can load once per day etc. - meanwhile the app then refers to the local cache of those settings - this means it is possible to tweak your app behaviour while it is in use - for example you could presumably use it to set time-between-ads settings - or a message of the day string etc.

Since I have included AppBrain Appwall (to show at end every 3 days etc.) - I had to add their SDK to the libs/, plus you also add their mediation library:
appbrain-sdk-android.jar
applift-admob-mediation.jar

And you need these lines in the proguard.cfg (so the AppBrain SDK references are not obfuscated):

-keep public class cmn.Proguard$KeepMembers
-keep public class * implements cmn.Proguard$KeepMembers
-keepclassmembers class * implements cmn.Proguard$KeepMembers {
<methods>;
}

I set the width to 320dp (or maybe a little more). Right now I’m testing leadbolt banners but it looks like they are not good - less CTR than admob, most clicks don’t give any revenue (why?) leading to 0.11$ eCPM (while I have about 1$ in admob).

Thanks.

Since it is the same app and user base - this means one ad network has more interesting ads (which provokes the user to click).

Or is the refresh rate relevant here too ?

I’ve set the admob mediation refresh rate from 60 sec to 120 sec. Don’t know what setting it to “Never” does ?

Has anyone changed the refresh rate and seen if has any impact. And if can be set longer - presumably higher CTR making ad network send higher quality (higher CPC) ads your way ??
[hr]
The admob mediation CPM settings are made-up numbers the developer specifies to specify the ad network order.

Presumably this is try A, if no ad or timeout, try B etc.

So is what this article is saying about mediation networks incorrect (i.e. ads are fetched by them and discarded thus lowering CTR):


http://blog.velti.com/how-to-increase-your-click-through-rate/
Developer Resources, Knowledge Base, Mobile Advertising
How to Increase Your Click-Through Rate
February 24, 2011
Andrew Lui, Engineer at Mobclix, highlights some of the most common performance pitfalls, from an integration perspective, and how developers can easily avoid them to radically improve their CTRs.

Discarded Impressions:

Mediators request ads from all embedded SDKs simultaneously then discard all but the highest paying impression. The problem here is that if an ad is called then ignored, the impression is still counted, and if it’s counted and never shown, it’ll kill your CTR as there’s no way for the user to see and click. Initially you might be thinking: “Great, Adwhirl will artificially increase my impressions and I’ll get more money.” Wrong. It will increase your impressions but it will artificially decrease your CTR. The networks will effectively start ignoring your ad requests; some networks will ban you for fraud. You’ll hurt on ad fill, ad quality and CPMs.

Hi Magnesus,

You don’t get revenue for clicks as Leadbolt’s ads are mainly CPA (cost-per-action) based. You only get paid when someone does an “action”, like install an app (and launches it, in most cases) or fills up a survey form…

Hope that helps in working out a strategy on what type of ads you’d put into your apps. A combination/rotation of CPA and CPC (like admob/millenial) MIGHT give a better return.

Good luck!

In addition, I found this on adwhirl (predecessor of admob mediation) - see below.

The question is if with admob mediation - just going by the default settings - if admob is refreshing the ads when the app is idle as well … ?

If so, this would be diluting the CTR numbers for many people.

Perhaps if some apps are closing explicitly on back press etc. - for those they maybe getting better CTR for this reason, while apps which are sloppy about exiting the app may be having admob deliver the ad all the time (result over-presentation of banner ads while no one is looking and thus no clicks - and so lower CTR).

I wonder if admob is doing something about this ?

If so, this would suggest perhaps doing one’s own banner presentation code - where one explicitly fetches a new banner only when one knows for sure that the user is there.

Or to stop banner ad downloads as soon as you know that the user has gone idle.


http://wiki.millennialmedia.com/index.php/AdWhirl_SDK

Ads in the Background

AdWhirl gives developers the option to request ads in the active screen, as well as screens not currently visible to the user. Doing so decreases the performance (CTR) of all ads inside your application, because ads continue to be requested even though they are not visible to the user, this greatly impacts the eCPM and revenue opportunity for our Developers. In fact, if your application is making background ad requests, Millennial will be unable to add CPM campaigns to your application at all.

As such, you MUST utilize ignoreAutoRefreshTimer, from the SDK when ads are in the background and not visible to users. This will increase the performance of your application significantly, allowing Millennial to appropriate CPM campaigns to your inventory, and, in turn, increase your eCPM.

Auto Refresh Timers

Our experience has shown that an automatic refresh for ads is a unique and positive way for users to be engaged. With that said, we have seen the most positive engagement and higher CTRs when this value is set to 60 seconds. This allows CPM campaigns to be viewed the optimal amount of time for our brand advertisers, as well as ensuring a higher CTR for CPC campaigns.

As a result, applications utilizing a 60 second timer generally have seen higher eCPMs.

Thanks. I didn’t know that. I’ll test something else then, CPA is too random. Anyway: adforandroidapps - my exact code is:


DisplayMetrics metrics = new DisplayMetrics();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        
RelativeLayout.LayoutParams adParams;
adParams = new RelativeLayout.LayoutParams((int) (320)+2, 
                    RelativeLayout.LayoutParams.WRAP_CONTENT);

PS. The code was wrong - no need to multiply by metrics.density!

@Magnesus - I’m afraid you have to face the brutal truth about banner ads. It is not achievable to get 3% CTR (at least with adMob) without cheating. Just think about it - every app is getting pretty much the same ads so why is the CTR sometimes so dramatically different? I run some experiments and the real conscious CTR is around 0.5%. Everything else is just fat fingers. In your apps you have placed the banner practically in the playable area. 2.5% chance to hit it by accident.

adMob (and probably most CPC networks) says it’s accidental clicks are illegal but seems to tolerate that. That’s why advertising with adMob is usually just flushing money down the drain. In fact the only companies that succeed with adMob advertising are companies that are doing that to build brand where they practically pay per impression rather than click.

Leadbolt pays per conscious clicks so this 2.5% does not count. It is surprising and disappointing though that it doesn’t provide higher CPC as advertisers get more value per click if they don’t have to pay for accidental clicks that does not result in desired conversion.

Notification ads are no better - I click on them by accident every day (until I’m so pissed off I search what app causes them).

Don’t get me started on notification ads :slight_smile: They are the plaque of this system and I hope recent changes will make them become marginal soon.

OK. Leadbolt banner generated quite good eCPM today (0,05 per click), I’ll leave it for longer and see how it goes. I use it only on a newly released game (Push the Fluffies) with not much views, so the results are still very random.

So it is either special-case banner ads - like madvertise for europe/u.s - from reports folks are able to get slightly better numbers that way.

Then we have the variants of the banner ads - i.e. the synthetic ones - which can generate 100% fill rate (probably) - like the Appbrain banner ads - which are essentially “More apps” - pointer to appwall. I would class this as a banner class of it’s own. Haven’t seen any numbers on how the banners perform.

Then there is the variable of perhaps not “wasting” an ad that has been fetched - that is for example not showing ads when program is idle or you know the user is not looking. This may affect also. This would ensure no banners delivered that are unlikely to get clicks anyway.

Which leaves the rich media - full screen interstitials and video ads. I am guessing this will be where things will move (at least on android - with a user base that has been characterized as unwilling to pay for apps, but willing to tolerate ads).

Much better than adMob. What CTR are you getting?

Btw - I like the fluffies :slight_smile: But you seem to be not taking density into account - on Galaxy S3 the fluffies don’t follow my finger - they move faster than my finger. The more I drag the bigger the distance. Looks like a typical lack of px/dp conversion somewhere.

2.5% or sth like that - but it’s really to early to say, because when the view count is low things are quite random. I’ll report when I’ll have more stable impression count. Thanks for the info about the bug. Lagging behind would be normal - moving faster than finger definitely isn’t (there is a lot of conversion though because I have to convert px/dp to coordinates of my opengl view too and it gets messy :slight_smile: ).

Sorry, I meant to ask about fill rate not CTR :slight_smile:

I don’t know. Leadbolt doesn’t state it.

Somewhat related to this discussion is this data point from Greystripe - it seems some of these ad networks will apportion quality of ad according to the quality of developer/app.

Here greystripe saying they DO give less quality ads to those who are not showing their ads (don’t see why they do it this way as all that matters is how many of their ads get shown).

http://wiki.greystripe.com/index.php?title=Mediation_Layers

-Greystripe serves premium campaigns to apps based on recent historical data. Applications with the highest performing historical data tend to get more premium campaigns. If you use a mediation layer, we recommend giving Greystripe some consistent inventory to ensure that you will be getting premium advertisements and so you can monitor our available eCPM and fill on an on-going basis.

In addition they have this intruiging comment:

-For example, if you allocate impressions on a percentage basis, Greystripe will get all impressions from a certain percentage of users, both those impressions that we monetize at the best rates (early impressions of users in the U.S.) and those impressions which we may not fill all of the time(impressions later in a user’s session and those from users outside the U.S). This is demonstrated in “Example C” below.

Which suggests they fill an ad request when first asked and less keen to fill for subsequent requests ?

Just an update here, I continue to get very strong eCPM’s from my Millenial Media banner ads.
Those of you still using Admob I would highly recommend trying Millenial.

Doing it tonight! Farewell for now Admob.

@gordonb - what CTR do you have and how high is the eCPM exactly? :slight_smile: