Skip to content

How to Unlock YouTube Shorts for Growth

A Breakthrough in Web-to-App Conversion Tracking

web-to-app

Tracking conversions on YouTube Shorts can be challenging due to limited API access and restricted permissions for third-party integrations, all of which complicate data collection.

After extensive trial and testing, Kurve successfully implemented seamless tracking on YouTube Shorts for web-to-app campaigns, enabling our client Sweatcoin to unlock a powerful new growth channel alongside Meta and TikTok. This achievement drove an immediate incremental increase of 20% in new user acquisition with the same LTV as the other two channels.

Read on to discover how we made this possible.

Download the full guide

youtube-short-ads

Facing a Critical Blocker

The lack of access to conversion data for YouTube Shorts meant that all the assets we successfully rolled out across Meta and TikTok were unusable on this platform, thus limiting our ability to amplify growth and reducing opportunities for the optimisation of content and resources.

Whilst we had been consistently running small tests on YouTube Shorts, observing a slight increase in installations after each experiment, the absence of precise conversion data kept us from attributing success to the platform and scaling accordingly.

Furthermore, this blocker prevented us from fully leveraging Google’s resources, such as its AI-driven Smart Bidding strategies for optimising conversions.

youtube-ads-tools

Parallel Tracking & Offline API Tracking

Our initial tests involved tracking installations via the web. Users were redirected from the ads to a landing page where they could click a button for either the App Store or Play Store listings and then download the app. However, this approach failed to provide the best user experience and led to a significant drop-off, losing many users along the way.

We continued working closely with Adjust and Google to trial different solutions until we successfully captured the installation data generated by the ads (via Adjust) and exported it back to Google Ads. With the data now visible in Google, we could understand which ads drove conversions and effectively optimise them.

The first step involved implementing parallel tracking. With this method, users are directed to the app stores immediately after clicking an ad, while the tracking process occurs in the background. This approach eliminates any redirect wait time and provides a smoother user experience.

Parallel Tracking

Parallel tracking uses a visible URL to direct users to the app stores whilst simultaneously running an invisible URL in the background. This hidden link, which users never see, allows us to track user data as it "shadows" their journey. The data is then transferred back to Adjust and Google via this same shadow link. This step was essential in enabling us to unlock YouTube Shorts for mobile apps.

In addition to parallel tracking, we also used offline conversion data. This data is exported from Adjust to Google every hour through an API (application programming interface). The API allows the app to request specific data from Google, enhancing the accuracy of our data tracking by incorporating information that isn’t captured in real-time.

Offline Data Tracking through an API

Offline data tracking through an API involves exporting conversion data from Adjust to Google Ads at regular intervals. This allows Google’s algorithm to optimise ads based on conversion data rather than just maximising reach. This also improves targeting accuracy by supplying Google with updated installation data and refining its focus on users who are more likely to convert.

google-ads-dashboard
youtube-short-ads-dashboard

The Results 

The combination of parallel tracking, which streamlines the user experience by eliminating the wait time for redirects and helps us retain more users who complete app installation, and offline conversion data flowing into Adjust and Google enabled us to unlock YouTube Shorts as a fully optimised growth channel. 

This solution led to a 20% increase in user acquisition, matching our results on TikTok. Additionally, by guiding Google’s targeting towards specific, high-converting audiences, we successfully scaled YouTube Shorts to the same level as our other successful channels, significantly reducing our cost per install (CPI). 

head-of-growth

 

Reached X level event

This event marks every time a user reaches a new level within a game or app and helps understand and measure user interactions, which levels are more challenging, which are the favourite characters and how engaging the app is. These insights can inform user experience and retention strategies, from balancing game difficulty to enhancing app content.

This approach can be useful not only for games but for all gamified apps that feature different levels (for example, an app like Duolingo).

Reached X level event

Below is the code to be executed to implement the logEvent() method and it includes two key parameters:

  • level: indicates the level the user has reached and it shows their progression within the app;
  • character represents the character the user was playing when the level_up event happened and it provides insights on the character’s popularity and user preferences.

Android tracking

On Java:

Create a Bundle object by adding the level the user has reached and the character they are playing as parameters. Then log the level_up event using the mFirebaseAnalytics.logEvent() method

Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.level, x);
bundle.putString(FirebaseAnalytics.Param.character, player1);
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.level_up, bundle);

On Kotlin+KTX:

On Kotlin you can log the event with the same parameters while using scoped functions. These are part of Kotlin's standard library and provide a way to execute a block of code within the context of an object.

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.level_up) {
     param(FirebaseAnalytics.Param.level, x)
     param(FirebaseAnalytics.Param.character, player1)
   }

iOS tracking

On Swift:

You can log the level_up event using the Analytics.logEvent() method, passing a dictionary of parameters that include the level and the character.

Analytics.logEvent(AnalyticsEventLevel_up, parameters: [
AnalyticsParameterLevel: x,
AnalyticsParameterItemCharacter: player1
])

On Objective-C

You can log the level_up event by calling [FIRAnalytics logEventWithName:parameters:] and passing a dictionary with the level and character.

[FIRAnalytics logEventWithName:kFIREventLevel_up
     parameters:@{
          kFIRParameterLevel:x,
          kFIRParameterItemCharacter
:player1
          }];

Kurve’s recommendations 
for optimising app performance:


Don’t overlook user retention

Leverage Firebase Analytics to assess campaign progress

Integrate with BigQuery to ensure seamless, data-driven insights

Customise your analysis by defining and monitoring unique interactions

Track app_open frequency and level progression to target high-quality users


Want to improve
engagement and retention?


k 1

More App Growth Resources

How to create custom events on Firebase for Android and iOS
Guide
How to create custom events on Firebase for Android and iOS

In this article, we are going to share our step-by-step guide on how to create the custom events...

How to boost App Store visiblity for free by using iOS In-app Events
Guide
How to boost App Store visiblity for free by using iOS In-app Events

In-app events are an organic and free way to boost app visibility and reach. They can help attract...

How to optimise your app icon & maximise App Store potential
Guide
How to optimise your app icon & maximise App Store potential

Effective App Store Optimisation requires analysing competitors, identifying and getting to know...