Get Started with AWS for Free

Create a Free Account

Receive twelve months of access to the AWS Free Usage Tier and enjoy AWS Basic Support features including, 24x7x365 customer service, support forums, and more.


Q: What is Amazon Mobile Analytics?

Amazon Mobile Analytics is a service that lets you easily collect, visualize, and understand app usage data at scale. Many mobile app analytics solutions deliver usage data several hours after the events occur. Amazon Mobile Analytics is designed to deliver usage reports within 60 minutes of receiving data from an app so that you can act on the data more quickly.

Amazon Mobile Analytics is built to scale with your app, allowing you to collect and process billions of events per day from millions of users. It’s easy to get started with Amazon Mobile Analytics. You simply add the optional AWS Mobile SDK to your app and publish the app using your existing distribution mechanism (such as the iTunes Store, Google Play, or Amazon Appstore), and you can start accessing reports in the AWS Management Console. Amazon Mobile Analytics automatically starts to collect metrics on active users, sessions, and retention, and you can add reporting on in-app revenue or any custom event you choose.

Amazon Mobile Analytics helps you spend more time on creating great apps rather than the undifferentiated heavy lifting of setting up and managing an analytics system.

Amazon Mobile Analytics is included in the AWS Mobile SDK, which supports iOS, Android, Fire OS, and Unity, or you can use the Amazon Mobile Analytics REST API directly.  Amazon Mobile Analytics is included in the AWS Mobile SDK, which supports iOS, Android, Fire OS, and Unity, or you can use the Amazon Mobile Analytics REST API directly. You can also use the Amazon Mobile Analytics SDK for Javascript to integrate with your JavaScript enabled apps.

Amazon Mobile Analytics is free for up to 100 million events per month (an event corresponds to activity in your app such as the start of a session or an in-app purchase).

Amazon Mobile Analytics automatically calculates and updates the following metrics as data is received:

  • Daily Active Users (DAU), Monthly Active Users (MAU), and New Users
  • Sticky Factor (DAU divided by MAU)
  • Session Count and Average Sessions per Daily Active User
  • Average Revenue per Daily Active User (ARPDAU) and Average Revenue per Paying Daily Active User (ARPPDAU)
  • Day 1, 3, and 7 Retention and Week 1, 2, and 3 Retention
  • Custom Events

These metrics are provided via six reporting tabs in the AWS Management Console: Overview, Active Users, Sessions, Retention, Revenue, and Custom Events.

Q: How can I use Amazon Mobile Analytics' reporting tabs to better understand user engagement?

You can use the AWS Management Console to view graphical reports for your app, or download data in CSV format. Available reports and the metrics they provide for your app are listed below:

Overview: Daily Active Users (DAU), Monthly Active Users (MAU), New Users, Sticky Factor, Total Daily Sessions, 1-Day Retention, Average Revenue Per Daily Active User (ARPDAU), Paying Daily Active Users, and Average Revenue Per Paid Daily Active User (ARPPDAU).

Active Users: Daily Active Users (DAU), Monthly Active Users (MAU), New Users, and Sticky Factor.

Sessions: Total Sessions (number of time your app was used on a particular day) and Average Number of Sessions Per Daily Active User (DAU).

Revenue: Paying Daily Active Users, Average Revenue Per Daily Active User (ARPDAU), and Average Revenue Per Paid Daily Active User (ARPPDAU), Paying Monthly Active Users, Average Revenue Per Monthly Active User (ARPMAU), and Average Revenue Per Paid Monthly Active User (ARPPMAU).

Retention: Daily retention (includes 1-day, 3-day, and 7-day retention) and weekly retention (includes 1-week, 2-week, and 3-week retention) for new users.

Custom Events: Custom events specific to your app that you define (such as when users tap a button, or each time a player finishes a level).

Q: How much does Amazon Mobile Analytics cost?

Amazon Mobile Analytics has no upfront costs, no minimum charges or subscription fees. You pay only for what you use.

