, ,

Geenapp Quality: añadiendo valor

Geenapp es una empresa tecnológica aunque se dedique al marketing móvil. Y una de las formas de verlo es por ejemplo con el sistema de calidad implementado internamente en la plataforma.

Geenapp Quality surgió de la necesidad de corregir una situación habitual. Un usuario pulsa en un enlace hacia una App (por ejemplo Whatsapp) pero no le aparece la página de iTunes o Google Play de Whatsapp. ¿Qué hacer antes estos casos? Lo primero era avisar a la empresa que nos proveía de la oferta y decirle que no funcionaba.

Quality

En estos casos surgía siempre una respuesta que era “a mí sí que me va”. Una empresa alemana diciendo que sí que le va una oferta para Brasil. Pues perdona, pero no me lo creo. Y ante esta situación decidimos crear un sistema interno que revisa cada día dos veces todas las ofertas que tenemos en Geenapp.

El planteamiento es sencillo: un proveedor me da una URL, esta URL funciona en un país y un dispositivo concreto. Por ejemplo, Whatsapp para Alemania en Android. Nuestro sistema manda esa URL a un Android que tenemos en Alemania y nos devuelve la respuesta. Esto con varios miles de ofertas en 250 países y 4 dispositivos distintos (iPhone, iPad, Android y Windows).

La respuesta que nos llega nos devuelve mucha información, aunque básicamente aprovechamos 2 tipos de datos:

  1. Por dónde ha ido ese clic, es decir, quién revende a quién (rebrokering), hasta llegar finalmente al propietario de la campaña y al tracker que tiene instalado.
  2. Si la campaña acaba donde tiene que acabar (en Google Play, iTunes, Windows Store…).

Los primeros datos nos sirven para otro tipo de herramientas, no tanto por calidad. Aun así, tenemos una lista de redes en lista negra y si detectamos que pasa por ellas esas ofertas nos las servimos.

El segundo dato es el importante, porque es el que nos dice si una campaña funciona o no. El caso más sencillo es fácil: la URL final es la URL de la App a la que corresponde la campaña. Si pulsas en Whastapp de Android, acabas en la ficha de la App Whatsapp de Google Play. En este caso se marca la oferta como correcta y todo continúa.

La situación cambia cuando la página en la que acaba esa campaña no corresponde con la App. En este caso pueden pasar muchas situaciones que se resumen en las alertas que mandamos a nuestros proveedores:

404

Aunque internamente lo llamamos 404, es cualquier error en el que la página final nos da un error de una página no existente. Puede ser que la pantalla se queda en blanco, que nos aparezca un mensaje diciendo que “la campaña no existe” y un sinfín más de combinaciones.

404

Trash

En su momento no supimos encontrar un mejor nombre para llamar a las páginas “basura” a las que se enviaban las ofertas. Estas páginas son y pueden ser de muchos tipos, desde páginas en las que te piden suscribirte a un SMS, páginas de adultos, OfferWalls, páginas de premios y en general cualquier página que se pudiera considerar una página que no es iTunes, Google Play o similar…

Trash

Capping

Otra situación habitual que tienen las ofertas es la limitación de instalaciones. En estos casos se deberían apagar las ofertas de forma automática (Geenapp lo hace así al trabajar de forma programática), pero esto sólo funciona cuando el proveedor de la campaña es directo. Cuando tienes campañas de terceros es muy difícil que te avisen a tiempo, por lo que aquellas ofertas que acaban con un mensaje diciendo que se han acabado las instalaciones por ese día, también las detectamos y avisamos. Es parecido al sistema de 404.

Capping

App

Uno de los casos habituales y más complejos de trabajar, y es que pulses en una App y acabes llegando a la ficha de otra App que no tiene nada que ver. Por ejemplo, pulso en el Whatsapp y acabo en el Game of War. Luego los desarrolladores del Game of War se quejan de que se les manda tráfico de baja calidad: pues no me extraña. Que quede constancia de que no me importa que a un usuario se le mande a una App relacionada (con cierta similitud) pero eso es algo que debería decidir el cliente final. En el caso de hacer de intermediario (rebrokering) esto no debería ocurrir, porque se están generando instalaciones de Apps que quien tiene el tráfico nunca cobrará.

