Tagtutorial

Where to place ads

Some of the readers of you asked me where to best place an ad. Here is what I know.

The app

We will look at an app that is a simple game it looks something like this:

It has childlike graphics and the hero is a red ball. In each level it has to reach the goal marked by a flag. It can be rolled to the left/right by touching the left/right side of the screen. A simplified heatmap of the clicks on the screen would probably look something like this:


Although I’m using a game for the visualization of the written word, everything I’m writing about ad placement here can be easily transferred to non-games or apps that run in portrait mode.

T he two ways

When optimizing your ad placement, there are two ways you can go: Optimizing for maximum visibility of the app or optimizing for the biggest amount of clicks, which can also be accidental.

Way one: Visibility

This is the first way. When taking it, you try to place your ad in a way that the user can see it well. When the user likes what he is seeing, he probably will click the ad.

So for our example game here, where the player has its hands placed on the bottom and most likely clicks to the left and the right half of the screen, the best position for an ad would be the centered top. When your app can be controlled by one hand and runs in portrait mode, the top left would also be a good place as most people are right handed. If you want to find the best place for maximum visibility of your ad, you can analyse the click behaviour of your user and adjust the ad placement accordingly or just use this little class I wrote to do so. For apps that run in portrait mode, the most times best place for visibility is on top.

The best placement when optimizing for visibility

Way two: Best CTR

The second way targets for both the wanted and the accidental clicks. Here, you place your ad in a way it is more likely that the user might click it by mistake. When applying this tactic, you should be aware of the TOS of your ad provider as most of them prohibit ad placements too close to often clicked areas.

For our example game, we would probably place our ad in the bottom right or bottom left because we can expect the most touch events there. Most portrait mode apps should place their ads on the bottom.

When optimizing for the best CTR, the ad should be placed like this

Which way you choose is up to you. While the latter might cause you to lose a couple of users, it will probably still generate you more money than the first one. When you want your ads to be clicked only when the user is really interested in its content, you should take the first way.

 

Do you have any best practices of ad placement, questions or criticism? Please feel free to share them in the comments.

How to combine Madvertise with another ad network

A lot of people asked me how I implement the switch of Madvertise to another ad network. Here is how I do it:

I’m doing this example using an AdMob and an Madvertise view. Of course you can use any other similar networks like Adwhirl or Mobclix as well but I’m assuming you are familiar with including the two SDKs you are using.

At first we need a layout resource, here it is:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
  xmlns:mad="http://schemas.android.com/apk/res/com.andlabs.gi"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  > 
          <com.google.ads.AdView
            android:id="@+id/admad"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            ads:adUnitId="y0ur4dun1t1dh3r3"
            ads:adSize="BANNER"
            ads:loadAdOnCreate="true"
            />
         <de.madvertise.dev.android.MadView
             android:id="@+id/madad"
             android:layout_width="match_parent"
             android:layout_height="Wrap_content"
             mad:isTestMode="false"
             mad:backgroundColor2="#000000"
             mad:textColor="#FFFFFF"
             mad:bannerType="mma"
             mad:deliverOnlyText="false"
             android:visibility="gone"     
             />                
</FrameLayout>

Pretty basic. A Madvertise and an AdMob view. Next step: Get them in your Activity:

 private MadView mMadView;
 private AdView mAdmView;
 @Override
     public void onCreate(Bundle bundle) {
          super.onCreate(bundle);
          /* ... */
          mAdmView = (AdView)findViewById(R.id.admad);
          mMadView = (MadView)findViewById(R.id.madad);
     }


That’s easy too. Next, register an MadViewCallbackListener and switch the views the way you need it. As you have seen the MadView is invisible at the beginning. I assume that Madvertise always brings in more money, so when I receive an ad by them, I set the AdMob view to invisible and the MadView to visible. That’s essentially it:

 mMadView.setMadViewCallbackListener(new MadViewCallbackListener() {
     @Override public void onLoaded(boolean success, MadView arg1) {
          if (success) {
               if(D) {
                    Log.d(this.getClass().getSimpleName(), "MadAd Received");
               }  
               if (mAdmView.getVisibility() == View.VISIBLE) {
                    mAdmView.setVisibility(View.GONE);
               }
               mMadView.setVisibility(View.VISIBLE);
          } else {
               if(D) {
                    Log.d(this.getClass().getSimpleName(), "No MadAd Received");
               }
               mMadView.setVisibility(View.GONE);
          }
     }
 });

Not a big deal. And that’s all. Now you have your own little meta ad network.

 

Please feel free to leave your experiences, questions or suggestions in the comments.

© 2024 Droid-Blog

Theme by Anders NorenUp ↑