If you click on a link and make a purchase we may receive a small commission. Read our editorial policy.

Looking for the signal: Subscription app tips for iOS 14.5

Adjust's Katie Madding explores best practices for games utilising subscription models

The GamesIndustry.biz Academy explored the impact of the release of iOS 14.5 for mobile game developers through a series of guest articles from experts, which you can find gathered on this page.

Since the introduction of Apple's AppTrackingTransparency (ATT) rules in April, the mobile ecosystem has been working to ensure minimum disruption to their monetization strategies and UA campaigns. There has been a lot of thought put into developing solutions for marketers so they can continue to make data-driven decisions in the post-IDFA world.

For apps that monetize by subscriptions, it seems even more important to have a good user opt-in strategy

For apps that monetize by subscriptions, it seems even more important to have a good user opt-in strategy, so you can get solid deterministic data at all points along the user lifecycle. For subscription apps, the user journey is typically longer and more convoluted than in other monetization strategies, meaning it pays to have all the data you can get.

But even for users who choose to opt-out, having a robust SKAdNetwork plan in place will give you the opportunity to work out user lifetime value with some confidence (more on this below).

If a user consents to sharing their IDFA both on the media source where your ad appears and within your app once they download it, the IDFA will be present on both sides, and it is possible for an MMP to match deterministically -- with 100% confidence. This is, by definition, Deterministic Attribution.

Getting the opt-in

Securing high user opt-in rates will allow apps to gain a significant competitive advantage, both in terms of having access to factual, deterministic data about their users, as well as allowing them to create models based on the behavior of their users who do opt-in.

The use of pre-permission prompts can help explain to users the benefit of consenting to user-level tracking, and there's plenty of advice on how to craft the perfect pre-permission prompt.

In terms of the ATT prompt itself, marketers are learning rapidly what works and what doesn't. You can browse this gallery of live ATT pop-ups to see how different apps in the ecosystem are tackling this problem.

For subscription apps, having insights into when users' payment method fails, when they pause or cancel subscriptions, or when they resume are all key insights that can help optimize your app. Without the IDFA it becomes increasingly difficult to get reliable data on how users are navigating this mazy journey toward conversion.

Using SKAdNetwork

Apple introduced SKAdNetwork in 2018, ushering in a different approach to campaign measurement where data at the user level is not available. With iOS 14, the SKAdNetwork framework has been developed and expanded as Apple attempts to lessen the impact of reducing developers' access to the IDFA.

SKAdNetwork provides space for 6-bits of downstream metrics, a number between 0 and 63 (or between 000000 and 111111 in binary), with an initial 24-hour timer. This 'conversion value' can be assigned any value that can be expressed in binary. Every time the conversion value is updated, to a fresh six-bit code defined within the app, the timer window is extended an additional 24 hours.

Adjust's Katie Madding

Once this conversion value window expires, a second 24-hour timer for attribution starts counting down. Within this 24 hour window, the SKAdNetwork randomly returns the attribution data. The idea behind this random timer is to obfuscate the time of install, so that event triggers cannot be linked to individual users. The SKAdNetwork system shares this data in the aggregate, with no granular data accessible at the user level.

For apps that monetize via subscriptions, the difficulty in iOS 14 is two-fold. Firstly, being able to reliably defer the SKAdNetwork timer beyond 24 hours poses a challenge, even if it might be useful for gathering signals from your users.

It is possible to extend the timer by using a bit to prolong the conversion window, simply triggering a conversion value update (for instance from 000001 to 000011 and so on) periodically to gain another 24 hours -- but it requires the user to log in every day so that the conversion value trigger can run with the app in the foreground. If the user doesn't open the app again, the conversion value can't update, meaning that you lose out on the data you were hoping to prolong the timer to collect.

Secondly, getting enough data from the user in the first 24 hours to make reliable long-term predictions is tricky. With only a limited number of touchpoints possible, due to the limited 6-bits of possible values, it is important to make sure that you really zero in on the ones that are the most meaningful.

Signal versus noise

There are two main ways you can use the 6-bits given to you by SKAdNetwork. The first is using a 'bit masking' approach, where you assign each of the six bits to an event, and whether that corresponding bit is set to a 0 or a 1 tells you whether that event occurred. This is a very elegant method of tracking events -- and powerful when used correctly -- but it is limited to six events and they have to be binary 'yes or no' questions.

The second option is to assign ranges of values to different conversion values, which allows you to create 'buckets' of users depending on where they fall within the ranges you define.

Predictive LTV modeling uses the behavior of a user on their first day of using the app to predict revenue going forward in the medium term. Such predictive modeling works better when used for broader buckets or categories. You want to create wide definitions of possible success and filter users into these based on their behaviors. Using buckets to do broad strokes, like a gaming app dividing users into 'whales' or 'not-whales', is likely to succeed in general, whereas drawing fine differences between similar classes of users is difficult.

For this reason, subscription apps may want to use 'trial start' as their SKAdNetwork signal to optimize toward, both because this may happen more reliably in the window where you have visibility and because it is an action within that initial window that is full of intent.

However, merely using 'trial start' can lead you down the wrong path. And without an insight into the events that are happening during the trial, post-IDFA it's going to be even trickier to assume that a free trial necessarily converts to a user that generates revenue.

How to optimize 'trial start'

For the reason mentioned above, you may want to consider 'trial start' and an additional, independent signal. For instance, a user may trigger 'trial start', and be assigned an initial conversion value, but then you could update the conversion value if they cancel the trial during the conversion value window. That immediately removes a large number of people who are unlikely to pay, creating a wide bucket of 'canceled trial' users that we can assume are probable to have a lower LTV.

Or from the other perspective, maybe you want to track people who sign up for a free trial and include their payment information. Those who include their payment info are already indicating they are open to converting -- and perhaps more likely to become long-term paying users.

But every app is different, and it makes sense to work out what the signals are in your app. For instance, maybe the best indicator for your app is logging an additional session later in the day, after they initially set up, showing they are already engaged and ready to use your features. Or perhaps a good sign that a user is going to convert is accepting push notifications, showing they're open to receiving prompts to return to the app.

Good indicators of LTV don't necessarily have to be complicated. For example, Facebook's 'north star' is that when a user gets to seven friends in ten days, they're likely to stick around. Try to consider what you can learn about your users early, and what you can use that information for. By bucketing users on their first day you can try to predict their value longer term.

iOS 14 has presented plenty of challenges for marketers, but by relying on the right strategies, there's plenty of opportunities for those who can get ahead of the curve. For subscription-based apps, in particular, this means identifying their strong early signals for LTV and ensuring they're constantly iterating their opt-in strategy to get the best results.

As chief product officer, Katie Madding leads Adjust's global product vision and development. Madding is responsible for Adjust's roadmap, pushing for features that meet at the intersection of the company's vision and its clients' goals.