, ,

Performance marketing main problem is fraud

People/Machines imitating real users behaviour (clicking, installing or even registering into apps) to earn money from the advertiser’s budget. Those users are not real and are draining everybody’s patience in this industry.

Fraud has evolved for quite those 3 years that we have been in the industry.

Mainly, fraud is linked to robot leads generator. The most efficient method of producing low-quality leads or even fraudulent conversions with state-of-the-art or clumpsy tecnology. This is pretty easy to detect with Geenapp, but advertisers can fall into those tricks if they do not have the experience or work with serious partners.

Other problems about fraud are affiliates, networks or other players not following the rules set by advertisers. Big companies promoting on soft incent traffic when advertiser has asked no incent at all, or when advertiser has only asked for only direct sources and this campaign is being promoted by everyone.

But, even though is not that huge, advertisers can be fraudulent too.

– The “Pixel Shaving”: When an advertiser only fires your pixel part of the time. Monitoring the rise and fall of your conversion rates and EPC, while conducting random checks for pixel placement, is your best bet to keep pixel shaving at bay.

– The “It’s All Fraud”: Even conversions from high-quality, transparent traffic will be deemed as “all fraud” at times, usually at the hands of jaded marketers. To deal with this, both advertisers and publishers must be very clear on what is allowed as a return, what consequently defines a conversion, and also what constitutes “fraud.” It helps if your tracking platform can enter with its data and work both sides toward resolving these definitions.

Is as our parents use to tell us: keep good company. Though there’s no bulletproof solution to mobile fraud, you can better protect yourself by working with serious people and stay alert of those signs that trigger your app-owner nose.

, ,

Quality Anti-Fraud, all the process

El fraude en el sector de la promoción de Apps es algo que se lleva comentando y hablando desde hace tiempo, algo en lo que Geenapp ponemos gran parte de nuestros esfuerzos en innovación. Y es que intentar bloquear a los tramposos no es una tarea sencilla pero sí factible.

Hay dos momentos a analizar cuando hablamos de anti-fraude en la atribución: el clic y la atribución en sí.

En la parte del clic hay varios sistemas sencillos a analizar. El primero de ellos es evidente: que la IP del usuario no sea de una máquina y sea realmente de un operador que ofrezca servicios de Internet a usuarios finales. Teniendo en cuenta que hay 2.500 millones de IP, es fácil, pero no tanto. Además hay que tener presentes las VPN, proxies, etc. Por otro lado tenemos otros elementos obvios, como dispositivos y versiones de sistemas operativos “que no cuadran”. Con esto eliminas muchos piratas, pero no todos, principalmente si no tienes un SDK en el que analizar realmente el dispositivo y su fiabilidad, momento en el que cambia el sistema.

Otro elemento básico en los clics es que siempre recibamos al menos dos datos: el identificador único del clic y la fuente de tráfico. Si me mandas la fuente de tráfico, Geenapp te podrá analizar la calidad y podré decirte que esa fuente está haciendo trampas, algo que al final te va a generar “scrubs” o conversiones inválidas que van a afectar a tu cuenta de resultados de forma negativa. Nadie quiere tener tramposos en su casa.

Por otro lado está la atribución. En general para realizar la atribución tenemos a los “trackers”, empresas que se dedican exclusivamente a ello. Aunque precisamente por esto, como su trabajo es realizar atribuciones (y cobran por ello) eliminar las que no son reales no parece entrar en el negocio de todos, al menos no de forma extensa.

En nuestro caso, cuando recibimos los S2S de la atribución solicitamos la mayor cantidad de información posible: IP, user-agent, identificadores de dispositivo… ¿Por qué? Básicamente porque si el sistema de atribución me manda toda la información voy a ser capaz de analizarla y de decidir no realizar la atribución a los tramposos. En estos casos realizamos una tarea de prevención para que aquellos que se creen que pueden mandar mucho tráfico fraudulento y esperan conseguir conversiones, tengan un sistema disuasorio para que no lo hagan, al menos no con Geenapp.

Si eres una ad-network y trabajas con trackers y otras ad-networks, por favor, solicita recibir toda la información que puedas para mejorar la calidad del cruce de información a todos los niveles. Cuanta más información tengamos, más posibilidades de combatir a los tramposos tenemos todos.

