Experiment Goals

Define experiment goals to measure virtually anything

Creating experiments is great, but you came here for results. For every app, that means something different. Whether your goal is to get more users, increase revenue, or something completely different, Taplytics has you covered. 

This section shows you how to set up powerful goals for your experiments and measure everything from push notifications to your own custom events. What's even better, we'll show you how to track most things without having to touch any code. 

First things first, if you don't have an experiment set up, go take a look at how to configure a Visual Experiment or Code Experiment.

Unique vs Aggregate Goals

For most goals, Taplytics allows you to set how you would like the results of each goal to be counted, either unique by app session or aggregate. 

Unique counting will only count one conversion for each device session. For example, if you have a "View Appeared" goal on a specific view in your app, even if the user visits that view multiple times, only one conversion event will be counted for that goal in an app session. 

Aggregate counting totals all conversion events that occur for each goal regardless of session.

Goal Types

Taplytics gives you the power to measure almost anything happening in your app and you can track as many goal types as you would like. Let's get started!

  1. Code Event Goal
  2. Button Click Goal
  3. Time On View Goal
  4. View Appeared Goal
  5. Social Sharing Goal
  6. Location Access Goal
  7. Photo Library Access Goal
  1. Code Event Goal

    Code Event Goals will track any event that is logged to Taplytics using the iOS or Android SDK. Enter the event name or use the auto-filled dropdown to select the event name:


    Logging events to the Taplytics iOS SDK:

    // Logging "alertShown" Event
    [Taplytics logEvent:@"alertShown"];
    // or log an event with a value and/or metaData
    [Taplytics logEvent:@"alertShown" value:@15.0 metaData:@{@"type":@"goldCoin"}];

    Logging events to the Taplytics Android SDK:

    // Logging "alertShown" Event
    Taplytics.logEvent("alertShown");
    // Or log the event with a value and/or metaData
    JSONObject metData = new JSONObject();
    metaData.put("accountType", "proUser");
    Taplytics.logEvent("alertShown", 15.0, metaData);


    Other analytics sources

    The Taplytics iOS SDK also supports using events tracked by other Analytics SDKs that may already be in your app. Supported Analytics sources include Google AnalyticsFlurryMixpanelIntercomAdobeLocalyticsParse, and Apsalar. Events must be logged in the following formats in order to be tracked by the Taplytics iOS SDK.

    • Google Analytics
      [[[GAI sharedInstance] defaultTracker] set:@"event" value:@"eventValue"];
      // or
      [[[GAI sharedInstance] defaultTracker] send:eventParameters];

    • Flurry
      [Flurry logEvent:@"event"];
      // or event with parameters
      [Flurry logEvent:@"event" withParameters:@{@"paramKey":@"paramValue"}];
      // or a timed event
      [Flurry logEvent:@"event" timed:YES];
      // or a timed event with parameters
      [Flurry logEvent:@"event" withParameters:@{@"paramKey":@"paramValue"} timed:YES];

    • Mixpanel
      [[Mixpanel sharedInstance] track:@"event"];
      // or event with properties
      [[Mixpanel sharedInstance] track:@"event" properties:@{@"paramKey":@"paramValue"}];

    • Intercom
      [Intercom logEventWithName:@"event"];
      // or event with meta data
      [Intercom logEventWithName:@"event" optionalMetaData:@{@"paramKey":@"paramValue"}];

    • Adobe
      [ADBMobile trackAction:@"event" data:@{@"paramKey":@"paramValue"}];
      // or an action from background
      [ADBMobile trackActionFromBackground:@"event" data:@{@"paramKey":@"paramValue"}];
      // or track a state
      [ADBMobile trackState:@"event" data:@{@"paramKey":@"paramValue"}];

    • Localytics
      [[LocalyticsSession shared] tagEvent:@"event"];
      // or event with dimensions
      [[LocalyticsSession shared] tagEvent:@"event" attributes:@{@"paramKey":@"paramValue"}];

    • Parse
      [PFAnalytics trackEvent:@"event"];
      // or event with dimensions
      [PFAnalytics trackEvent:@"event" dimensions:@{@"paramKey":@"paramValue"}];

    • Apsalar
      [Apsalar event:@"event"];
      // or event with Args
      [Apsalar event:@"event" withArgs:@{@"paramKey":@"paramValue"}];

  2. Button Click Goal

    A "Button Click Goal" tracks every time that a specific button on your app's interface is clicked. Buttons are selected using the same method as elements in the visual editor.


  3. Time On View Goal

    The "Time On View Goal" tracks the average time a user spends on a specific view of your app across your different experiment variations. This goal is useful for tracking user engagement on important views of your app. The view is connected by navigating to the view on your device and then clicking the "Choose View On Device" button.


  4. View Appeared Goal

    A "View Appeared Goal" tracks the number of times a view is seen across your variations. This goal will help you track how far a user reaches into your view hierarchy depending on changes you make to your app.


  5. Social Sharing Goal

    A "Social Sharing Goal" lets you track when social sharing screens are used or canceled across all built-in iOS social services including: Facebook, Twitter, Sina Weibo, and Tencent Weibo.



  6. Location Access Goal

    A "Location Access Goal" tracks when an iOS location access alert is shown to your users and what their success/decline rate is.



  7. Photo Library Access Goal

    A "Photo Library Access Goal" tracks when you request iOS photo library access from your users and their success/decline rate.