User Engagement

Omniata enables you to engage with your users through several different ways. The main modes of interaction are:

  • A/B Tests
  • Promotions
  • Advertising
  • Push Notifications
  • Emails

In Omniata these interactions are managed through Campaigns. The campaigns combine the different elements of user engagement: content, target segments, schedule, and delivery channel.

A/B Tests

All user engagement can be A/B tested, by adding to the campaign two of more experiences which serve different content and selecting one them as the control group against which other experiences (different content) compared to.

To make campaign management easy, Omniata provides a Campaign Builder that allows you to set up campaigns and A/B tests, as well as customize them with several options for customized content delivery for specific user segments at specific delivery times.

In the following chapters we will review each type of campaign type with predefined content and segments to illustrate with examples how different campaigns can be setup. After these examples, we go over how you can create your own unique content, segments, and channels.

A/B testing is a crucial part of improving the application performance and monitoring the success of campaigns such as push notifications and emails. The basic setup for an A/B test is to compare the user behaviour based on different content delivered. Statistically comparing the differences between the user groups that received different content, reveals the performance improvements. The most typical A/B test is to change application configurations and see what happens to user behaviour with different configurations.

A/B tests are implemented through the Omniata Campaign Builder that combine the different elements of user engagement: content, target segments etc. More accurately, the campaign defines the following elements:

  • what content is served
  • which target segment the content is served to
  • when the content is served (scheduling)
  • which channel the content is served through

In case of A/B testing, the campaign contains two or more experiences which serve different content. The Campaign Builder that allows you to easily set up A/B tests, as well as customize them with several options for customized content delivery for specific user segments at specific delivery times.

In the following you will an A/B test where the scenario is the following. You have an application, a game, where the key component is to build a castle that is the hub of players empire. Upgrading the castle unlocks new elements in the game, and each upgrade takes a certain time. Let’s say 10 min for level 3 castle, and increasing as levels go up. The upgrade time can be speed up with gems. You wish to test whether different upgrade times have an impact on monetization and user engagement.

We have pre-defined all the components that you need to do the exercise. In the following chapters we will go over how to create your own content, segments, channels, etc. Before that, let's go over how to use the Campaign Builder to create an A/B test.

Exercise - Create an A/B Test

  1. Navigate to Engagement > Campaigns. Select 'New Campaign'. This page will open up:

  2. Let's select Display as campaign type and name it as 'A/B Test - Time to Complete'. After that select Next to continue to the next page, where you will see this:

  3. On the second page we will set up the different test groups and their experiences. Start by clicking 'Add experience' and name the first experience as ‘Standard’.

  4. Select the 'Game Configuration - Example’ delivery' channel you have created earlier to be used for the experience.

  5. Click 'Add Content' to select the content for the experience. Pick up the 'Time to Complete - Standard' content you have created earlier from the drop-down menu. You'll see a preview on the right side. Click 'Add Content'. At this point you should see this:

  6. Set up the two other experience groups so that you have three experiences like this:

  7. Under the experience settings you will also define how to split users between different experiences. Let's set the ‘Standard’ experience to go for 80% of the users and the two other experiences 10% each:

  8. Go then to the next page where you will define to which users you want to target the A/B test as well as the schedule. By default the campaign is set to be send to everyone. This is rarely the case so, let’s review to custom target users.

  9. Let's target the A/B test to UK players using the predefined segment 'User from UK’. In addition, let's target only new users. This way existing user base is not exposed to the new content. In addition, we want to limit this test only to the first 10,000 users.

  10. Next up is scheduling. Please feel free to choose any dates of your liking.

  11. You can skip the ‘Advanced Campaign Details’ at this point. We will cover these options in more detail when looking how to set up promotional campaigns.

  12. When you're ready, go to the next page. This summary page shows you details of your A/B test. In the bottom of the page, select 'Activate Campaign'. Feel free to activate the campaign as this project does not have real users who actually would get the content.

  13. To have results we would need to have actual users, but this is a screenshot of an A/B test with a similar set up.

Congratulations, you have created your first A/B test!


Promotions are commonplace in apps and Omniata provides an easy way to deliver promotions related content to users.

The promotional campaigns are build in a similar way as A/B tests with a difference that the content set are typically price parameters instead of other types configurations. The great thing here is that you can A/B test the effectiveness of your campaigns.

As you will see the setup of the promotional campaign is very similar to the A/B test one, but the aim here is to illustrate one unique aspect. You have an option to custom target and schedule any of the content to your liking. In the following exercise we will focus on that specific aspect of campaigns.