Amazon Mobile Analytics offers a free tier of 100 million free events per month. Beyond the free tier, it costs $1.00 per million events per month.

Events are sent to Amazon Mobile Analytics from your app via the AWS Mobile SDK or the REST API. There are three types of events: system events (e.g. the start or end of a session), in-app purchase events, and custom events (e.g. a specific action in your app such a user completing a level in a game, or a user viewing a particular screen). When you use the AWS Mobile SDK, for each app session the SDK automatically sends 2 system events (recording the start and end of a user’s session with your app). Beyond these 2 system events, the total amount of events sent by your app to the Amazon Mobile Analytics service during each session is determined by the inclusion of in-app revenue tracking events, or custom events you integrate into your app, and how many times those events are triggered. You can find more information on event types in the Amazon Mobile Analytics Documentation.

Q: How often are reports updated?

Amazon Mobile Analytics is designed to deliver usage reports within 60 minutes of receiving data from an app.

Q: Which platforms does Amazon Mobile Analytics support?

Amazon Mobile Analytics is included in the AWS Mobile SDK, which supports iOS, Android, Fire OS, and Unity. Additionally, you can use the Amazon Mobile Analytics REST API to collect app usage data programmatically.  You can use the Amazon Mobile Analytics SDK for Javascript to integrate with your JavaScript enabled apps.

Q: Who owns the data I collect?

Amazon does not own or monetize the data you collect, and does not share it with third parties. We may use the data to provide and improve the service, monitor the health of the service, and provide technical support to you. As with any other AWS service, you are responsible for how you use the tools we provide; that includes providing any necessary notice or opt-outs to end users and complying with applicable law.



Q: Do I have to integrate the AWS Mobile SDK with my app to use Amazon Mobile Analytics?

No. You can use the Amazon Mobile Analytics REST API to send events programmatically.

Q: Do I need to use Amazon Cognito to use the Amazon Mobile Analytics service?

No. You can initialize Amazon Mobile Analytics using AWS IAM accounts. However, we recommend using Amazon Cognito for security best practices. Detailed documentation for both methods can be found here.

Q: Can I combine or split data between the iOS and Android version of my app?

Yes, the Amazon Mobile Analytics Reports feature a filter to split iOS, Android, and Fire OS data. Or, you can view all platforms combined.

Q: What OS versions does Amazon Mobile Analytics support?

The iOS SDK supports apps running on iOS 7.0 and higher, Android apps running on Android 2.3.3 and higher, and apps built using Unity 4.0 or higher. The Amazon Mobile Analytics JavaScript SDK is supported in all modern browsers and JavaScript based app frameworks such as AppGyver (supersonic), Appcelerator, Ionic, Famo.us and Intel XDK. Note that the Amazon Mobile Analytics SDK for Javascript depends on the AWS SDK for Javascript. The REST API can be used on any platform that supports REST.

Q: Can I download Amazon Mobile Analytics Reports?

Yes, reports can be downloaded in CSV format.

Q: What time zone are the reports displayed in?

Reports are displayed in UTC time.

Q: Is data cached when a user’s device is offline?

Yes, when using the AWS Mobile SDK, data is cached on the user’s device and is uploaded when a network connection is next established.

Q: Is use of the network channel optimized when sending events?

Yes, the events are batched, and sent once per minute. You can also specify the transport to send the events: cellular and WiFi, or WiFi only.

Q: What AWS Regions is the Amazon Mobile Analytics service available in?

Currently, Amazon Mobile Analytics is available in the AWS US East (N. Virginia) Region.


Q: How are metrics calculated for the same user using multiple devices?

A user with the same app on two devices, such as an iPhone and an iPad, will be counted as two users.

Q: How is a "Session" defined?

A Session is one use of an app by the user. A Session begins when an app is launched (or brought to the foreground), and ends when the app is terminated (or goes to the background). In order to accommodate for brief interruptions, like a text message, an inactivity period of up to 5 seconds is not counted as a new Session. Total Daily Sessions shows the number of sessions your app has each day. Average Sessions per Daily Active User shows the mean number of sessions per user per day.

