This guide is intended to summarize the available integration options so that you can easily plan your deployment.
The first thing to do is Sign up for a free account (http://connect.radiumone.com/register/). Note that each account is tied to a single email address at this time so you'll need to share access between your engineers who will build the integration and the people using the reporting. After integration is complete you can change the password on the account if desired.
Once you have your account, the integration steps are as follows:
- Plan your Integration
- Select an integration option
- Software Development Kit (SDK)
- API Integration from your app
- Server to Server Integration via API
- API integration from a third party tool
- Testing and QA
- Submit app
RadiumOne Mobile Analytics is fundamentally based on tracking Events - things that happen in your app. Those things can be user actions like tapping a button or completing a purchase, or they can be something that happens on the app side such as one user being matched to another in a dating app.
RadiumOne Mobile Analytics will automatically track:
- Launch - fired when the app starts
- First Launch - fired when the app starts for the first time
- First Launch After Update -fired when the app starts for the first time after a version upgrade
- Application Opened - fired when your app is opened after a message is sent.
- Session Start - fired when a new session starts
- Session End - fired when a session ends; includes a Session Length attribute with the session length in seconds
What else should I track?
You can track any number of custom events in Mobile Analytics, but rather than just tracking everything and cluttering your dashboard with irrelevant data, we recommend stopping to consider what the Key Performance Indicators (KPI's) are for your app. These will vary considerably depending on your vertical and your particular approach and there is no one-size-fits-all solution.
To make it easier, we have standardized data formatting for a few very common events, these include:
- Login: Tracks a user login within the app
- Registration: Records a user registration within the app
- Facebook connect: Track this when the user allows access to Facebook services
- Twitter connect: Track this when the user allows access to Twitter services
- User Info: This event enables you to send user profiles to the backend. Please do not send us personally identifiable information!
- Upgrade: Tracks an application version upgrade
- Trial Upgrade: Tracks an application upgrade from a trial version to a full version
- Screen View: Basically, a page view, it provides info about that screen
- Transaction: A purchase
- Delete Cart
- Add To Cart
- Delete From Cart
You are not limited to these predefined events, however, and can add your own custom events as well.
Key things to consider about what to track:
- What are the critical parts of the user experience in my app?
- Where am I losing users? What features need improvement?
- Does my user base spending a lot of time with one feature mean it is broken and a time suck for users or does it mean they love it and are very engaged? How can I tell the difference?
- What will I learn by tracking this event?
- How is it relevant to my KPI's?
- What attributes of the event are important? For example, a Transaction event should at minimum include the value of the transaction and the names or ID's of the item or items purchased, but depending on your monetization model might benefit from other contextual info as well.
To get the best results, we recommend having all your stakeholders sit down and discuss what they want to know and what’s important to them. Unlike many analytics solutions, we do not have a cap on the number of trackable events so you can be as comprehensive as you want.
If you are new to Analytics and need a hand figuring this out, please reach out to our support team and we will be happy to help make sure you get the data you need and are able to implement tracking quickly and easily.
This is by far the most common route and the easiest for us to support and debug. Unlike some other tools, the RadiumOne Mobile Analytics SDK plays no role in the day to day functioning of your app - it’s not serving ads or in-app content - and is purely a reporting tool. That keeps the footprint incredibly lightweight and implementation simple. Key functionality includes offline queing of messages to our endpoint so you don’t lose data when users go offline.
Basic SDK integration can be accomplished in a few hours. Beyond that, the time requirements are totally dependent on the tagging and event tracking you want to put in place.
The basic steps are outlined here: https://support.radiumone.com/hc/en-us/articles/218279063
For full step by step instructions, please refer to our documentation on Github.
In all of these scenarios, integration is accomplished by sending push notifications to the RadiumOne Mobile Analytics Event Tracker API.
You’ll need to go through the normal setup steps, the same as if you were integrating the RadiumOne Mobile Analytics SDK.
- Register App with RadiumOne Mobile Analytics and retrieve the application id from the RadiumOne Mobile Analytics Dashboard.
- Set up your system to push event data to RadiumOne Mobile Analytics. This must include:
- First launch of app for each end user as it occurs
- Session data for end users
- Any Event data that you wish to track and segment upon
- Messages must follow the rules and structure laid out in the RadiumOne Mobile Analytics API doc:
There are three main flavors of API integration:
API Integration from the app
Many companies are wary of SDK implementations because they don’t want to put someone else’s software into their app. If that sounds like you, building your own integration that makes the same calls to our endpoint that would be made by our SDK can be an effective route to integration. Doing so is more work than integrating the SDK but gives your developers complete control over what data is sent and under what circumstances. It is essentially a 1 for 1 replacement of the SDK. Because of the extra work required, this is not recommended unless SDK integration is completely off the table and you lack the server infrastructure required for other API integrations.
This is an ideal solution in cases where:
- You do not want to integrate an SDK
- Your team has the technical expertise to manually handle message queing and other functionality normally handled by our SDK
- You are not collecting useage data either on your own servers or via a third party OR you are collecting the data but do not have a way to dynamically send it to the RadiumOne Mobile Analytics API OR you want to avoid the cost of relaying messages through your own servers.
Server to Server API integration from your internal server
Perhaps you are already be collecting useage data for all the events you want to track in on your own servers and want to pass that data on to RadiumOne Mobile Analytics from that server for analysis and action. In this scenario, you simply fire messages to the RadiumOne Mobile Analytics endpoint for that useage data as it comes into your servers like a relay race.
This is an ideal solution in cases where:
- You cannot integrate an SDK
- You already have your own in-house data infrastructure set up that is already receiving data from end users about what they are doing.
- Those servers are capable of pushing notifications about end user behavior to MA’s API endpoints in real time.
Server to Server API integration from third party tool
This scenario is best for cases where you want to use the RadiumOne Mobile Analytics dashboard and functionality in addition to some other previously implemented external tool.
Available options here are:
- Tealium Mobile
3. Testing and QA
RadiumOne Mobile Analytics is a complex product with lots of moving parts. Depending which modules you are using, you may be able to omit some of these steps.
- If you will be doing media attribution through Mobile Analytics, request tracking links or access for your test build from your RadiumOne account manager. Click the link on your test device.
- Open the test build of your app
- Perform each of the tracked actions at least once.
- Wait half an hour and check reports to make sure all events have been recorded along with relevant attributes. We recommend using the Trends report to check that all the events have come through and the Segmentation report to easily check attributes.
- If applicable, check to make sure the Track dashboard has successfully attributed your test installs.
For iOS you will need to check the box declaring that you are collecting IDFA in order to attribute ads displayed elsewhere. Full steps and detailed instructions are at https://support.radiumone.com/hc/en-us/articles/207311053-iOS-SDK-App-Submission
For Android there are no special submission requirements.