March 21, 2017

In-App Messaging and In-App Marketing using ReachOut

You have collected a wealth of runtime intelligence via Revulytics Software Usage Analytics which has helped you unearth some interesting trends about your users. Your top concerns are that some of your main features are not being discovered by trial users, you have way too many customers still dragging their feet running older versions of your product and through conversion analytics you discovered that users who do not convert to a purchased license within the first 20 days of evaluation have a big chance of turning into a lost lead.

It is now time to start taking action and fix these problems, but what is the best way to get through to your users? Until today, Email was your only means of communicating with customers, but now  you need a more engaging communication channel which offers 100% visibility. Luckily Revulytics can make this easy for you with its ReachOut™ in-app messaging technology.

What is In-App Messaging / In-App Marketing?

In short, in-app messaging is a great way to interact with your users and share important information while they are engaged with your product. By having control on when  to deliver the message, you are targeting users at the right time, when their attention is on the product and your brand is at the top of their mind. It also means that you are guaranteed that the user sees your message at the most critical time because they are engaged with your software, as opposed to running into the risks of email campaigns which are blocked by spam filters, lost in an inbox full of unread emails, bounce due to incorrect or inexistent email address, or simply reach the users at the wrong time when they are not interested in what you have to say.

Why use Revulytics ReachOut™ ?

ReachOut™ in-app marketing is designed to work hand in hand with the runtime intelligence data you collect from Revulytics Usage Intelligence and allows you to create personalized and highly targeted marketing campaigns by leveraging user profile data that is provided by the Revulytics Analytics engine. In order to run an effective marketing campaign, the messages you send out should contain specific benefits for the recipient and thus should be relevant in context.  For example, a discount on renewals would be irrelevant to someone who is still evaluating the product and such a user would likely find the message annoying. The same is true if you try to upsell an advanced feature of your software to somebody who has not yet got his head around the basics. By using ReachOut™ you can create campaigns tailored specifically to match particular recipient profiles and make sure that each of your target users receive a message that resonates. This makes your campaign more personal and thus much more effective.

Using ReachOut™ for Drip-Campaigns

Marketing automation such as email followups or drip campaigns have been proven to help increase conversions and user engagement if timed well. However one major problem with Email campaigns is that the only metric you can use to determine when to send a followup message is the number of days since download.  In reality this metric has nothing to do with how much time the user has spent running your application. One user might run your application 10 times and spend hours experimenting with your software in a single day, whilst another busy user might spend 2 whole weeks without launching your software once. Clearly these 2 scenarios require a very different message when following up, which is practically impossible to achieve with email drip campaigns.

With the Usage Intelligence framework you can easily create customizable drip campaigns that can be pushed to your clients at very specific intervals based on how much time each user has spent engaged with your application and how many days they had it installed. This gives you the potential to create specific messages that resonate in each scenario.

Audience Targeting with ReachOut™ Campaigns

One of the major benefits of using ReachOut™ campaigns is that you can choose from a huge list of criteria to specifically select your target audience. Do you want to personalize your message and address users based on their primary language or geo location? With ReachOut™ this is easily achievable by using several filtering options, such as the country, operating system language, or the language your product is installed in if it supports that. You could also target users based on their runtime statistics or machine architecture, for example send out a message to all users who have downloaded your software from a specific landing page, have been running it for more than 30 days in trial mode, are running Windows 7 Pro on a desktop with a dual monitor, have at least 8GB of RAM and resolution of 1280px.

The list of criteria that may be used to target a ReachOut™ campaign include:

Geographical Region Country where the product is installed
Days Installed Number of days the software has been installed
Product Usage Number of hours the software has run since install, number of times the software has been executed
Feature Usage The number of times the user engaged with a specific feature or set of features within your product
Product Details Edition, version, build, language
License License type (evaluation, purchased, freeware etc.), License Status (activated, expired, whitelisted, blacklisted), License Key
OS Details Operating system, word length (32 bit / 64 bit), language, .NET Framework version
Architecture Computer type (desktop, laptop / mobile), amount of memory, number of CPU cores, CPU type, graphics card vendor and model
Display Number of monitors, horizontal resolution, vertical resolution
Custom Properties Clients matching any custom property value that you collect via the SDK
Message Types and Delivery Method


ReachOut™ provides you with two different delivery methods which can be customized for each campaign. These include:

  • Manually from Code - A plain text message or URL is delivered to your application whenever it makes a request to the Revulytics server. In this case you have complete control when and how the message is displayed. This is useful if you have a news page in your application, or if you’d like to implement a built-in notification system for example.
  • Automatically - A popup window is shown automatically when the user runs your application, or when the application syncs with the Revulytics server. The window can display a static or linkable image or a web page of your choice, and supports customization of the window size and the position it is displayed on the screen. When using this option no coding is required whatsoever, so a Product Manager or Marketing person can simply create a campaign from the Usage Intelligence Dashboard and let ReachOut™ handle the rest, without involving the developers at any point. This can be beneficial in a myriad of situations, such as asking customers to participate in company surveys to name one. The advantage of pushing out surveys in this way is that you can effectively choose your audience based on specific criteria and avoid cluttering the survey with the initial questions to categorize responders.

Building your first ReachOut™ Campaign

Let’s see how easy it is to create a campaign…

Example 1 – Campaign to offer discounts to evaluation users