App

Download

Los usuarios de Android en general tienen Google Play, los de iPhone tienen iTunes y los de Windows tienen la Store… ¿por qué un usuario va a querer instalarse una App desde un APK? Nuestra experiencia con APK (los ficheros de Apps de Android) son bastante malos, para comenzar porque los teléfonos suelen quejarse de la inseguridad de estos ficheros. Además, en muchos casos aunque la App sea la correcta, han podido ser tratados con malware, lo que los convierte en aún más inseguros. En estos casos descartamos la oferta.

Blacklist

Tenemos la suerte de poder trabajar con muchas redes, pero algunas tras un tiempo trabajando fallan, principalmente porque no pagan o simplemente te dan razones que son falsas sobre el tráfico que les mandas. En estos casos cualquier oferta que pase por alguna de estas redes es automáticamente rechazada ya que no trabajamos con empresas que no cumplen sus contratos. Incluso nos ha pasado que empresas con las que nunca hemos trabajado dicen a nuestros proveedores que no trabajan con nosotros, repito, empresas con las que nunca hemos trabajado…

Blacklist

Como veréis ninguno de estos elementos es algo que queremos para nuestros clientes. Si un usuario quiere bajarse el Whatsapp… ¿por qué voy a ofrecerle otra cosa o voy a darle una pantalla de error?

Con esta filosofía repasamos todas las ofertas de forma automática y posteriormente de forma manual para ofrecer la mayor calidad que podamos, para asegurarnos que todo aquel que utilice nuestras campañas va a conseguir que si un usuario pulsa en ellas, acabe descargándose la App que estaba esperando.

, ,

How a Geenapp’s offer works

If I have to find the easiest way to explain how Geenapp works in the ad-tech industry, I would tell you to think about Google Adwords / Google Adsense. The main idea is the same, but internally it is completely different. We are a platform, we are in the middle and we “do things” there.

Geenapp is formed by two main blocks. The first one is the advertiser’s side, and the other one the publisher’s side.

Offer life cycle

We need advertising campaigns, so we work with more than 200 different networks. This is a programmatic system so it’s 99% automatic and 1% manual to make sure everything is going smoothly.

When we retrieve the offer from the advertiser we assign that offer to an App. Geenapp is App-Centric, meaning that all our campaigns are associated to a specific app (Android, iOS, Windows Phone…). At this time, through our panel, we can see all the information related to that offer: CPI, currency, description, country, devices, capping…) and a real person decides if this offer should be approved or not. This is our first filter where we “accept” or “reject” a campaign. From now on, every change an advertiser makes in their panel is going to be changed in ours: they can change the payout at their end and get more downloads for that campaign.

Once the offer is in the platform, our Quality System Analysis can start working with it.

What publishers see

If we go to the other end, the publisher’s side, they can see a lot of tools and systems to promote. Two very important tools are the Apps list with the Smart-Link system and the Offers List, which is only for publishers that have affiliates.

Smart-Link Tool is a unique URL for an App. This link works for every mobile device and any country, and when you click on it, it detects the device and country and looks for the best campaign for that combination in that exact moment.

This means that, in real time, we calculate that the capping is not over, look for the best price (managing the boost), separate the incent and non incent campaigns, in addition to detecting the country and device. Also, we detect the quality of the publisher’s traffic because we score their campaigns according to their quality. This system has pros and cons: we are always going to serve the best offer in every moment, but we can’t calculate the price until the user has clicked on the offer.

Offers List is a flat list with all the offers that we have (several thousands). This list offers a URL for every campaign, so it is better to control the price fluctuation because there are less changes. But you have to always check if the offer is still live, if the price changed or if it reached the cap. You have to manage it manually because our system won’t redirect to another offer if it doesn’t work.

Unlike other services, we don’t redirect traffic to other campaigns or scam websites once the campaign stops. We believe in a good service and we act accordingly.

Geenapp’s complexity

As you can imagine, this is a short recap of how an offer works at Geenapp, because there are a lot of complex processes during the lifetime of a campaign and its maintenance. We work with more than twenty different API’s with different models so we need to standardize every piece of information that arrives to us for our Publishers and Networks in order to provide a good quality service.

 

, ,

Cómo funciona una oferta en Geenapp