Q: When an app goes to the background does its session end?

Yes, the session ends. When the app comes to the foreground a new session begins.

Q: How are Daily and Weekly Retention defined?

Daily Retention is measured by determining the number of users that first used your app on a specific day, come back and use your app on the next day (1-Day Retention), the third day (3-Day Retention), and the seventh day (7-Day Retention). Weekly Retention is measured by determining how many of the devices that first used your app on a specific day come back and use your app during days 1-7 (1-Week Retention), days 8-14 (2-Week Retention), and days 15-21 (3-Week Retention).

Retention data takes 3 weeks to fully populate. For any given date X, retention data for N days is only available if the current date is after X + N days. For example, if today is October 10th, 1-Day Retention data is available for October 9th, 3-Day Retention for October 7th, and so on. For Weekly Retention, the information displayed can be for a partial week. If you are looking at 2-Week Retention and it's only the 10th day, days 8, 9, and (part of) 10 are available, so the 2-Week Retention is incomplete. Incomplete series are noted via the tooltip appears when hovering over data on the Retention chart.

Q: How is Sticky Factor calculated in the Active Users tab?

Sticky Factor is calculated by dividing DAU by MAU. It is the fraction of monthly users using the app on any particular day. For example, if an app has 100K DAU and 300K MAU its Sticky Factor is .33. A high Sticky Factor can indicate strong engagement, appeal, and monetization.

Q: How are Daily and Monthly Revenue calculated for in-app items?

Average Revenue Per Daily Active User (ARPDAU) is the total of your in-app gross revenue for a given day divided by the number of Daily Active Users (DAU). Average Revenue Per Paying Daily Active User (ARPPDAU) is the total of your in-app gross revenue for a given day divided by the number of paying Daily Active Users (DAU).

Average Revenue Per Monthly Active User (ARPMAU) is the total of your in-app gross revenue for a given month divided by the number of Monthly Active Users (MAU). Average Revenue Per Paying Monthly Active User (ARPPMAU) is the total of your in-app gross revenue for a given month divided by the number of paying Monthly Active Users (MAU).

These metrics are provided for informational purposes only and may not reflect actual revenue. They include gross revenue for in-app items only (as sent to Amazon Mobile Analytics by you) and do not take into account taxes, product returns, reimbursements, subscriptions or revenue from the purchase of the app. All amounts are converted to U.S. dollars.

Detailed revenue reporting documentation is available for iOS, Android, and Fire OS.


Q: What are Custom Events?

Custom Events are events defined entirely by you. They help track user actions specific to your app or game. The Custom Events Report provides a view of how often custom events occur and can be filtered based on Custom Event Attributes and their associated values.

You create Custom Events by naming them, such as "Item Bought" or "Button Pressed." You can add context to Custom Events by specifying Attributes (for qualitative measure) and/or Metrics (for quantitative measure). For example, if your business goal is to track purchases of in-app items, you can use "Item Bought" as a Custom Event, "Item XYZ" as an Attribute and "Item Price" as the Metric. The Custom Events Report allows you to search and filter for each Attribute or Metric. For example, you can find how often "Item XYZ" was purchased or how often an Item Price was $1.99. You can also review the weighted average of Metric values (per session) and track minimum, maximum, or average Metric values.

Detailed Custom Event documentation is available for iOS, Android, and Fire OS.

As a best practice, we recommend that Custom Event names be broad and Attributes be specific. In the above example, using "Item Bought" instead of "Item XYZ" as the Custom Event name helps in preventing the report from having too many distinct Custom Event names that are hard to read and aggregate.

Q: What are the benefits of using Custom Events?