, ,

Discarded Clicks

If you are already promoting our campaigns, you most probably have received a short e-mail informing you about this issue. If you are not, this article will be very useful for you for to understand more about our daily tasks to fight fraud in the mobile industry and increase the quality of the traffic we get for our advertisers.

Geenapp is a very smart-app platform that will detect where a user is coming from and what device he’s using. Also, it will analyze and detect other things, and depending on the sum of these characteristics, it will decide if the user is allowed or not to be redirected to the store.

Who are we dispatching?

The most common of all, country and device. Our campaigns are designed for specific countries and devices, so when a user who’s not a good fit for a certain offer clicks, the platform will discard and not take this users into account.

  • Click Dumping

This is our own term to describe the repeated human or non-human clicks on a particular link or ad, with the intention of inflating click counts, and the decreasing of conversion rates. According to some new research with GigaOM, around 40% of clicks are essentially worthless, creating a conversion rate to install an app from an app store of less than 0.1 percent. Trademob found that 22 percent of clicks are accidental, while 18 percent are fraudulent. We block all this garbage from traffic sources, so you get to see the real data.

click dumping

*Typical click dumper on our collective imagination.


  • Blocked sources

Our quality and anti fraud team analyzes several parameters for all our platform’s incoming traffic. Among all the elements that are constantly verified, are IP addresses and its reputation, hosting and service providers, Proxy and VPN connections. We get alerted when we see suspicious activity, and after carefully investigating the specific origin of it, we will block it definitely from our platform. We can add to this list the device’s reputation, which is also carefully analyzed for all our promotions.

We use our constant learning and advertiser’s feedback to blacklist these sources with irregular promotions. Each campaign running in our platform is a field that allows us to optimize our sources and improve the quality of our traffic.

  • Legacy or Robot traffic

Other things that we block are all clicks coming from a legacy device or search engine robot. A legacy device is an equipment that is outdated, obsolete or no longer in production. This includes all devices that are unsupported or no longer commonly used by most devices and software applications.

old mobile phones

*You won’t be making any profit with these.


  • Device

There is no device information. Or in other words, user is spoofing on our offers. Spoofing is, in general, a fraudulent practice in which communication is sent from an unknown source disguised as a source known to the receiver. For example, a user with a desktop software that allows him to disguise as an iPhone. This technique is commonly used to produce and simulate traffic for offers that in a normal situation would not be available for its device.

  • Desktop traffic

Not under a fraud classification, users who click on the ad from a desktop will not be redirected to the store. These users will be shown a QR code that will allow them to scan with a mobile device and continue with the download and open process.

  • Wall

Also not under a fraud classification, if you are promoting one of our apps and there is no active offer for it at the moment, we will apply you post-settings configuration and discard the click.
We are working hard to make our platform the safest choice for all parties: we help advertisers acquire real users, get higher conversion rates and receive the highest benefit from their investment. Our networks can get their traffic sorted out and cleansed via our platform, as well as knowing better their sources with real-non-inflated statistics, allowing them to redirect or eliminate non profitable users.

If you want to review all your Discarded Traffic, you can check the detailed report we created for you. It’s in your panel, under: Reports -> Discarded menu.
If you have any other doubt about our discarded clicks, contact us and we will gladly answer all your questions.

, , ,

Discrepancies between 3rd Party Tracker’s data…

and the stores.

Sometimes there are discrepancies between the tracker’s information and the iTunes App Store or Google Play reports. Don’t freak out, this is what could be happening.

Install Record Date
App Stores record downloads, while trackers record Installations and opens. Also, the time zone is set by the stores, meanwhile in the making of your campaign with the tracker, you get to choose the time zone. This time difference can influence the numbers.


A user downloads candy crush but later on decides not to open it and get addicted to it for life. User deletes the app immediately >>> The stores will register one download, while the tracker wont show any numbers at all.

A user downloads an app but doesn’t get the chance to launch it. He forgets he has it on his mobile until 2 weeks later, while on holidays, opens the app and starts playing >>> The stores will register one download, while the tracker wont show any numbers at all until the user launches the app.

Lucky user gets a new mobile device. He synchronizes the new device with his iTunes or Google Play account and re-install all apps on his previous device >>> The stores will not take this new installations into account, but the tracker will record it as an organic installation.

Installation Uniqueness
App Stores record one install per unique new user, taking into account app uninstalls, users with multiple devices and upgrades. The tracker usually records new users install the app AFTER the SDK has been integrated. Users that have had the app before will be re-counted, as well as re-installations in different devices with different accounts.

A user installs and app he really likes on both: his smartphone and tablet >>> The stores will count only one installation, but the tracker will record 2 different ones.

Please take into account that some stores show unique users, while trackers show unique devices.

Google ads usually has a 72 hour delay in processing 3rd party install notifications, so sometimes the discrepancy between this numbers will be solved after this period of time. Between 10% to 20% of discrepancies happen between Google and the tracker.

SDL Modifications
In some cases these updates will result in discrepancies. Also, shortening your SDK attribution delay may cause your SDK to miss outlying attributions whose referrers are not received during your adjusted delay window. These late attributions will still be reflected in your callbacks and dashboard. This is because adjust still wait for and subsequently attribute all reftag-based clicks regardless of how the length you set your SDK attribution delay.

and Facebook Mobile Ads Dashboard.

Facebook uses a 1-day view with a 28 day lookback window. Trackers only report installations generated during this 28 day period. Also, Facebook Ads Manager shows results taking into account impressions or click-times, instead of installations or conversions, as configured with your tracker.

Keep in mind that trackers do not report ad-view installations on CPI / CPA campaigns.

If you notice a very big discrepancy in numbers do not hesitate to ask your 3rd party tracker, who is the certified authority to determine valid installations, or ask your Geenapp’s account manager.

They will be glad to help you.

, ,

Amazing tool for App developers – CPI calculator by Geenapp

The App market is booming rapidly and thousands of new Apps are being developed daily. However, many App makers are having hard times when they are trying to establish costs of acquisition for a new user. Fortunately for all of them, Geenapp came with a solution – CPI calculator which makes life easier for everyone who wishes to find out average CPI all around the world. Do not wait any longer and try it out!

What is CPI, CPA and CPE?

In order to understand what CPI calculator is about, it is crucial to distinguish between these three categories:

CPI = Cost Per Installation
Cost Per Installation refers to the term when an App is installed for the first time in a certain mobile device. In other words, publisher usually seek only for an installation of the advertised application.

CPA= Cost Per Action
Cost Per Action measures the amount that business pays in order to reach a conversion. The word “action” means the registration or subscription in the App which is required in order to attain a conversion.

CPE = Cost Per Engagement
Cost Per Engagement creates an an active user – a user that is involved and engaging with the App. It usually requires further step to be done such as the completion a tutorial or reopening the App after few days.


Differences between CPI, CPA and CPE

Current situation

Ever since App Store was introduced in 2008, it has become a trend to download Apps for different purposes, and therefore to make your life easier. The current markets offers more than 5 million Apps from over 750,000 publishers worldwide. The number of installation within one year reaches enormous amount, e.g. in 2015 there were more than 180 billion installs. Despite this number, only 80 % of these Apps have less than 10 installations during their life cycle. According to statistics, the future of App downloads in 2017 should note an increase to 268 billion installs.

The amount of installations worldwide is increasing annually

The App developers can try to reach user through multiple types of devices, however three quarters of them focuses on iOS and Android system putting them into the position of the the most important players on the App market. Android and Apple iOS account for over 90% of the smartphone market share. They are followed by Microsoft phones and BlackBerry phones. However, the fact is that smartphones remain the most popular device among all users.

FireShot Capture 172 - infographic-poster.png _ - http___gracesnoh.com_images_infographic-poster.png
Devices developed for, original source

When we take a closer look at categories, according to Statista, there has been an annual rise in downloading of Apps  and Personalization category has the highest potential of all categories.  App sessions – how many times a user opens an app – for this category recorded the increase of 332 % from 2014 to 2015. It is then followed by News & Magazines with 135 % and the third-fastest growing category of Utilities & Productivity with the rise of 125 %. On the other hand, Games apps reported the slight decrease. Based on this trends, publishers should be aware of the fact that as the size of screen has got bigger, the users have a higher tendency to open the consuming content on their mobile devices.

