This article is part of a series about optimization and testing ideas for mobile apps.

Why test it?

Mobile UX must be hyper-focused to help users identify and complete the specific task that compelled them to download the app in the first place. When assigning value to the app and deciding whether they will ever use it again, users will ask themselves some fundamental questions: “Does this app offer me an easy, delightful experience that I’m likely to use more than once? Is it more attractive and intuitive than any comparable web experience?”

Guide users as they discover core features that will offer lasting value. For example, you can manage user expectations by featuring screenshots of the in-app experience and key features.

Feature Preview during Onboarding

OpenTable and Paperless Post effectively show users previews of the in-app experience, while calling out specific features and the value that they offer. This connects users to their use case by answering the question, “How will this feature make my life easier?”


Metrics to track:

  • Recency/frequency of app load after initial onboarding is completed

Idea #1: Test feature screenshots.

Show screenshots of the key features with which the user should engage, describing the how each offers them recurring value.

Idea #2: Test feature spotlighting.

Once the onboarding is complete and the user is in the app, draw a spotlight around the first feature with which the user should engage.

Feature Discovery: Progress Path vs. Freeform

Optimizing navigation is imperative to enabling feature discovery. There’s a fine balance between cluttering the screen and hiding important functionality in menus. Duolingo and Instagram have varying approaches to managing navigation. Duolingo guides users down a specific path that focuses on engaging with a language-learning module as soon as possible. Instagram’s use case is more ad hoc and promotes features more passively via a fixed-bottom console.


Metrics to track:

  • Key action count

Idea #1: Test a progress bar.

Display a progress bar to communicate the percentage of features that the user has engaged with (akin to in-app notification of profile completion % in social media apps).

Idea #2: Test a fixed console.

Affix a console of core features to the bottom of the screen.

Page-Specific Features

Does your business model depend on users finding a specific item, or do you want to encourage browsing? Search and filter options are among the most important features that drive repeat usage of an app; users ascribe value to app experiences that enable them to find what they’re looking for as easily as possible.

Consider Gilt’s primary audiences: (1) shoppers browsing flash sales and (2) shoppers arriving to their app with a specific item in mind that they would like to purchase. Gilt offers value to both user categories, but its UI prioritizes the former because the business model relies on users browsing sales without prior knowledge of the items featured therein. Search is available only at the top of the home screen, and filters (“Refine”) are at the top of every flash sale screen.


Metrics to track:

  • Feature screen views

Idea #1: Test a search bar.

Make search the only action that users can take on the home screen.

Idea #2: Test a filter option.

Add a filter option to product pages.

How to set up a feature discovery test in Optimizely

Feature discovery can range from user registration, to search, to social sharing. It’s important to streamline your app’s UI to ensure that the user is not overwhelmed with many competing feature icons or call-to-action links. Daily Active Users (DAUs) is a fundamental success metric for all apps; a focused set of exposed features enables users to learn the offerings of the app in a simplified environment that promotes return visits. Encourage prime new users to become loyal users by drawing their attention to new features through in-app notifications via lightboxes, interstitials, and visual cues such as badge notifications.

With the Visual Editor:

The Visual Editor will allow you to:

  • Modify images that you decide to upload or swap out images that are included in your app to showcase new features (including screenshots).
  • Modify the messaging that you use to showcase new features.
  • If you only want the search functionality to be shown on the home screen in your app, you can use the Visual Editor to hide all other views (except for the search toolbar).

With Code Blocks:

For new features you want to roll out, you can use code blocks to:

  • Add in-app messages to feature screenshots
  • Add a spotlight around the first feature that the user should engage with
  • Add a progress bar
  • Create a new view controller to fix core features to the bottom of the screen

To implement this, include the code for all the additional features you want to use (e.g. a new in-app message or new spotlight) prior to releasing your app. You can add the code for these new features by instrumenting your code with code blocks (iOS | Android).


Screen views can be tracked as a View goal (which does not require additional code).

To track goals mentioned in this article including the ones listed below, you can use a custom event (iOS | Android):

  • App loads after onboarding is completed
  • Key actions
    • Expose the most popular or newest features
    • CTA design and placement (navigation)
    • Breadcrumbs, recently viewed screens, and tap logo to return to homescreen 
    • Length or level of detail in the menu
    • Position or prominence in search
    • Default sorting or filtering
    • Condensed vs. long scroll