You've been looking at your Conversion Funnel reports and you've learned that most users convert within the first 20 days of the 30 days evaluation, therefore there is a high risk that if the product is not purchased within that time frame you will lose the lead. You decide to monetize on these lost leads by offering these prospects the following discounts:

  1. If the product has been running for more than 20 days and is still using an evaluation license key, offer them a 20% discount
  2. If the product has been running for more than 25 days and it is still in evaluation, deliver a more aggressive promotional campaign by giving them a 40% discount

Now let’s create the first campaign:

  1. Log in to your Usage Intelligence Dashboard and from the left navigation menu click on ReachOut

    1_Revulytics-ReachOut-Menu.png
  2. Make sure that the ReachOut™ Enabled option is set to Enabled
  3. Under Auto ReachOut™ Campaigns click on Add Auto Campaign
  4. In the Campaign Details section enter the name, description, and campaign schedule details

    2_Revulytics-ReachOut-Campaign-Details.png
  5. Under Message Content enter the popup details. In our case we have chosen to upload an image banner that when clicked will open http://mycompany.com in the user’s default browser

    3_Revulytics-ReachOut-Campaign-Content.png
  6. Under Recipient Profile Filter select License Type and then choose Evaluation

    4_Revulytics-ReachOut-Campaign-License-Filter.png
  7. Under Product Usage Filter select Days Since Installation and enter minimum 21 days and maximum 25 days

    5_Revulytics-ReachOut-Campaign-Install-Days-Filter-1.png
  8. Click the Save button to create your campaign
  9. The next time a user which matches this criteria opens your application or the applications syncs with the server, the following popup window will be displayed

    6_Revulytics-ReachOut-InApp-Message.png

To create the second campaign, simply repeat the same steps but provide a new image and specify the range for installed days between 26 and 30 days instead.

Example 2 – Display a form to download a free whitepaper

You have published a new whitepaper on how customers can benefit from some advanced features in your software. For this reason you want to send it out to all users who have run your software more than 10 times and have spent at least 50 hours of usage. To be able to download the whitepaper, you have a form available online which users need to fill in to access the download.

Let’s create a campaign to display this form to all users who match the above criteria:

  1. From your Usage Intelligence Dashboard left navigation menu click on ReachOut
  2. Under Auto ReachOut™ Campaigns click on the Add Auto Campaign button
  3. In the Campaign Details section enter the name, description, and campaign schedule details

    7_Revulytics-ReachOut-Campaign-Details.png
  4. Under Message Content enter the popup details. In this example we have chosen to show the URL to the download form

    8_Revulytics-ReachOut-Campaign-Link.png
  5. Under Product Usage Filter choose Lifetime Runtime Minutes and enter minimum 3000 minutes and Lifetime Number of Sessions minimum 10 days

    9_Revulytics-ReachOut-Campaign-Runtime-Filters.png
  6. Click the Save button to create your campaign
  7. The next time a user that matches the criteria opens your application or the application syncs with the server, the following popup window will be displayed

    10_Revulytics-ReachOut-InApp-Message-Form.png

Example 3 – Notifying customers that their software version has reached end of support

You company has decided that as of April 30, it will no longer provide support for version 1.0 of its software product. However the Version Distribution reports provided by Usage Intelligence show that you still have a number of customers using this version and you’d like to let them know. You decide to push out a message to these customers using the notification system implemented in your application, which retrieves messages from ReachOut™ and displays them in a balloon notification.

Create the campaign as follows:

  1. From your Usage Intelligence Dashboard left navigation menu click on ReachOut
  2. Under Manual ReachOut™ Campaigns click on the Add Manual Campaign button
  3. In the Campaign Details section enter the name, description, and campaign schedule details

    11_Revulytics-ReachOut-Manual-Campaign-Details.png
  4. Under Message Content select Plain Text and enter the text you would like to push out to your application

    12_Revulytics-ReachOut-Campaign-Plain-Text.png
  5. Under Recipient Profile Filter choose Product Version and select 1.0 from the available versions

    12_Revulytics-ReachOut-Campaign-Product-Filter.png
  6. Click the Save button to create your campaign
  7. The next time your application checks for new messages, if the version installed matches then the following message will be displayed to the user

    13_Revulytics-ReachOut-InApp-Message-Balloon.png

The following is the C# code used in the application to display the notification:

string message = "";
int msgCount;
int msgType;

//rui is your RUISDK instance
RUIResult result = rui.CheckForReachOut(out message, out msgCount, out 
msgType);

if (msgCount > 0)
{
    NotifyIcon notifyIcon = new NotifyIcon();
    notifyIcon.Visible = true;
    notifyIcon.BalloonTipTitle = "MyApp Message";
    notifyIcon.BalloonTipText = message;

    notifyIcon.Icon = SystemIcons.Application;
    notifyIcon.ShowBalloonTip(60 * 1000);
}

Trying ReachOut™ in a Test environment

Now that you’ve read about the benefits of in-app messaging and seen how easy it is to create a campaign, feel free to give it a try. If you’d like to see ReachOut in action in a test environment without sending out public messages to your users, we suggest you create a specific test version/build number and create a test campaign by filtering for that specific product version/build. This way only users running your test version/build will receive the ReachOut message.

If you don’t have a Revulytics account yet, you may sign up for a free trial and try ReachOut™ for free.

Post written by Arielle Bonnici

Software Developer & Technical Writer

Subscribe to Our Blog