
Hi, Habr! This article is the first in our blog.
We make a meta-search for airline tickets
buruki.ru with a human face. Here we will share the technical and psychological discoveries that we make every day in the work on the project.
Today, about how you can quickly launch an affiliate program (PP) for your service in a week. As an example, we use our recently launched
affiliate program for airline tickets.
')
Why do I need an affiliate program for my service?
This question is particularly relevant on Habré, here the vast majority of the audience are techies, poorly versed in the intricacies of marketing and the mental organization of customers.
In a cool startup, it’s not always possible to take a marketer, advertiser, PR manager, etc. from the first day. But to run your affiliate program and give the question of attracting an audience of professionals or the users themselves is easy. This is exactly what the guys from Dropbox did - for each friend you brought, you received 500 MB of additional quota and this worked on an affiliate program, the principles of which are described below.
Thanks to active software, you get an additional source of traffic, which not only leads targeted visitors, but also has a positive effect on all aspects of the project’s life:
- feedback from those who attract visitors;
- feedback from the visitors themselves (you could not have found some categories yourself);
- The positive impact of various traffic sources on search engine rankings.
What should be in the affiliate program?
In the engine of any PP there are four main modules:
- user accounting system, the appointment of cookies and source separation;
- billing - everything related to money (or other bonuses to users);
- collection and presentation of statistics;
- Promotional materials for partners to effectively promote your product.
Let's sort each system separately.
User account
The task of this subsystem is to precisely separate users, understand the sources of traffic, refer each transition to a specific partner and ensure that cookies are not rotten.
User accounting should work to the maximum “high” in the system. Before the business logic of your application starts, you should already know exactly what kind of user it is - it came from a search engine or from a partner site.
buruki.ru are made on
Django , so we use a separate middleware, which is responsible for processing any incoming request. Middleware checks if the user already has a user on our site, if he has come through the referral link, if the link has additional parameters, etc.
Determine who brought the visitor this time.ref = request.GET.get('ref') if not ref:
The minimum set of information that must be stored about each user:
- user_id is a unique id;
- created - user creation time (+ setting cookies, minimum fading for PP - 15 days, usually 30);
- referer_url - referral source (we save the full URL of the first and last visit to the site);
- referer_id is the partner account from which the user switched (determined by the ref parameters of the link). You can immediately start fake referer to consider the effectiveness of your own traffic sources (contextual advertising, contests, articles on Habré :-));
- label - an arbitrary line that your partners will set in the link in order to share their own traffic sources and see the effectiveness of different approaches in statistics (for example, you can find out what works best - a banner in the blog header or in the sidebar);
- ua_string - user-agent of the user - will be useful in statistics;
- user_ip - if possible - IP (must be spelled out in the privacy policy).
When you will be implementing similar middleware for your project, you will surely come across a question - if the same user came from different referer's - who would you take this user to? The answer to this question depends on the specifics of the project. We chose the answer for ourselves - “who is the last, is the same as dad”. Referer, who last brought the user to the purchase, he receives a reward.
Determine what to do with the visitor visitor = get_object_or_None(Visitor, pk=visitor_id)
Billing
With billing, we stuffed a couple of big bumps. The first desire was to read nothing and to relax quickly. Did not work. We used direct operations with users' wallets and, despite the pieces of double-entry, all this became crutches more and more. In the end, it became impossible to use it, and it became frightening to add something new. The possibilities of analytics and accounting were also severely limited.
In this matter, reinvent the wheel is not worth it. You need to use accounts, subaccounts, double entry, transactions and
red cancellation . In general, everything that was invented by accountants before us. We used a ready-made solution from our other project. We recommend that you look at ready-made solutions, for example,
django-oscar-accounts .
Collection and provision of statistics
Statistics - is a king. You need statistics to understand how your project works, how an affiliate program works. Statistics are necessary for partners to bring you the most efficient traffic, experiment with sources, try different strategies.
Statistics should give you and partners an accurate answer to the main question - how much does it cost (or how much revenue does it bring) for each given visitor who performed the target action.
Depending on the specifics of your project, the target actions may be as follows:
- registration (the simplest);
- sale or deferred sale (when an order is transformed into a sale after a certain period of time; an extreme case - cash on delivery through the Russian Post. Russian Post is always extreme);
- achieving some goal on the site. (for example, the level of the hero in an online game, the purchase of a premium account, sending a questionnaire).
Statistics should provide a large amount of information, covering the conversion funnel as much as possible.
In our case, we show the partner all the information about users:
- Number of users involved;
- The number of searches for tickets;
- The number of transitions to the reservation;
- SPV - number of searches per visitor;
- PV - number of transitions to the reservation per visitor;
- CPS - number of transitions to the reservation for one search;
- Number of bookings made and paid (total and percentage);
- Probably the most important thing is earnings for one visitor, for one search, for one transition to a reservation (EPV, EPS, EPR).
There are really a lot of numbers, naturally, many of them are mathematically related. But we were convinced from our experience that it is necessary to show all possible values. Not rarely, changes on the site affect several parameters and the statistics immediately gives a complete picture.
For further analysis, it is useful to give the ability to upload statistics to CSV.
Once again - statistics, this is very, very important. Both for you and for partners.
Promotional materials
Promo materials - this is what partners will entice users to you.
Usually, partners who come to your PP already have sources of traffic, they have their own resources where your potential users live. Things are a little less - to give your partner promotional materials that he can easily put in his place.
The main types of promo, most of which we have already implemented:
- links and deeplinks (links to specific products, landing pages, sections). The easiest tool, suitable for most tasks. If you have long links - do not forget to give the opportunity to use abbreviations;
- banners - regular and flash. The main formats are 240x400, 460x60, 200x200;
- Widgets - interactive blocks with your suggestions, the results of the service. Fast delivery of the most valuable offers;
- whitelabel - the ability to install all or part of the functionality of your site on an external site. For example, we specialize in airline tickets, and the hotel component is taken from HotelsCombined - hotels.buruki.ru . By the way, HotelsCombined, perhaps, the best meta-search of hotels - made by our former compatriot;
- from the new - to attract traffic from the social. networks it is useful to have collection generators. Something that might interest users. We have a selection of low prices for different directions of flights;
- API - for cool peppers. Maximum access to the functionality of your service.
It is important not to forget that URLs from which you give widgets or frames to third-party sites should not be counted in the statistics. Otherwise, all visitors to the external site may be mistakenly credited as attracted users.
Total
An affiliate program is a clear tool that is suitable for 99% of projects. Do what you know well, make an excellent product, and attracting the audience will be engaged in those to whom it is closer.