Exercise - Create a Campaign with Custom Targeting and Scheduling

  1. Navigate to Engagement > Campaigns. Select ‘New Campaign’ and there select Display as the campaign type. Name the campaign as ‘Store Promotion’.

  2. Create the experiences with the channels and content provided. (If needed, you can review setting up the experiences from the A/B test exercise in the previous chapter). Create all three experiences with different content.

  3. Set the % shares to your own liking and go to the next page.

  4. Selecting targeting and scheduling is the key here.

    • Set the custom targeting to be ‘US Spenders’
    • Don’t select ‘Target new users only’ as we want to engage new and existing users with the promotions
    • Skip ‘Maximum Number of Participants’
    • Add a schedule of your liking
  5. Select the option ‘Refine Content Targeting and Schedule’ under Advanced Campaign Details. This is the main part of this exercise. You will something similar to this:

  6. The screen above is the default view for selecting custom targeting and scheduling. By selecting the timeline view, you can see the following which indicates when each content is being delivered:

  7. Go back to the list mode and click on the ‘Edit’ of any of the content. This opens up options to set specific target segment for the content, and selecting ‘Custom Scheduling’ allows you to schedule the content to be delivered on specific days and time of day. Below is an example where the first content is set to be delivered to all ‘Spenders’ and only during the first week of October and only on Friday evening and Saturday. Please note that times shown are the times of your own devices timezone.

  8. You have option to customize the segments and scheduling per content. For example, one content for weekdays, another for weekends, and one for everyday. In fact, when you added custom targeting and scheduling to the first content, you need to add customization to the remaining content or otherwise the this content will be delivered to all users.

  9. Once you have added custom targeting and scheduling, you press on ‘Next’ and end up in the campaign summary page. If everything looks as expected, you can activate the campaign. And no worries, there are no real users for the Training Project so no one should get these promotions.

Now you should be familiar how to set up custom targeting and scheduling. Good luck with your promotions!

Push Notifications

The main use cases for Push Notifications are to engage active users, or to re-engage potentially churning users. Omniata provides an easy way to send notifications to your users. Please note that key for running Push Notifications campaigns is a completed and tested Push functionality integration with Omniata. You can find details on this from the guides under Integration.

The push notification campaigns are build in a similar way than any other campaign with an option to A/B test the performance of different types of messages (generic vs. localized) and also engagement of users that receive the push and other that return to the app organically without a notification.

The setup for Push Notification campaigns is very similar to the other campaigns discussed in the previous chapters. The main difference is scheduling. With Omniata, you can schedule push notification to be delivered at the hour when the user installed the app, or to a specific hour defined by users timezone.

In the following exercise we will focus on building a push notification campaign with custom scheduling. We will use pre-defined content, segments and delivery channels to build the campaign.

Exercise - Create a Push Notification Campaign

  1. Navigate to Engagement > Campaigns. Select 'New Campaign', choose ‘Push Campaign’ as the campaign type, and name the campaign as ‘Push Re-engagement’. After that select Next to continue to the next page.

  2. On this we will set up the content to be delivered. Start by clicking 'Add experience'. Select the ‘Push iOS - Example’ as the delivery channel.

  3. Add content to the experience. As we want to compare the impact of push notifications, we need to set control group that does not receive push notifications. To do this we add an empty JSON content that will not be send to the user, but does assign the user to belong to the campaign as a control. For this use the content ‘Push - Control’.

  4. Let’s now add more experiences and content. In the end you should have four experiences with each having an unique content.

  5. Choose the share of users that get assigned to each experience. The default of 25% each is also a good set up as this ensures that all experiences get enough users to make statistical comparisons.

  6. The next step is to add target segment. Assigning a segment is mandatory as this activates the delivery channel. If you wish to send push notification to all users, create a segment that will match the whole user base. In this case we want to target users that have been inactive for the last 7 days, and we don’t want to limit the number of users assigned to campaign.

  7. Next up is scheduling. Select a timeframe of your liking, but typically recommended duration is one month or more, depending on the size of your user base. For testing purposes with very large user base, even a shorter timeframe might work.

  8. You have two options to define the scheduled delivery time. If you do not check the box for ’Refine Content Targeting and Schedule’, the content will be delivered to the segment specified at the hour of app install. If you choose to customize the targeting and scheduling, you have option to define target segment for each content and specific delivery hour per user timezone. Please note that if you assign different segments to content, you can’t get run a proper A/B test as different user segments might not be statistically comparable.

  9. Once you have reviewed the summary page, you can activate the campaign. And no worries, the Training Project does not have real users so no push notifications will send to anyone.

Congratulations, you have created your first push notifications campaign!


Content is the key element of engaging with users as providing it will change the experience how users interact and see the application. The content can take several different shapes (game configuration changes, running sales or price reductions, displaying messages and alerts to users, push notifications, emails, etc.). Omniata has no limitations on what can be delivered to the users. The only limit is that the content delivered needs to be in JSON (JavaScript Object Notation) format. The actual content to be delivered in completely up to you.

The are two things to consider here: the actual content, and what will the content do in the application. The delivered content depends on the use case at hand as you saw in the exercises in the previous chapters. The latter question on what the content does in the application is equally important. You need to make sure that the application itself understands what the provided content should do. Whether they are launching a special banner or changing game configurations to a lower level difficulty, you potentially need the involvement of several people to execute campaigns successfully. Why? Developers need make sure that content has intended impact in the application, data analysts need to design analytics requires for an A/B test, and product managers need to ensure that content matches with desired outcome.