CPI calculator by Geenapp

In order to analyze how much an App installation cost globally, Geenapp launches a real-time CPI calculator (for free) which allows advertiser to monetise their Apps more effectively and everyone can monetize the state of App economy around the world. As Geenapp´s platform works programmatically, CPI calculator is able to analyse 100,000 offers from 1,000 Apps daily from all smartphones and tables. This makes it the only tool which gives info worldwide based NOT on estimates but on real data from Geenapp´s platform.

With CPI calculator, you can manage to calculate how much you need to pay for each user acquisition, and therefore to know where App advertising is heating up. Advertisers use information to make a marketing plan and go into the complex App environment. Another plus is that you can filter CPI for different countries, categories and types of traffics and generate your own report according to your needs. With CPI calculator you can know how much approximately your competitors are paying for each installation all around the world for various categories with diverse traffic.

FireShot Capture 173 - CPI by Geenapp - https___cpi.geenapp.com_
Real-time CPI calculator

“With all the data that we retrieve daily, we have created a new tool to help developers and agencies promote their Apps” said Gina Tost, CEO of Geenapp.  “An App can generate revenues using different methods, but you need users to do it. The billion-dollar App market is a global phenomenon and the new battlefield is in App discovery. For developers to succeed they need to have a clear global strategy and understand the value of their users in each market,” says Gina Tost, CEO and co-founder of Geenapp.

Nowaday more developed economies usually choose iOS system rather than Android. Even though Android dominates market with over 82 % (iOS account for 13% on overall market), iOS by Apple generates 85% more revenue for App makers than Android. According to our CPI calculator, the average CPI for iOS system is $ 0,96 while for Android it is only $ 0,50 which represents the difference of $ 0,46 globally. When it comes to category, Games Apps have also higher CPI by 30 %  compared to non-games Apps on average. Geenapp´s CPI calculator identifies Germany, the US, Switzerland, the UK and Japan as countries with the highest CPI. We can say that Android is declining because of the fraud with the Android simulators and market saturation. On the other side, the iOS system is winning this battle and will acquire where it is still a lot of market to gain.

CPI of 11 popular countries according to CPI calculator

The advantages of CPI calculator

⦁ CPI calculator uses real-time algorithms but data is calculated daily.
⦁ The only tool which is based on real data and no estimates.
⦁ Developers target the right audience for their Apps.
⦁ The Apps are monetised more effectively.
⦁ CPI calculator helps developer to plan a global strategy.
⦁ Developers can understand the value of their users on different markets.
⦁ CPI calculator helps businesses to develop a business and marketing plan.

, ,

Offer’s API for App Promotion.

If you’re in the world of App Promotion (as we are, in Geenapp) and you do not work with a platform that has its own API -and you have to create it-, it’s likely that you’re wondering what the person who’s going to receive the data needs. There are various possibilities (try to cover most of them), but the truth is you must adapt the API with the data that you have.

Also, keep in mind that when an offer is made to the advertiser, you must ask for a minimum of elements:

  • App and its URL on Google Play / iTunes.
  • Total Money / per installation.
  • Limitations (can be given by the customer or included if you have a monthly budget and you want to maintain installations throughout the whole period).
  • Quality Type.
  • Countries and devices.

From here you can create multiple campaigns based on combinations of these data. When creating an API as an agency, we must consider the following items (to provide simple and good service):

  1. With one call to an URL everything has to be processed.
  2. You can make one call for each offer.
  3. There must always be at least one offer (even if it’s just one test App or Campaign with a Price 0).

Another important element that helps us simplify this process is to make an API REST, with only one validation identifier (something like an API key). This system works for any programming language and it’s also verifiable from an Internet browser.

