, ,

Geenapp at MWC 2016 (Recap)

Every year the best of best from the mobil industry meet at the world´s largest exhibition called Mobile World Congress. In fact, MWC is a meeting of the best companies in the mobile industry and related industries with world-class exhibitions, networking opportunities and award-winning conferences. This year in February MWC, which is held annually in Barcelona – the capital of mobile world, opened its doors to more than 101,000 attendees from 204 countries. Geenapp was the lucky one to become the part of this amazing event together with other 2,200 exhibitors. Gina Tost (CEO & Co-founder), Javier Casares (CIO & Co-founder), Estefanía González (Networks Manager) and Carles Cervera (Quality Manager) represented our company at MWC 2016 and enjoyed the most important week in the mobile industry.

What did we experience?

Our Networks Manager, Estefanía spent the whole week at MWC 2016 and had probably the most important role. She had set in advance her agenda and meetings with our partners from all over the world, what kept her busy for the most of the time. We all know that in business it is all about people and relationship, therefore, it was more than crucial to meet all our partners and work with them on improving of our partnerships. The topic which they talked about were ranging from problem-identification to problem-solving and find all possibilities for improvements. What we really appreciated were positive feedback on the cooperation with Geenapp from your partners. In addition, Estefanía was the person who you could reach at our stand and talk to her face-to-face about what is Geenapp, how Geenapp works and what is Geenapp looking for.


Gina, our CEO, attended MWC 2016 to meet some of our important partners such as GSMA, Trackers, Data Companies, Investment funds and others which were interested in the state-of-art technology that we have at Geenapp. During her time there, she realized that the technology of Geenapp is awaking a lot of potential clients who heard about us thank to word-of-mouth. Several international companies are more than interested in what Geenapp does in the field of R&D. Gina also shares an opinion that MWC was a great way to meet all our clients and partners in the same city where we usually work. It is also an amazing opportunity for us as well as for the capital of mobile industry – Barcelona. Geenapp was seen by the rest of the world!

Our IT guy, Javier joined MWC 2016 on Tuesday to give a presentation about CPI calculator in we released to find out how much an advertiser is willing to pay in order to get a new user for the App. In this masterclass about CPI, he highlighted the importance of the visibility, business skills and word-of-mount for every company in the mobile industry. Javier also compared CPIs for Android and iOS operating systems and showed to the audience different CPIs based on GEOs and verticals. We were more than pleased to hear affirmative reactions from various companies that our CPI calculator is something that they had been looking for and this tools is definitely going to help them in the future. Feel free to check out the presentation Javier gave on MWC 2016 here. Moreover, Javier got in touch with many potential clients who might help us in the future with developing new tools to ease the life of people in the mobile industry.

Javier giving a presentation about CPI calculator

Carles spoke at MWC 2016 on behalf of our Quality team on Thursday. Geenapp has its own Quality system which hourly checks all our campaigns’ tracking links to ensure they send correctly to the App. Carles thinks that people in this industry are more concerned about the installation itself rather than about the quality or if the installation was the correct. Therefore, he tried to explained the importance of our Quality system as people do not know how to solve the problem with fake installations.

Personal evaluation of MWC 2016

It was the first time Estefanía attended MWC and she acquire new experience in negotiating with partners. She learn that you need to be confident enough, otherwise the competition would comerte con patatas. Despite Estefanía´s initial nervousness at the beginning, we are not afraid that she nailed it! Furthermore, Estefanía got a better insight to the mobile industry and realized that it has been progressing rapidly in the past years. On the other hand, Javier thinks that this industry still has a long way to go. The most of this people are concerned about marketing rather than technical part of the business including quality systems and anti-fraud systems, from what he drove a conclusion that this industry needs more startups like Geenapp. Javier also mentioned our Geenapp will still try to develop new tools which can move this industry only forward.


Carles took a more technical point of view: he thinks that people in this sector need more education, skills and information about digital aspects. He considers the mobile industry to be very developed in digital elements but he would encourage the progress in quality systems. Gina sticked to this point and underlined that our Quality system is the only one of its kind in the world and consequently, helps to increase revenues. She identifies the fraud as the main problem of this industry but Geenapp has the main technology to solve this pre-click analysis. Gina regards Geenapp as a trendsetter – we were the first company which started to do smartlinks two years ago and the whole industry is following this trend nowadays.

Marc Zuckerberg at Samsung Galaxy S7 launch event; original post

MWC is attractive also because of the fact that it hosts notable speaker from all around the world. On MWC 2016, 374 notable speakers were invited but the biggest topper was Marc Zuckerberg who talked about everything from his newly born daughter Max to his passion for virtual world. In fact, he stole Samsung Galaxy S7 show. During this launch event where the company introduced new Galaxy S7 phones through Samsung´s Gear VR headsets. Our Networks Manager, Estefanía tried out this glasses and described the experience as very exciting. Estefanía said that: “this gadget helped me to relaxed. I attended many meetings and this was like a small reset for my mind.” Together with Carles and Gina, she also went for the newly introduced Vive head-mounted display by HTC and Valve. They were encouraged to play a game and honestly, they were like kids enjoying the moment. No need to say that Gina enjoyed this the most! She was impressed by the interaction between the gadget, trackers and shield. The visual effect that Vive allowed her to see, took her to another virtual reality!

Gina trying Vive head-mounted display

Gina trying Vive head-mounted display

The future of Geenapp in the mobile industry

We can only agree that Mobile World Congress is a must to attend event for every firm in the mobile business as the industry is on its rise and it is more than important to catch up with all developments. The whole team of Geenapp agreed that our company is still relatively small in this enormous industry. What makes Geenapp unique is its Quality system and thus helps to gain the competitive advantage on this market. The next good point is that Geenapp is very transparent and even though that many companies still work in old school manual style, Geenapp operates programmatically. Gina sees the future of Geenapp very bright: We are sealing deals with impressive partner, we are rising the financial round of investment, and we are doubling the team in less than a month. The position of Geenapp is amazing as we are doing so much with a small team in such a short period of time, but we need to keep working hard to advance even more. In overall, we can say that Geenapp is following the right path to be even more successful and become a strong player in the mobile industry.

, ,

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"