Custom Events help you understand user actions specific to your app. A game developer may want to understand both how often a level is completed and how much health each player has left at the end of that level. With custom events, you can create an event called "level_complete" and "add_level" as an attribute and "health" as an attribute value. Then each time a level is completed you can record a "level_complete" event with the name of the level and the player's health. By reviewing the data via the Custom Events Dashboard you may discover that level 3 is too easy as players always finish with maximum health. You could then adjust the level's difficulty to better challenge and engage players to improve retention.

Q: Are there any limits for using Custom Events in my app?

You can have up to 1,500 unique Custom Event Types per app and up to 40 Attributes and Metrics per Custom Event. For more information on these and other limits affecting custom events, see docs.

Q: How do I remove an app from the Mobile Analytics reports?

Please email us and the team will remove it for you.


Q: Why should I use the Auto Export feature?

The Auto Export feature in Amazon Mobile Analytics allows you to regularly export raw event data received from your app to your Amazon Simple Storage Service (S3) bucket and into your Amazon Redshift cluster (which is created by Amazon Mobile Analytics as part of an AWS CloudFormation stack). You can also use event data in Amazon S3 with other data analytics tools such as Amazon Elastic MapReduce (EMR) or other Extract, Transform and Load (ETL) software, or your own data warehouse.

Once the event data is loaded into an Amazon Redshift cluster, you can analyze and dive deep into your app data by running SQL queries or by using one of the Amazon Redshift partners to view your data. For example, you can analyze how your users behave differently across multiple devices that they own, track the effectiveness of an in-app promotion across different app versions, or analyze retention rates across users in different countries or languages.

Q: Do I pay an additional cost for using the Auto Export feature?

The price of the Amazon Mobile Analytics service remains the same. Amazon Mobile Analytics has a free tier of 100 million events per month per account, and costs just $1 per million events processed after the free tier. If you have enabled the Auto Export feature for Amazon S3, you pay for the costs associated with the storage of your events in your Amazon S3 bucket. If you have enabled Auto Export to Amazon Redshift, you will also pay for an Amazon Redshift cluster (a single node dw2.large cluster), an Amazon Elastic Compute Cloud (EC2)(t2.micro) instance to load data from your Amazon S3 bucket to your Amazon Redshift cluster, and optionally for Amazon CloudWatch resources (if enabled when configuring the Auto Export to Amazon Redshift feature). Free tier pricing information for Amazon Redshift and Amazon EC2 can be found here. For a detailed pricing example, please visit our pricing page.

Q: Which destinations can I export data to?

With the Auto Export feature, you can export your app event data to your Amazon S3 bucket, and to your Amazon Redshift cluster. Exporting to S3 allows you to load the raw data into your own data warehouse, process it with an analytics service such as Amazon EMR, or simply archive it for future use. Exporting your data to Amazon Redshift allows you to analyze your raw events data with SQL queries. When you export to your Amazon Redshift cluster, data is also placed into your S3 bucket so that the original raw events are always available if required.

Q: How does my app data get exported to Amazon Redshift?

Amazon Mobile Analytics creates an AWS CloudFormation stack consisting of an Amazon Redshift cluster and an EC2 instance. The EC2 instance connects to the Amazon Redshift cluster every hour to load events from your Amazon S3 bucket.

Q: What should I do after configuring the Auto Export to Amazon Redshift?

Amazon Mobile Analytics uses AWS CloudFormation to set up a new stack consisting of an Amazon Redshift cluster, and an Amazon EC2 instance. It takes about 15 minutes for CloudFormation to complete this one time setup. Once the stack is created, the EC2 instance will begin loading any events that are in your Amazon S3 bucket into your Amazon Redshift cluster. You can access your Amazon Redshift cluster using a SQL query analyzer such as SQL Workbench, or 3rd party visualization tools such as Tableau. For a list of tools that can help you make the most of Amazon Redshift, click here.

Q: Can I use my existing Amazon S3 bucket or Amazon Redshift cluster?

Yes. You can specify the S3 bucket for exporting the raw events. If you want to export your app data to your existing Amazon Redshift cluster, please refer to this doc: Exporting to an Existing Redshift Cluster

Q: What is the frequency of the data exported?

