Tuesday, July 21, 2015


Advertising on mobile devices in the US will reach $29 Billion this year and is forecasted to hit $65 Billion in 2019. According to eMarketer, mobile ad spend in Germany will reach $2 Billion this year and over $5 Billion in 2018. It can be seen quite plainly that there is a lot of money going into the mobile marketing business. From the perspective of interface design and usability, the mobile marketing universe however is still in its infant state and there is much room for improvement and progress.


The industry has not yet found best practices how and where to place ads on mobile devices attracting the users attention instead of annoying him. This current experimental phase of visual layout of ad placements might trigger unintentional clicks. Although Ad-Exchanges impose placement restrictions to prevent such impression or click inflation, in reality it seems to be hard to control such problems. Microsoft Advertising says that developers must not “edit, resize, modify, filter, obscure, hide, make transparent, or reorder any advertising” and Google states “Ads should not be placed very close to or underneath buttons or any other object which users may accidentally click while interacting with your application“. There are several ways to misread or violate these rules, by e.g. placing too many ads or ads hidden behind other controls. Furthermore, ads may be placed outside the screen, they may overlap with control buttons or many other mistakes can be made. There is active research going on in order to identify apps that are getting into the Google Play Store, iTunes, or third party app stores [1, 2]. Whether unintentional clicks simply come from bad UX design or whether they are intentional, these clicks are not wanted and, thus, of no real value to the marketer.

Traffic generating accidental clicks is a serious problem in the space of programmatic buying. By wasting precious marketing budget without added value, these clicks create a bad reputation and perception of mobile advertising in general. At realzeit we can confirm these problems for unfiltered and unscreened traffic. We have built corresponding filters and screening algorithms deep into the core of our bidding system because we are aware of such problems. As we are measured in terms of performance, we have to make sure that spent budgets actually deliver valuable results. In this post we describe two very basic patterns that will help to get rid of a large percentage of unintentional clicks in a simple way.


Let’s have a look into our data to describe two very basic patterns that help to classify accidental clicks. How do we ensure the quality of our clicks while delivering ads 24/7 in many different countries in tens of thousands of different apps? To see if we find any suspicious pattern we do not have to go very far. Lets have a look at the actual CTR we measure for different placements over all exchanges.

The plot shows a histogram of CTR per placement with an arbitrary unit on the y-axis.  The main part of placements has a reasonable CTR of < 1% and there is a reasonable exponential decrease up to 10% CTR. As if 10% would not be extremely high already, we see some very clear and impressive patterns of high CTRs that appear way more frequently than an exponential decrease would suggest. There are clear peaks at 50%, 33% and 25% CTR. These are strong indicators that something is wrong, since the CTR of these placements is unreasonable high and they deviate clearly from the power law fit. We take that as a hint into the direction that the ad is probably placed close to some important button of the app, or it is difficult to close the banner without clicking on it. For one of those peaks we actually checked and saw that the high CTR corresponds very well with a recent change in UX design that placed the add next to the Home button. Fortunately, after some annoyed comments in the play store, the makers of the app did not that pattern later as well, and switched back to the old UX.

As a second detail we have looked into the time difference between the ad impression and the actual click. Assuming misleading ad placements, people will click accidentally on ads without the intention of any further action. The median human reaction time is approximately 250ms if the click is intentional. We still have to take into account that it will take some time to process the banner and the person to decide if she or he wants to click. Everything below 300-400ms seems just not like an active decision.

The plot shows the distribution of impression-to-click time difference for two groups of placements where the difference is maximal 1s. The grey line represents timestamps from placements we have classified as suspicious and the green line shows timestamps from premium apps from gaming, social network, and information verticals. There is a very clear peak at timestamps below 100ms indicating that the click happens way to fast to be related to a conscious decision. We were quite surprised of this very clear pattern after seeing the data of placements we previously declared as fraudulent.

Looking at the CDF of the time-difference distribution, we can show the difference even stronger. The premium placements are more or less equally distributed between the time window of 0-1000ms, where the fraudulent placements are grouping clearly towards a very short time difference. Even the premium placements have significant impression-to-click time differences at very small values, indicating that even those users accidentally hit the ads sometimes. We have to have a very close look to understand which clicks are intentionally and where is the fat finger.


We have shown that it is not difficult to find strange patterns in the CTR that are a clear indication of accidental clicks. Furthermore, we looked a bit deeper into our data and find that an impression-to-click time difference that is way below the human reaction time is also a good indication that something is wrong. We also see though that  premium apps deliver clicks that are way below the normal human reaction time. It is not that easy to distinguish between good and bad guys and one needs a detailed analysis. A recent study by Forrester Research shows that the problem of fat fingers is rather widespread in the mobile advertising space, but we accept no excuse. We believe that the whole business needs to become aware of it and everyone should start dealing with it.

We at realzeit are committed to deliver the best results for our customers. Our automated fraud and accidental click detection use various statistical patterns and advanced machine learning to identify fraud in real-time. However, as we have shown you in the above example, we do not even have to do rocket science to filter out the majority of all accidental clicks. Simple algorithms are able to reduce accidental clicks after a very short learning period by about 80%, thus providing marketers with real users and intentional clicks. Please contact us if you have questions, ideas, critics and we are happy to chat with you in person about mobile advertising, fraud prevention, and everything else.

[1] MAdFraud: Investigating Ad Fraud in Android Applications, ACM 978-1-4503-2793-0/14/06 (2014)
[2] DECAF: Detecting and Characterizing Ad Fraud in Mobile Apps, 11th USENIX Symposium on Networked Systems Design and Implementation, ISB N 978 -1- 931971- 0 9 – 6 (2014)