We will tell and show you how we launched an advert for the Polish job search app Workport and what surprises we encountered in the process. At the same time, we will show you detailed instructions on how to set up App advertising campaigns in Google and Facebook.
Allows you to search for a job in Poland, to buy train or bus tickets, but also insurance, to find a place to rent, and to achieve other benefits while living and working in Poland. Nice USP, good product. Let's start the promotion.
In the beginning, we have to upload the apps themselves to Google Play and the App Store for review. Then we need to set up funnel analysis and conversion tracking.
In order to choose the tracking tool, we need to think and decide which advertising channels we would like to start using.
There are some of the best app tracking tools such as Adjust or AppsFlyer, but they are not free of charge and are more suitable if you are promoting the app with affiliates, many tier2 ad networks and so on. Since our focus is on Google, Facebook and Apple search ads that generate 80% of all white traffic, Firebase and Facebook Ads SDK will be sufficient for our needs.
You'll need to configure your app in Firebase and add its code to the app in order to track installs and app events. In the first week, we forgot to enter the App ID from the App Store after publishing an app. We couldn't understand why Firebase wasn't working :)
Firebase App ID Input

Then we happened to go back into Preferences and found what was going on. We added the App ID from the App Store and it started to work, the data started to be transferred to the Firebase server.
Firebase App ID setup

We will be able to import conversions from Firebase directly into Google Ads on both Android and iOS once we have added the code to the app and set up sending events to Firebase. In order to do this, we'll need to associate a Google Ads account with Firebase and import the conversions in the same way as it's normally done when importing conversions from Google Analytics.
Firebase to Google conversions import

There is a special type of advertising campaign that optimises your budget for maximum app installs to promote your apps on Google.
Google App Campaign Setup

