Mobile Heroes

Mikhail Biteryakov by Mikhail Biteryakov | November 17, 2019

After starting his career as a UX designer, Mikhail joined Joom, at the time an early-stage e-commerce startup. Mikhail initially played multiple roles, greatly broadened his knowledge of the business. Mikhail now focuses on fraud protection and managing external partners, regularly monitoring campaigns for fraud and analyzing the performance of affiliates.

Learn more from his Mobile Hero profile.


In a variety of fields, years of prior experience are essential for future success. In the digital advertising industry it’s a different story. A lack of experience can actually be as asset as it enables you to approach challenges with fresh eyes.

When our team at Joom first began running paid media campaigns, we utilized a variety of best practices in digital advertising, applying recommendations from our reps at Google and Facebook. We closely monitored the conversion rates of various networks by using CPI or CPA models, as that was the standard in the industry. Despite our best efforts, we were unable to reach our desired volume and quality goals.

It was a challenging experience for all of us. At the same time, it forced us to do something we hadn’t done…think outside the box, break some “best practice” rules, and pursue a more simplified approach. Here are four things we learned that worked well.

1) Don’t do it alone, fight fraud with partners

When it comes to addressing issues of fraud, a common practice is to create your own anti-fraud team to analyze CTIT distribution and IP ranges to identify fraudulent traffic sources. From there, you can use that information to reject installs and block fraudulent sources.

Because this system operates by using internal resources and requires frequent updates, we decided to take a much simpler and scalable approach. In the beginning of 2018, we found two anti-fraud partners who are proficient in identifying fraudulent activity, but doing it differently, thus creating a multi-layered defense system. Every paid install we generate gets evaluated using Adjust’s Fraud Prevention Suite, many of which are rejected.

Installs that get through Adjust get evaluated a second time using Scalarr, an independent fraud detection solution. Scalarr filters out additional fraudulent installs, leaving us with a high degree of confidence that our installs are clean. Two years in, we can say definitively that this approach has turned out to be a great one. Not only did we successfully create a pool of traffic sources without any trace of fraud but we freed up internal resources to work on other initiatives.

2)  Pay for value, not metrics

While working with advertising partners, we utilized several different payment models before we found the one that works best for us. CPI and CPA models, we discovered, were exposed to installs that provided little to no real value for us.

In e-commerce, our goal is to acquire users that make high-value purchases using our app. We realized that the numerous CPA, CPI and CTR models were just proxies keeping us from focusing on the most important metric — revenue generated from acquired users.

Another consideration we made was that, in order to pay our partners based on the value they generated, we would need to pay them a fair share of our revenue. We decided that a one week period was a good time frame to predict long term LTV and short enough to optimize campaigns. We started working with our affiliates using this revenue-sharing model and as a result we were moving in the same direction, creating a win-win cooperation.

This was how we created our own revenue sharing model. And when we can’t use a revenue sharing model with some partners due to technical limitations, we use it to evaluate performance.

3) Test new opportunities

Implementing a revenue sharing model not only helped our existing partners scale several times, but also simplified our method of evaluating installs which helped us save a tremendous amount of time. When every install is valuable in its own way, we could pay both $0.2 and $4 for an install and still be sure that our ROI would be positive. Therefore, the system became self-balanced.

Since we were happy with our fraud defence process, nothing stopped us from testing new sources anymore. We tested more than 190 different sources in a year, and within a month we managed to have 78 active affiliates that were managed single-handedly without any particular problems.

Although we are not working with as many partners now, this process helped us find the companies that benefit us the most. Liftoff is one great example. In the end, simplified KPIs led us to exploring new opportunities and gave us impressive knowledge about all the potential companies we could see in the market.

4) Automate your campaigns

Joom is an extremely development-driven company. Our advertising department consists of six people, three of them being highly skilled ML developers. And we look for every opportunity to simplify the management of our marketing campaigns through automation, including Facebook and Google. If the channel is not big enough to invest in automation, or is simply not possible, we will work with affiliates to extend our reach based on a revenue share model.

That being said, automating the execution of a campaign is not simple. We have come a long way from semi-manually managing campaigns to fully automating the process of creating, changing, and pausing them based on dozens of factors. Advanced machine learning helps and gets smarter every day. But everything started with a very simple idea – if the campaign performs for us, we’ll let it spend more.

Overall, we found the process of initial simplification to be very beneficial for us in the long run. We are now fully confident in every install we acquire. We also pay more attention to the details that we previously ignored (creatives, bundle IDs, mid-funnel). We are polishing the system that we’ve built from scratch with no prior experience in advertising. Through this experience, we now know what works best for our app and what doesn’t.