And we have an SDK, and you?

    Hello, Habr! It would be more correct to call this post “We have a great affiliate program and a cool SDK for it,” but I did not want to make a long headline and immediately reveal all the cards. Be that as it may, in this publication we want to talk about the SDK of our services, which each of you can use in their applications.

    There are many cases in history when the introduction of an affiliate program in a project led to a sharp growth and rapid development of this project. In this article, we will not reflect on the pros and cons of implementing affiliate programs, let’s say easier - we decided to take our projects along this path.

    After a while, we got our own affiliate program (certainly with blackjack) called Travelpayouts . She combined the meta-search engines of all our projects: Aviasales , JetRadar and HotellookThat is, any participant in the program gets the opportunity in his application to organize a search for airline tickets on the bases of about 100 agencies and airlines, as well as organize a hotel search on the bases of 65 major agencies (about 700,000 hotels). Well, of course, to receive funds for each purchase through your application: we provide partners from 50 to 70% of the commission. Like any company (or product), Aviasales has competitors who also have different affiliates in their arsenal. Existing affiliate programs are designed exclusively for web use - API and all sorts of widgets. We also have an API , but to make our mobile application based on it, we need to work hard. So we decided to go ahead and made a mobile SDK

    working on the basis of our affiliate program. By and large, this is a whole framework consisting of two components:

    • Static library. It implements all the work on interacting with the Aviasales server. She knows how to send search queries, receive and parse answers, provide them in a form convenient for the programmer. Also, the library can filter the received tickets by various parameters and generate a link to proceed with the purchase.

    • Template application based on this library. It consists of a search form, a waiting screen, search results, filters, and a screen with detailed ticket information. The search module can be integrated into an existing (or new) application in a variety of ways, for example, in the form of a modal window or as a separate screen in a tabar. Localizations in Russian, English and Spanish are prepared for the interface.

    As you can see, everything is pretty simple, but competitors simply don’t have such things :)

    When we started working, we thought of creating only a static library that would encapsulate all the interaction with the server. They naively believed that partners would include fantasy, and create their own exclusive applications on the basis of this library. The template application, which we also posted in open access, was to serve only as an example of implementation. But in fact, it turned out that the partners take the template application as the basis, and some do not modify it at all :) But we are still working on making it easier for partners to customize the template application for their design - in future versions of the SDK there will be configuration files where you can customize colors, fonts and many other parameters.

    Currently, the SDK exists only for iOS, but we perfectly understand the need for support of other platforms, so this is a matter of time. While there are specific dates only for Android - the SDK for it is planned for the summer. With Windows Phone, everything is not so rosy so far and there we only offer APIs.

    For our team, this was the first experience in developing such a solution, so it is not surprising that we stepped on some rake. One of the problems that any developer faces sooner or later is documentation. If in everyday development we do not pay much attention to it, then for a public decision we had to try :)

    The second and, perhaps, the main problem is that soon the SDK began to live a separate life: it developed independently of the main application, a different code base was used. This is the wrong approach, which complicated the development and slowed down the implementation of new features, but in the new version of the SDK we will try to take this error into account and make sure that even our flagship application uses the SDK itself.

    The integration process is quite simple and now consists of only 6 points, which are described in great detail in the documentation for the SDK . In the new version (which we are already working on), we plan to reduce the number of steps to implement the search module to 2-3. We will most likely distribute future versions of the SDK through CocoaPods .

    Success story

    At the time of writing, there are about 21 mobile applications that have already implemented our SDK. And about 16 of them belong to one developer who was interested in the process :) and released applications adapted for different languages ​​and regions - for example, searching for tickets in Arabic or searching for tickets to Crimea.

    The developer (Dmitry) interestingly talks about his experience in implementing our SDK on the page of a special project with Habr:
    Today I want to tell you as objectively and honestly as possible about my experience in participating in the Travelpayouts affiliate program . My collaboration with Aviasales lasts only a few months, so in this article there will be no digits with 6 zeros, no red Ferrari, no office in Moscow City with hundreds of employees.

    Instead, you will find here a few secrets to promote your application on the App Store, as well as practical tips on how to quit your office and start making money selling airline tickets.
    For 5 years of work in a large advertising agency, I finally burned out. “It would be a great business, if not for the customers,” they say. Advertising is one of the toughest industries, where they try to squeeze the maximum out of each employee until he goes “to the client side”, where there are fewer tasks and the salary is higher.
    Continued Hunters BBS, LLC Experience
    The turnover in the advertising business is even higher than among fast food interns. 2 years ago, I finally decided to leave the gray office and go about my business, but unpaid bonuses and bonuses continued to keep me in advertising for some time. I continued to advise the former employer on strategic planning and promotion on the Internet, working at home. At the same time, I was thinking about my business.

    The gold rush of startups attracted everyone, and I was no exception. Once I came across an English article on App Store Optimization (for those who are not in the know, this is SEO for the App Store). I was so fascinated by this mysterious and unexplored topic that I decided to devote myself completely to ASO for years to come. So I got into the new marvelous world of mobile applications.

    Then I did not even imagine what awaited me in the future. Based on my savings (about 5 million rubles), I formed a remote team in Ukraine from two mobile developers, a server part developer and a full-time designer, and started development by coordinating the team myself. After 9 months of work, my first application was ready. This was a dating application and on the third attempt, severe moderators missed the application on the App Store.

    Dating has proven to be an extremely competitive environment where the winner takes it all. Success in this area is even more difficult than creating a Facebook killer. The traditional vicious circle - if you have few regular users, then new users will permanently leave. Additional investments and an aggressive advertising campaign were needed. But after several meetings with Russian venture capitalists, I firmly decided - I don’t want to work for my uncle again, because it will return me to what I wanted to get away from ...

    However, it was at that moment that I discovered all the strength and power of ASO - replacing just one keyword in my application increased the number of downloads 10 times - from 200 to 2,000 per day!


    I started to think about monetizing an existing application and came across an article about the Aviasales Travelpayouts affiliate program. But it wasn’t quite reasonable to implement booking airline tickets in dating, but it seemed very interesting to me to highlight the search for cheap airline tickets in a separate application. In addition, traveling always attracted me, and the view of the planes was breathtaking. Just a week later, my new app, Cheap Flights from 729 airlines, appeared on the App Store . The application was completely created based on the Aviasales SDK.

    It's no secret that all flight booking applications have the same functionality. Enter the city of departure and arrival, select the dates and get options, sorted by price. It is extremely difficult to come up with something new, and even an outstanding design does not guarantee success.

    The experience of the recently launched Corner app just proves it. The guys from Russia did a tremendous job, developed a really new approach to finding flights, were featured on the main page of the Russian App Store and brought the user experience to a new level. What is the result? While the media is writing about them, the application is in the TOP10 category (several thousand downloads per day in Russia). Once the journalists are quiet, the application slides below TOP200 in a matter of days (several downloads per day). If the project team allocated ASO at least 5% of the time spent on development, everything could have been otherwise.

    By the way, not only me, but all readers would be very curious to find out from the Corner team the current performance of the application (for example, the conversion of visitors to reservations and the average income per 1 user). Personally, I have a feeling that sometimes too bold design can adversely affect the financial performance of the project.

    But back to my story. In my applicationvery simple design, however, the application itself does its job perfectly. Simplicity was paramount. Like any meta-search, the application compares the prices of 729 airlines, 30 online agencies (OTA), filters the results and shows the user the cheapest flight options. In fact, this is a simplified analogue of the Aviasales application, which runs on their technology platform. The application was additionally localized into 24 languages ​​and helpful tips on booking airline tickets were added to it (for example, few people know that if you are traveling as a family or a large company, then you should buy tickets separately - as a rule, this will save you a lot).

    Since no PR story from such simple functionality can be inflated, all the forces were thrown at the App Store Optimization. As it turned out, there is a catastrophic lack of literature on this subject, and professionals who really have valuable knowledge can be counted on the fingers of the globe. All ASO-related articles repeat 10 standard points, most of which are described in the Apple documentation - to remove spaces between keywords, not to duplicate words in the title and keywords, localization in the most popular languages, etc.

    I had to learn all the secrets of the App Store myself. When is my first flight booking appstarted to generate income, I decided to conduct AB-testing of keywords in an unusual way. Instead of testing keywords on one application and waiting for moderation each time for 7 days, I simply created several applications under different names and uploaded them to the App Store in order to subsequently select one of the most successful and promote it.

    In practice, it turned out that the keywords “cheap flights” work better in the Russian market, in the American one the names of airlines, and in the European one neither one nor the other. Low-cost airlines, like a virus, have hit all of Europe. No matter how you compare, you still can’t find anything cheaper than Ryanair, while low-cost airlines do not pay a commission.

    An unpleasant surprise awaited me where you least expect it. The next time the applications were updated, App Store moderators threatened me with exclusion from the ranks of developers, explaining this with the following: “Developers spamming the App Store with many versions of similar Apps will be removed from the iOS Developer Program”. But after lengthy negotiations, I found a compromise with them.

    Exclusive. A few words about the secrets of the App Store Optimization, which you will not find in any book or article. For obvious reasons, I will not reveal all the cards, but here are some tricks that will help you with the promotion of your application:

    • If you are targeting the US market, the number of keywords can be doubled by entering additional English keywords in Spanish localization. There are many immigrants from Mexico and Cuba in the United States, so the App Store automatically includes keywords from Spanish localization in the ranking. Yes, this market is extremely saturated with competitors, but if you enter the US market, you will not be afraid of currency fluctuations or the surprises of Russian lawmakers.

    • The Arab market is also very promising. The population has a high income, and families are large (a man often has 2 to 4 wives and several more children). Only in the Arab market you will find booking airline tickets for 7 people from Dubai to New York and back with a business class for $ 25,000. Localizing the application in Arabic is not difficult. A high number of downloads can be achieved by releasing a separate application in this market with one - the only Arabic localization instead of English. Local moderators are very fond of Arabic applications and will help to advertise your application on the first page of the App Store, which in my experience brings about 11,000 downloads per day in only one Saudi Arabia.

    It should be noted that ASO completely repeats the SEO path - the ranking mechanisms are constantly being improved and more and more new factors are included in the game. But no mechanisms will withdraw and keep your application in the TOP if its rating is less than 4. Moreover, satisfied users, unlike dissatisfied ones, rarely leave feedback. Over time, this leads to the fact that the ratings of even the highest quality application drop to 2-3 stars, and the rating has to be tweaked with not entirely honest methods. I can say with confidence that all major market players (both in Russia and the USA) use black ASO methods, buying positive reviews and user ratings on special exchanges. By the way, the pleasure is not cheap - about $ 1.25 for a positive review.

    And now about the numbers. After 6 months:

    • Entering TOP5 on payments in the affiliate program (November 2014, only about 50,000 participants);
    • 2,500 sold airline tickets (17 full Boeing-737 aircraft);
    • The total number of application downloads: about 900,000 (5,000 per day);
    • Continuous presence in the TOP100 US App Store (Travel). For example, the native JetRadar application (Aviasales clone for the international market) is not even included in TOP200;
    • Continuous presence in the TOP50 of the Russian App Store (Travel);
    • Current income from 200,000 to 250,000 rubles per month (including bonuses)
    • Average income per user: $ 1.2 (yes, the margin in this business is very low, about 1% of the ticket price);
    • A modest conversion of visitors to reservations: 0.5%.


    It is worth noting that these indicators were achieved at zero marketing and advertising costs.

    Of course, success is a loose concept. For me personally, the success was reaching a stable income, which exceeded my salary at the previous place of work. My future plans are to increase conversion by 3-4 times, and work on this has already begun. For example, Americans are very fond of stories, the so-called storytelling. Therefore, now I am testing an explanatory video Booking Cheapest Flights Tips , which is recommended for viewing by all new users of the application from the USA.

    Well, now a few words about the SDK itself:

    Frankly, the emotional component prevailed over the rational, and as experience in real work showed, it was not in vain. The team of the partner team is very friendly, even the most difficult issues are resolved promptly.

    Creating an SDK-based application in the hands of an experienced developer takes only a couple of hours.
    I am also very close to the team spirit of Aviasales and especially the principles of the founder of the company, Konstantin Kalinov (by the way, I advise everyone to subscribe to his Facebook page ). What is Kostya’s phrase in the interview for the CP “We give up to 70 percent of the profit - no one gives away that much.” I believe that greed begets poverty, so we are not greedy. ” Checkmate.

    In addition to mobile applications, I have already begun work on a content project focused on the US market, which will use widgets, APIs, and search forms.

    In the course of work, difficulties were encountered, without them, nowhere. There were many nuances with localization into various languages, with regional settings and currencies - something did not fit, something moved out, something was stretched. But the guys from Aviasales quickly helped with solving all the problems.

    If you paid attention to the chart above, you probably noticed a failure in September and October. This is not seasonality, we just didn’t manage to catch a bug in time, as a result of which users on iOS8 could not choose the departure and arrival dates. As a result, sales sank.

    Several users in the USA and Australia suffered from this bug - they managed to buy tickets for the wrong dates. They could not return all the money, so I compensated the affected users about $ 2,500 from my own funds. You can’t joke with the Customer Service in the USA, especially when you work on the Apple platform.

    All statistics are presented in your account - it provides the most comprehensive information on users, searches and reservations in real time.


    As noted above, the Aviasales approach to sharing the commission with partners is beyond praise and, clearly, these are the most favorable conditions not only in Russia but throughout the world. If your monthly income at a rate of 60% exceeds 60,000 rubles, then the rate rises to 70% subject to payments to the ePayments card. By the way, this card is useful to everyone who works in the IT industry, it is issued in London on behalf of the Electronic Payments Association and allows you to withdraw cash dollars with a very low commission - only $ 1.5 per transaction of $ 200. Transfers within the system are instant and free.

    My plans include reaching a net profit of 10 million rubles a year over the next 12 months.
    Now about what is missing in the API and SDK. Definitely, the SDK lacks iPad support. Also, sooner or later I would like to get the SDK not from native elements, but a more elegant solution. For example, take the JetRadar application as a basis, clear the brand name, and, in fact, make the White Label SDK, which will look more presentable in the eyes of users. I am sure that this will increase the average income per user by 3-4 times.

    Finally, I would like to note that the documentation is written more than qualitatively. So far, developers have no questions.

    I want to contact all Russian online booking agencies that read this article. Guys, nothing kills conversion as much as the need to enter user data in small fields that are not optimized for mobile. Please, finally, make mobile versions of your sites - 2015 is already here.

    You can also significantly increase the number of bookings from the United States if you qualitatively localize your sites in English, taking into account the nuances of the American market. Most US citizens do not have a passport (they need it only for trips abroad). Instead, Americans have an ID (driver's license). Therefore, do not ask the Americans to enter a passport number when booking domestic flights, because they simply do not have it.

    So far, only the agency has done well with these essentially obvious tasks . It is through their website that the majority of bookings from my applications pass in the US, Europe and the Middle East.


    » Experience in implementing SDK from site

    » Experience in implementing SDK from Aviapoisk site

    There are other examples of adapting products for affiliate content. Another client was the project , the developers of which ( CleverPumpkin company ) used our SDK with slightly modified templates.

    Also, a couple of weeks ago, the notorious Tyoma Lebedev got his own application with our SDK. “ Travel - Artemy Lebedev and his travel notes ” - as the name suggests, the application is dedicated to the travels of the designer.

    At the end of this post I would like to share with you a link to our application contest on Habré- the winner will get 150 thousand rubles for the development of the project. Connect and fly :)

    Ready to respond to your comments on the affiliate program and API / SDK.

    Thanks for attention!

    Also popular now: