Events & Funnels

Events are any user activity within an app that is tracked through Apptimize or your analytics provider, and automatically import into the Apptimize dashboard.

A Goal is an experiment-specific metric, and is composed of either a single event or a series of events combined into a funnel. Goals are unique to each experiment, but events and funnels are created on the app level, and can be used as Goals across multiple experiments. See Details & Goals for more information on selecting goals for a specific experiment.

If you aren’t using a third party analytics provider to track your events, you can create and track events through Apptimize.

This guide details how to:

Apptimize Events: Visual

Visual events can be created by pairing your app with the Events dashboard, and selecting visual elements on your app’s page to track. Visual elements can either track button clicks or page views. To create a Visual Event, simply name the event and select the element through the visual apptimizer. Once the event has been created, it will automatically be added to the Events list.

../_images/Visual-Events.png

Apptimize Events: Programmatic

Programmatic Events can be instrumented by integrating a code snippet into your app’s codebase. We can track anything you want including actions with values. Examples of events you could track include purchases being made, login events, and Facebook shares. If there is a numeric value associated with this event that you’d like to track and view at apptimize.com, provide it as the input parameter value. For example, if the event is a purchase, the value might be the price. To create a Programmatic Event, simply name the event in the Apptimize dashboard and we will generate a short code snippet for you to embed into your app:

[Apptimize track:@"event name"];
[Apptimize track:@"event name" value:<double value>];

Analytics Auto-Import

If your app currently uses Amplitude, Flurry, Google Analytics, Localytics, Mixpanel or Omniture, congratulations; all of your analytics events will automatically show up in your Apptimize dashboard. If you use another analytics provider that we don’t support right now, please contact us.

To import your analytics events, simply launch your first experiment. As soon as your users interact with the app we will automatically detect all of your analytics events import them. You can also see your list of events and use them to create funnels under the “Manage” tab. You can also view these imported events on your Result and Goals pages – just click “Create Goal” and you’ll see a dropdown option for each of your analytics providers.

../_images/Goals-Modal.png

Note: Imported events will appear in your list prefixed by where they came *from. For example, Google Analytic events begin with “ga” and Mixpanel events *begin with “mp”. Imported events will display similar to Apptimize events *showing participants, conversions and hit count.

Funnels

To measure Goals with multiple events, you can create a Funnel. Funnels track a series of events that users can take, such as completing an onboarding flow, or completing a checkout flow. To create a Funnel, select “Create a new Funnel” under the Manage tab, and drag and drop your existing Events on the left into the Funnel Events on the right. Once the Funnel events have been added, you can drag and rearrange the order of the events as necessary.

../_images/Create-Funnel.png

Goal Bundles

Do you have a list of general product metrics to track for every experiment? Do you want to effortlessly add a similar list of goals to every onboarding experiment? If so, Goal Bundles is the perfect tool for you. Bundles are lists of goals that you can add to any experiment with one click. To create a bundle, select “Bundle Events” in the Manage -> Goals tab. Similar to Funnels, you can drag and drop the desired goals into the bundle. Bundles can contain events and funnels at the same time, but not other bundles.

../_images/Bundles-Manage-Goals.jpeg

Once you create a Goal Bundle, it will appear in the top section of the Add Goal modal. You can add the entire bundle of goals clicking “Add all”, or any of the individual goals inside the bundle clicking “Add”. After you’ve added a bundle of goals to your experiment, you can edit or delete the bundle without affecting results calculation or your results dashboard.

../_images/Bundles-Add-Bundles.jpeg

Integrate Events With Values to Apptimize

Apptimize currently support events with one value attribute. There are 3 ways to get events with values to Apptimize:

  1. Apptimize SDK method: trackEvent + value
  2. Localytics SDK method: tagEvent + customerValueIncrease
  3. Amplitude SDK method: logRevenue

To directly send Apptimize events with value data, add code like this to your application:

iOS
[Apptimize track:@"event-name" value:123.12];
Android
Apptimize.track("event-name", 123.12);

To send Apptimize events with value data via Amplitude, add code like this to your application:

iOS
[[Amplitude instance] logRevenue:"com.product.id" quantity:1 price:@123.12 receipt:nil];
Android
Amplitude.getInstance().logRevenue("com.product.id", 1, 123.12, "", "");

Note: the newer LogRevenueV2 amplitude methods will be imported to Apptimize as events but the value data will not be available for results beyond conversion metrics.

To send Apptimize events with value data via Localytics, add code like this to your application. The customerValueIncrease value will be used in Apptimize for results beyond conversion metrics.

iOS:

iOS
[Localytics tagEvent:@"Item Purchased"
  attributes:@{@"Item Name" : @"Stickers", @"Aisle" : @"Knick-Knacks"}
  customerValueIncrease:@499];
Android
Map<String, String> values = new HashMap<String, String>();
values.put("Item name", "Stickers");
values.put("Aisle", "Knick-Knacks");
Localytics.tagEvent("Item Purchased", values, 499);

Note: Apptimize does not automatically import any of the other Localytics tag* methods such as tagPurchased.

When analyzing values per user or values per occurrence, Apptimize ignores events that were sent in with empty values. This is because certain events that are supposed to have values may be triggered with empty values by accident. For instance, when Appstore purchase confirmation is delayed, the tracking event sent in at the time may have empty values. Apptimize ignores these empty values to avoid skewing the data