Starting with the data to be published. The basics are:

  • Offer Identifier [OfferId]: Normally, a unique number that identifies unequivocally one offer.
  • Job Title [name]: The title of the offer, usually accompanied with the App, countries’ ID’s, devices…
  • Money [payout]: The amount to be paid for each installation or action.
  • Currency [currency]: The ISO 4217 of the currency. Something like EUR or USD. In this world, offers are usually in euros or dollars, hereby any other currency often limits the promotion.
  • Country [country]: Normally, this is an array (or text, separated by commas) with the list of countries in ISO 3166-2 like ES, GB, DE…
  • Devices [device]: This can be done in many ways, but the simplest is an array that includes concepts such as iPhone, iPad, Android Phone, Android Tablet… Normally it’s best not to mix systems and separate iOS and Android Offers.
  • Quality [incent]: An indicator that clearly identifies if the offer is incentivized (low quality traffic) or not incentivized (high quality). The value can be Boolean with 0 and 1.
  • Limitation of volume [capping]: Here, you have various options, because capping can be per day, per month or total. The simplest option is to have 3 values: [capping_day], [capping_month], [capping_total], which will have by default null, except where there is another one available. Also, if possible, it is also interesting to determine the available capping at that moment, for example 3 more values:[capping_day_left], [capping_month_left], [capping_total_left]. This capping should be reset at 00:00 UTC each day / month.
  • Preview URL [preview]: URL where you can visualize where the user will arrive when clicking. It can be a Google Play, iTunes URL…
  • Offer URL [url]: URL where you will send your traffic. No need to add extra parameters. Add just this URL in order for it to work (although we could add an attachment in which we’ll provide extra parameters… to be explained further).
  • Offer Description [description]: It is not necessary to give a description of the App, but a key element of the offer that is not found in any other field. If we have various types of offers, we can display them in different ways:
  • Offer type [type]: Can not only be CPI but CPE or CPA … send values ​​like cpa, cpe and cpi. In case we want to request offers, in order to have a manager who approves them, add these other fields:
  • Offer status [status]: Can be as simple as a Boolean 0 and 1, or something more elaborated with options like request, pending, approved, or rejected.
  • Request URL [request]: A URL for an automatic request call where the offer ends up as a pending. For example, if the request has been made, can be left empty.

On the other hand, we have an URL to call and parameters we could filter. In the same way, we can give too much or little information. The only mandatory field is a API Key field, a complex unique identifier.

  • API Key [apikey]: Identifier of at least 32 bytes (an alphanumeric could be enough) that identifies you as a user. With this we could have a https URL like this, that would return all your offers: https style: //www.example.com/offers.json apikey = xXxX0123
    Besides, we could include various parameters to filtrate results:
  • Start Point [start]: Page to begin with. For example, 0, 100, 200 …
  • Number of offers to display [limit]: A number of offers, for example, 100.
  • Management of results [order]: With the possibility of ascending or descending, asc or desc according to whether you want the new ones or old first.
  • Offer [OfferId]: Only shows one specific offer.
  • A particular country [country]: Send a country and get one in return.
  • Specific Operative System [device]: A couple of options like iOS or Android. These country and device values ​​could be combined in order to display, for example, only offers for US iPhone or France Android.

To request an offer we can have a URL in which you necessarily pass two parameters: offer and a notice of request.

This way, a call to: https://www.example.com/offers.json?apikey=xXxX0123&offerid=123&request=1 would activate the request to that specific offer. The answer would be the information on that offer.

The JSON result would be something like this:

URL call: https://www.example.com/offers.json?apikey=yYZBq4a7zG9QePusTJNzFZRdvmMEAfkr

  "offerid": 12345,
  "name": "WhatsApp - US - Android - non-incentivated",
  "payout": 0.45,
  "currency": "USD",
  "country": [{
  "device": [{
  "incent": 0,
  "capping_day": 2500,
  "capping_day_left": 2157,
  "capping_month": null,
  "capping_month_left": null,
  "capping_total": null,
  "capping_total_left": null,
  "preview": "https://play.google.com/store/apps/details?id=com.whatsapp",
  "url": "https://www.example.com/tracking/?offerid=12345&publisher=12345",
  "description": null,
  "type": "CPI",
  "status": "request",
  "request": "https://www.example.com/offers.json?apikey=yYZBq4a7zG9QePusTJNzFZRdvmMEAfkr&offerid=12345&request=1"