Targeting is almost entirely automatic, Google says, based on machine learning, so the main startup tasks are:
1. Passing maximum conversions (machine learning flags) so Google can better understand how and which people interact with the app and reconfigure targeting;
2. High quality creative, we will need copy and banners of specific sizes for this type of campaign (the most popular according to Google's recommendations are 1200×628, 320×50, 250×250).
Video ads are an excellent ad format for promoting an app, so let's talk about them separately. We advise you to take the time to set up your YouTube channel, make sure it's well-filled with information, write a description and make at least one video describing your app's features. This can be an animation that shows the action within the app, rather than a professional film. Videos work well as a performance ad for these types of campaigns, and as a bonus you will receive additional views of videos on your channel and some subscribers.
Video ad example for UAC

Start with a small budget and monitor it closely in the first few days to ensure you don't spend too much. After 1-2 days you can see how the target price you set for the install affects the budget and number of installs when you enter the campaign settings.
Google Universal App Campaign Goal CPA setup

Now Google itself automatically selects placements and keywords in universal app campaigns, and if we want to manually add keywords or choose viber as a placement for example, you need to create a standard campaign with a link to the website and add an ad extension with links to app stores or use Firebase's Smart Universal Link. A user who sees an ad in the search results will see a link to the website and a link to the app store in the ad text, and in the viber they will see a banner with a link to the website.
Unfortunately, Google App Campaigns does not allow you to manually select keywords to show ads on.
But we wanted to try advertising on the top search query [work in Poland]. So we suggested that we create standard search campaigns, manually set keywords and promote the site, and from there track conversions to app stores. We've set up analytics and events on the site that we'd like to monitor.
Similarly, they suggested a separate banner ad campaign with a link to the site and the choice of Viber as the location, as most people have this app installed and it is often used for calls to relatives abroad.
The launch of the website advertising on mobile devices has been with desktop as the target audience. We knew that we were not going to track conversions between installing the app and visiting the site from a computer. So we decided to put a QR code on the first screen. We tracked the number of QR scans.
Google Search & Display campaigns

We started with search ads for query job in Poland and ads on Viber - for both campaigns, unfortunately, the conversion rate from impressions to store app visits was low and the cost of a store visit was 2-4 euros. Our decision was to keep them in place, but with a minimum budget.
For the first week on Facebook, we spent €114. We received 2020 clicks to the app page on Google Play and 222 clicks to the app in the App Store. The average CPC was €0.05.
Facebook Ad Optimization options

Firebase tracks Facebook traffic as (direct) and it is impossible to calculate the exact number of installs because the Facebook SDK was not installed.
Since Facebook is not a friend of Google and importing conversions from Firebase cannot be configured directly on Facebook, we need to install their SDK to see conversions in the Facebook Advertising Dashboard. We need to create and configure
1. Business account on Facebook;
2. Advertising account;
3. Business Page;
4. and most importantly, a Facebook app to promote our Android / iOS apps.
We need to set up the parameters and add a link to the privacy policy (which can be on the website or simply in Google Docs) to do the basic setup of the app on Facebook. You can use the free Firebase generator to create a privacy policy text.
https://app-privacy-policy-generator.firebaseapp.com/
Facebook App Account Setup

The next step is the installation of the Facebook SDK into your app. This is where you will need a little help from your app developers.
You will need to import app install events from your app to Facebook. With this data, you will be able to track and measure the installs of your app, as well as optimise your campaign budget to get the maximum number of installs.
Facebook API requests

In order to integrate the Facebook SDK into the app, you can use this instruction:
https://developers.facebook.com/docs/app-ads/sdk-setup
Once we have installed the SDK, we can immediately start a special type of campaign on Facebook for app installs. We can see the number of installs and optimise the budget for the maximum amount.
We will also now have access to Facebook Analytics to help analyse the audience.
Facebook Analytics Events

It allows you to analyse all the most active users of the app by demographics, interests, etc. It is a very powerful tool.
Google - we started with 619 installs per week at €0.35 CPI and then, with all the optimisation in place, in our best week we got 10255 installs per week at €0.20 CPI.
Facebook - without SDK, according to indirect estimates from Firebase, we started with 900 installs per week at €0.66 CPI. Then, when we set up tracking for maximum results, we got 2210 installs per week at €0.24 CPI.
Next we did an analysis of our app audience, traffic quality and user retention. You have to be prepared for the fact that with the increase in the number of installs, the churn rate and the number of people who have opened the app a few times and then deleted it will also increase.
Only 40% of people who install the app don't delete it after a day. This is generally considered to be the average retention rate for all app markets.
Firebase New users vs. Churn rate

We had a look at some of the audience analytics sections. When we compared everyone who had installed the app with everyone who was actively using it, Firebase didn't show anything interesting.
Firebase All app users vs. Most active users

At the same time, users aged 25-54 are the most active, and men are slightly more active, according to Facebook Analytics based on data from the most active 10% of users.
Facebook analytics insights based on All users vs. Most active users

So we started monitoring reports on user retention on Facebook and decided to exclude people under 25 and over 54 from targeting.
Facebook Retention report

Firebase also has similar retention reports.
Firebase retention report

app analytics setup
creatives
testing
>100 000
installs
>40 000
active users
You can always conduct a survey of your app's users to understand why they uninstalled the app and get their comments, in addition to analysing demographics and interests. You can send push notifications or emails by creating a list of questions in Google Forms.
If you have a large enough user base, you can set up retention mailings and push notifications. For example, you can send a welcome message for 1 day, send a special offer to those who haven't used the app for a week, etc.
If we set up events within the app that we consider to be targeted, we can also optimise advertising campaigns not through settings, but through targeted actions within the app. The basic conversion actions are
- Registration, complete personal profile data;
- Authorisation within the app via Google, Facebook account or SMS;
- Opening the app 24 hours after installation (1 day retention);
- Purchase within the app, refill account details.
For ourselves, we have identified one such targeted action as registration. We have decided to launch new advertising campaigns that optimise not for the number of installs, but for users who are more likely to perform the required action after installation.
In the case of Google, things are a little simpler. The developer has to configure the event in Firebase, then we transfer this event to Google and select the new campaign settings.
Google Campaign in-app event goal setup

Things are a little more complicated with Facebook. With the installation of the Facebook SDK, all events are automatically transferred to Facebook, but we cannot use these events for advertising optimisation. In order to optimise ads for events, you need to install an additional Facebook tracking code. You also need to choose the name of one of the "standard" conversions that Facebook understands.
We have tried to configure event tracking without the help of developers using Facebook's configuration tool. However, the application crashed with the event tracking option enabled.
Facebook Auto Conversion Events Tracking Tool with UX

There are three different types of conversions that happen on Facebook:
- Automatic conversions, when FB considers a certain action to be a conversion based on actions and snippets of code;
- Standard conversions from FB's list for each niche;
- Special conversions, which are set manually and are not in the standard list.
Strangely, there is no way to set automatic and special conversions as a campaign goal for optimisation, you can only set it as a goal by selecting a "standard" conversion from the list.
You should definitely read the help on conversions in the app:
https://developers.facebook.com/docs/app-ads/optimizing-your-app-ad
Facebook Standard Events for Ad campaigns optimization

To create a default conversion in the app, there are 2 options: You can manually specify in the app which buttons this conversion is, or you can add a piece of code with the help of developers when the conversion is triggered.
So far, we have manually set the registration as the default conversion "Registration completed" when clicking on the "Create account" button in the app, and launched campaigns with optimisation for this action, but the developer (thanks to him a lot) let us know that with such tracking the bug got out and apps sometimes starts to freeze and we have turned off such tracking.
Therefore, we still need to add a piece of FB code when a sign-up is triggered, so that it tracks all sign-ups with a guarantee and without bugs or app freeze.
Help on the name of standard Facebook conversion events:
https://developers.facebook.com/docs/app-events/getting-started-app-events-android#event-names
Facebook Event Code for adding into your app to track conversions

Next, in order to transfer the conversion, you need to generate the necessary code and add it to the desired event in the application. If everything is done correctly, you will see such an optimisation option in the ad group setup on Facebook.
Now you can choose this event as conversion optimization goal

Now that all the settings have been made, we could first analyse the cost per install by advertising channel, but then, on a weekly basis, we could finally analyse the cost of retaining the users acquired, according to the retention reports in Facebook Analytics and Firebase Analytics, and calculate a metric such as the cost of a user who continued to use the application after one week, cost per 1 week retained user.
Cost per retention stats

When we saw that retention was better on Facebook, despite the higher install cost, we allocated a larger budget to get the maximum number of retained W1 users (users who opened the app in a week) on both platforms, considering install cost as a secondary metric.
Based on 1 week retention data, we adjusted bids by Facebook / Google and within campaigns. We aim to have the same minimum cost for 1 user who opened the app in 1 week for all campaigns and platforms.
Sign up conversion is good for optimising, but there are users who use the app regularly but don't create an account, as not all actions require it. Therefore, we suggested configuring the conversion as launching the app after 24 hours, i.e. Day 1 retention, to optimise Google / Facebook ads for such a conversion. Registration yes, these are the most desirable users, but those who do not delete the app and use it after a day should also be considered as interested users.
At the moment we're waiting for the developers to configure this type of conversion and to start running new campaigns.
We also had a problem with ASO. The app was not in the Google Play SERP. We rewrote the description of the app in Google Play and the App Store. We added the necessary keywords for which we wanted our app to be found.
Google Play Search engine results page

Correction of page description on Google Play and addition of keywords to Ukrainian and Russian language description and app name.
Adding keywords into app name

Adding keywords into app description

Now the app appears in the 5th position in the Google Play results for searches like "work in Poland" etc. and in the general Google search results.
App got up on SERP

We also launched a video campaign to increase brand awareness through three types of video:
- Targeting manually selected YouTube channels;
- Interest-based audiences;
- Video sequence, the aim of which is to show a person all three videos in sequence, not immediately of course, but over the course of a day for example, and then watching all three videos in sequence will create a more holistic view of the brand and the features of the app.
Google Video campaigns types

We created the other 5 interest groups and launched a video campaign on them.
Google audiences created manually and chosen from the list

Added keywords to channel settings.
YouTube channel ASO

YouTube Channel Keywords

Linked channel with Google Ads and Google Analytics to import channel metrics.
This resulted in 3 types of videobased campaign being launched:
1. The video on the selected channels didn't generate many impressions, but we're confident in the placements. The cost of conversion is of course very high, this is a pure brand awareness type of campaign, not performance at all.
2. The sequence of three videos came out to be more expensive in terms of CPM, cost of reach and CPI than a regular video campaign with the showing of just one of the videos. The campaigns have similar targeting. We ran the sequence campaign for a few days and then stopped it.
3. The video with the five audiences created had the best results in terms of impressions, CPM, CPI and had the lowest cost per click of all the video campaigns in progress.
Google Video campaigns types

It is important to note that at the same time the main Android Install campaign was also showing our video ads on YouTube, and it had the best click-through rate, CPC, CPI etc. Therefore, we suggested to keep the running video campaign on manually selected channels. This is where we are sure to get the best targeting. With a limited budget of 100 euros per week, we decided to expand the list of such channels and keep them running. At the same time, other channels, placements and people related to our target audience according to their behavioural patterns will be covered by video advertising from the main Android Install campaign.
Google Video campaigns results comparison

As a result of using the video as an ad creative, we got over 70,000 video views, so we can say that this type of Google UAC also works well for reach and brand awareness.
The only thing to keep in mind is that when advertising short videos such as bumper ads, YouTube does not count the video views generated by the advertising campaign in its view counter - the YouTube channel counter will show fewer views than the actual views.
Immediately after we started advertising, we saw an immediate spike in search queries for the brand, a small one of course, but there it is. So be ready to receive this traffic, make sure that at least for brand searches your site is on top position in SERP. If it's not, start a brand campaign in search so that when your potential customers search for your brand, they will be able to find your website.
Brand search queries increase since advertising start

Therefore, any properly targeted advertising will affect the growth of organic installs, increase brand searches and direct visits to your site if the site address is easy to remember.
Sorry for such a longread guys ;) if you have any questions or would like to know more, please don't hesitate to contact us, we will be happy to answer the questions or help you with your similar case!
Send your details and we will find a solution for You
Leave a request and discuss with a marketer
tasks and detailed price calculation
Schedule a free call with our CEO
We will contact you shortly.