In the following you will create your first custom content. The first scenario here is the following. You have an application where the most common in-app soft currency purchase is 100 gold coins for a diamond (diamonds are used to buy power-ups; diamonds a typically also bought with hard currency). You aim is to test what is the impact of having different gold coins to diamond ratios in the app.

The second scenario is to create content for a Push Notification campaign, where you simple want to inform users that there are new levels available in the game.

Exercise - Create Content for an A/B test

  1. Navigate to Engagement > Content Types. Here we are going to create a Display Content Type that can be used later to create content that matches the application required format.

  2. Select ‘New Content Type’ and then ‘Display’.

  3. Add a name to the content type, for example ‘Currency Ratio’.

  4. You see two options under ‘ JSON Data Template’.

    1. JSON Editor allows you to freely write your own content.

    2. JSON From is useful when having more complex JSON where the values might be updated by several people. Use case for this Push Notifications that are reviewed in the next exercise.

  5. We will now focus on a simple use case of the JSON editor. We will create a JSON that indicates {"gold_diamond_ratio": "value"}, like this:

  6. You have an option to add previews by using HTML under the ‘Templates’ but will skip that in this exercise. Save the Content Type by clicking on ‘Create Display content type’.

  7. You have now created a Content Type that can be used as the template for the actual content.

  8. Let’s next create the actual content by navigating to Engagement > Content > New Content. This will open up a page that asks which Content Type you would like to use. Select ‘Currency Ratio’. This opens up the following:

  9. Here you see the predefined value for the parameter defined in the content type. Let aim for creating three different contents with values of 50, 100 and 150. Let’s start with 50. Name the content ‘Currency Ratio - 50’ and change the default value to 50. Like this:

  10. Press ‘Save’ and you have now created your first custom content!

  11. But we are not done yet the content. Upper right corner you have an option to ‘Clone’. Select that and a cloned content is created. Update the name to ‘Currency Ratio - 100’ change the parameter value to 100. Repeat the loop to create the last content which is for the value of 150.

  12. Now you can the the list of content (Engagement > Content) and see all three custom contents there.

Well done! You have now created a Content Type and three Contents.

Exercise - Create Content for iOS Push Notifications

In this exercise we'll create push notifications to be used in iOS environment.

  1. The most notable difference between Push to Display content is that there is no need to create a new content type as push notifications have a predefined structure with mandatory parameters and optional ones. This means that Omniata can provide you with a ready content type to use.

  2. Navigate to Engagement > Content > New Content.

  3. Select the content type to be ‘Push Notification - iOS’ and you will see the following:

  4. You simple need to add a name for the content, title of the message (typically the app name), and the text body (the message). Below is an example.

  5. Save the message, and you will see a preview of the message. Underneath the preview you will see the actual JSON being delivered.

Congrats! You have created a custom push notification.


It is often the case that you don’t want to target all of your users with an A/B test. Omniata provides flexible way to target your user base based on almost any user level data that you’re sending to us.

In the following you will create a basic segment that will later be used to limit the A/B test to a specific country.

Exercise - Create a Segment

  1. Navigate to Users > Segments. Select ‘New Segment’. You’ll see this:

  2. Let’s create a segment that targets only players from UK that have spent real world money in the game. Follow the specs below.

  3. Press ‘Create Segment’ and you will end up to the list of Segments, which you can edit later to match your use cases.

Segment - check - done!


Channels organise and determine the content you serve to users of your application or website. A Channel allows you to schedule delivery of content to different segments of your users. Omniata has three different types of channels: Display, Push Notification, and Email.

Display channels have an unique identifier (i.e. channel id), which is used when the device pull the content from Omniata to the device itself. The requested content will change the user experience, for example, by changing ‘build time’ parameters in the application. Simply put, the channel defines how the content is delivered to users. The integration of the channel id can be set in the SDK.

Push and Email channels function slightly different in a sense that they are used scheduling content delivery for 3rd parties(with push: Apple and Google; with email: Sendgrid). Thus, there is no need add these channel ids to SDK. But, make sure to send device tokens and emails instead.

While this might sound very tricky, the exercise itself is quite straightforward. You’ll simple create a channel.

Exercise - Create a Display Channel

  1. To create a Channel, navigate to Engagement > Channels > New Display Channel. There you will see the following:

  2. Do the following:

    • Name of the Channel as ‘Store Sales’ (a good practise is name channel on use case basis: advertising, store promotions, etc.)

    • Set the Message Ordering to be priority. As you are now wondering what this means, please visit here.

    • Leave the number of Max # of Messages to 5. And you might wondering again what this means, so please visit here.

    • Select ‘Store Items’ as a Content Type. When using the Campaign Builder, this selection limits the available content for the experience. This is especially useful when you have more content.

    • Also leave permissions empty as we like every to see what we’ve been up to.

  3. Finally click 'Save', and Boom, you have created a Channel.

Creating different types of channels (display, push and email) follow the same steps. As mentioned above, the only difference is the underlying functionality.

This article was last updated on October 20, 2015 23:27. If you didn't find your answer here, search for another article or contact our support to get in touch.