Si tuviera que encontrar la forma más sencilla de explicar el funcionamiento de Geenapp a alguien del sector ad-tech le diría que piense en Google Adwords / Google Adsense. El concepto es el mismo, aunque internamente nos parecemos en poco. Somos una plataforma, estamos en medio y “hacemos cosas”.

Geenapp está formado por dos bloques principales, que internamente se subdividen. El primer bloque es el de “tener” las ofertas (anunciantes) y el segundo es el de “servir” las ofertas (publishers).

Cómo es el ciclo de vida de una oferta

Lo primero que necesitamos son campañas de publicidad. Por ello tenemos contactos con más de 200 anunciantes que nos sirven de fuente. En este caso todo el sistema es programático, es decir, se gestiona 100% por máquinas, aunque tenemos varios procesos manuales para mejorar la calidad.

Cuando nos traemos las ofertas de un anunciante lo primero es asignarlo a una App. Geenapp es App-centric lo que significa que todas nuestras campañas están asociadas a una App (ya sea de Android, iOS, Windows…). En este momento, mediante un panel vemos todos los datos de la oferta (CPI, moneda, descripción, países, dispositivos, capping…) y una persona decide si esa oferta ha de entrar en el circuito de Geenapp. Este es nuestro primer filtro donde “aceptamos” o “rechazamos” ofertas. En el momento en el que se acepta la oferta pasa automáticamente a nuestra plataforma. A partir de aquí las ofertas se actualizan automáticamente, de forma que los anunciantes pueden realizar los cambios que consideren necesarios, pudiendo mejorar las pujas y tener más posibilidades de servir la campaña.

En este momento en el que la oferta está en la plataforma ocurren varias cosas. Una de ellas es el proceso de Geenapp Quality del que ya os hablamos en otra ocasión.

Qué ven los publishers

Si nos vamos al otro extremo, al de los publishers, desde tu Panel de Publisher puedes ver muchas herramientas y sistemas, aunque hay dos que permiten mostrar las ofertas (sin banners o plugins). Uno es el del listado de Apps, que funciona mediante nuestro sistema de Smart-Link. El otro, que sólo ven publishers que tienen afiliados, es el de las “ofertas”.

Si vamos al primero de los casos (y en el que se basan prácticamente todas las herramientas que tenemos), el del Smart-Link, lo que ofrecemos es un único enlace para una App. Este enlace funciona en cualquier dispositivo móvil y cualquier país, y cuando se pulsa en él detecta que dispositivo tienes y en qué país estás y busca en nuestra plataforma la mejor oferta para esa combinación en ese momento. Esto implica, en tiempo real, calcular que no se haya superado el capping, buscar el mejor precio (teniendo en cuenta sistemas internos de potenciación o boost), si es incentivado o no y que la campaña coincida con esa App, País y Dispositivo. Además revisamos que ese Publisher pueda ofrecer esa aplicación, ya que tenemos scoring de publishers según su calidad de tráfico. Este sistema tiene cosas buenas y malas. Las buenas se centran en principalmente que siempre vamos a servir la mejor oferta posible en todo momento, las malas es que no podemos pre calcular un precio hasta que el usuario haya generado el clic.

En el segundo de los casos lo que ofrecemos es un listado más plano con todas las ofertas que tenemos, que son varios miles. Este listado ofrece una URL para cada App en un país y en un dispositivo concreto, de forma que es más sencillo controlar la fluctuación de precios, ya que este cambio es menor. Eso sí, en este caso hay que estar pendiente de que si la oferta cambia, se pausa, se reanuda o llega al capping, hay que gestionarla manualmente, ya que nuestro sistema no sirve nada si la campaña deja de funcionar. Nosotros, a diferencia de muchos otros no redirigimos el tráfico a otra campaña o intentamos servir páginas basura a los usuarios.

La complejidad de Geenapp

Como puedes imaginarte esto es un resumen del funcionamiento de una oferta, ya que hay procesos muy complejos a lo largo de la vida de la oferta y de su mantenimiento, teniendo en cuenta que trabajamos con una veintena de APIs diferentes, con sus modelos de datos distintos, pero que a lo largo del tiempo hemos conseguido estandarizar y poder ofrecer un resultado de calidad.