Once the Auto Export feature is enabled, raw events from your app are exported to your Amazon S3 bucket within 60 minutes of being sent to the Amazon Mobile Analytics service. The data in your Amazon S3 bucket is imported into Amazon Redshift every hour. This means that it can take up to 2 hours for new events to be loaded into your Amazon Redshift cluster.

Q: What is the format of the data exported?

See the documentation for the JSON schema of app events in Amazon S3 and the table schema of app events in Amazon Redshift.

Q: Can I add custom events to the data exported?

Yes. All events are exported, including custom events. You can specify the custom event attributes and metrics in the Auto Export configuration wizard.

Q: Can I stop exporting data?

Yes, you can start and stop exporting data for each or all of your apps using the App Management page in the Amazon Mobile Analytics console. Please note that by stopping the data export, only the new events that are recorded will not be exported to your Amazon S3 bucket or your Amazon Redshift cluster. If you want to delete the previously exported data and stop new charges, delete the “MobileAnalyticsAutoExportToRedshift…” stack using the AWS CloudFormation console and delete the Amazon S3 bucket used for storing these events from the Amazon S3 console.

Q: Can I start exporting data to Amazon S3 now and then start exporting to Amazon Redshift later?

Yes, when you enable Auto Export to Amazon Redshift, all of your app event data that is stored in the Amazon S3 bucket that you specify is loaded into Amazon Redshift.

Q: I’m already using Auto Export to Amazon S3. When can I start exporting events to my Amazon Redshift cluster?

You can start Exporting to Amazon Redshift immediately. Simply go to the App Management page in the Amazon Mobile Analytics console to enable Auto Export to Amazon Redshift.

Q: I have a large app with billions of events being sent every day. Does this feature scale to meet my needs?

Yes. Amazon Mobile Analytics is designed to collect, process, and export events at scale. Amazon Redshift is a petabyte-scale data warehouse service. You can update your Amazon Redshift cluster in the Amazon Redshift console at any time to make use of more nodes.

Q: Do my Amazon S3 bucket and Amazon Redshift Cluster have to be in the same region as Amazon Mobile Analytics (US-East-1)?

Amazon Mobile Analytics requires that your Amazon S3 bucket be located in US East-1. By default, Amazon Mobile Analytics will create an Amazon Redshift cluster and EC2 instance located in US East-1 as well. Please contact us if you want to setup an Amazon Redshift cluster in a different region. Data transfer charges between your Amazon S3 bucket in US-East-1 and the location of your Amazon Redshift cluster will apply.

Q: Once I have my data in Amazon Redshift, how do I get started with analysis?

You can access your Amazon Redshift cluster using a SQL query analyzer such as SQL Workbench, or 3rd party visualization tools such as Tableau. For a list of tools that can help you make the best of Amazon Redshift, click here. Our documentation has SQL queries to help you get started.

Q: Where do I go to get my connection string for my Amazon Redshift cluster?

Visit the Amazon Redshift console to get your connection information. See the Amazon Redshift documentation for additional help to connect to your Amazon Redshift Cluster.

Q: What level of access can I provide to connect to Amazon Redshift?

The Amazon Redshift master user provides full unrestricted access to your Amazon Redshift cluster and can also be used to create additional Amazon Redshift users. The “eventreader” user provides read-only access to your app event data. The passwords for these users are specified when configuring the Auto Export to Amazon Redshift feature in the Amazon Mobile Analytics console.

Q: Can I build custom dashboards for my app with this feature?

Yes. You can leverage 3rd party visualization tools such as Tableau to build custom dynamic dashboards. There are several tools that can help you make the best of Amazon Redshift.

Q: My question isn’t answered in this FAQ. How can I reach Amazon for help?

Please email us for further help, follow us on our blog, or visit the Amazon Mobile Analytics forum.

Q: How do I make a new feature request or provide feedback on this product?

Please let us know on the Amazon Mobile Analytics forum.

Q: I have a question about Pricing.

Please email us.