One of the core components of the Segment Spec is the track method. It records any arbitrary event that the user has triggered. For Mobile tracking, in addition to screen calls, you’ll want to send specific event names that we recognize semantically. That way, we can transform them correctly before sending them off to downstream destinations.

By standardizing the events that comprise the core mobile application lifecycle and associated mobile campaign and referral events, Segment and our partners can, wherever possible, automatically collect and forward these events on your behalf and build downstream destinations which take full advantage of the semantic meaning associated with these events and their properties.

Note: If you’re already collecting similar events, we recommend migrating to these event names so that you can take advantage of available features in our destinations which depend on the spec as they become available.

These events pair nicely with our ecommerce spec for mobile marketplaces to take full advantage of features like dynamic ads in Facebook and the ability to take full advantage of server-side destinations with Mobile Attribution Platforms like Tune and Kochava.

The Segment Native Mobile Spec includes the following semantic events:

Note: the bolded events are currently collected automatically by the latest version of our Android and iOS SDKS.

We recommend using the above event names if you’re going to be integrating the events yourself in the meantime. We’ll be working to expand our automatic collection to include the rest of these events across our SDKs in conjunction with our destination partners over the coming weeks!

Additionally, though they’re not formally part of the Native Mobile Spec, we also collect Order Completed from our ecommerce spec automatically upon in-app purchases on iOS and can collect screen views automatically in iOS and Android as well.

Mobile applications live within a fairly bounded lifecycle. In order to understand and communicate effectively with your users, it’s crucial to instrument the core flows associated with installing and opening your app. The following events, many of which we can capture automatically in the latest versions of our SDKs, allow you to get a picture of top-line metrics like DAUs, MAUs, Screen Views per session, etc. Automatic tracking of lifecycle events comletely optional - you can learn how to enable and disable them in our Dress Selling Ya Los Casual Angeles B0YwaBqUx and Android library docs.

This event fires when a user first opens your mobile application. Note, if the user never opens your app after installing, we will not be able to collect this event. This event does not wait for attribution or campaign information to be received, and is collected automatically by our SDKs. Advertising providers like Facebook and Google require discrete install events to correctly attribute installs to ads served through their platform.

analytics.track('Application Installed', {
  version: '1.2.3',
  build: 1234
});
Property Type Description
version String The version installed.
build Number The build number of the installed app.

This event fires when a user launches or foregrounds your mobile application after the first open. It will fire after the Application Installed event and again after the app is re-opened after being closed. This event does not wait for attribution information to be received but may include information about referring applications or deep link URLs if available to the application upon open.

analytics.track('Application Opened', {
  from_background: false,
  referring_application: 'GMail',
  url: 'url://location'
});
Property Type Description
from_background Boolean If application Letter Sleeves Pattern Pop Long Basketball Pullover Hoodie with Pockets 5wIIBqn from “Background” to “Inactive” state prior to foregrounding (as opposed to from “Not Running” state)
url String The value of UIApplicationLaunchOptionsURLKey from launchOptions
referring_application String The value of UIApplicationLaunchOptionsSourceApplicationKey from launchOptions
version String The version installed.
build Number The build number of the installed app.

This event fires when a user backgrounds the application upon applicationDidEnterBackground

analytics.track('Application Backgrounded');

This event fires when a user updates the application. Our SDK will automatically collect this event in lieu of an “Application Opened” event when we determine that the Open is first since an update.

analytics.track('Application Updated', {
  previous_version: '1.1.2',
  previous_build: 1234,
  version: '1.2.0',
  build: 1456
});
Property Type Description
previous_version String The previously recorded version.
previous_build Number The previously recorded build.
version String The new version.
build Number The new build.

Fire this event when a user uninstalls the application. Several destination partners will detect this for you using Silent Push Notifications and send this event to Segment on your behalf.

analytics.track('Application Uninstalled')Shorts Shorts Boutique Nike Boutique Athletic Athletic Nike ;

This event fires when the application crashes, but is not meant to supplant traditional crash reporting tools. By tracking crashes as an analytics event with device and user information, you can analyze the which types of users are impacted by crashes and how those crashes, in turn, affect their engagement. You may also want to target those customers with tailored communications in other channels if they’ve encountered several crashes.

analytics.track('Application Crashed');

As the walls between apps become increasingly lowered, capturing information about the content and campaigns that drive users to engage with your app is critical to building more targeted, relevant, personalized experiences for your users.

When Segment or an integrated partner can discern the source of an install, we’ll collect an Install Attributed event. This event may be sent to Segment via server-to-server connection from your attribution provider, or directly on the device via packaged destinations. In either case, this will happen after install, and does not apply to all installs, which is why it is a discrete event.

analytics.track('Install Attributed', {
  provider: 'Tune/Kochava/Branch',
  campaign: {
    source: 'Network/FB/AdWords/MoPub/Source',
    name: 'Campaign Name',
    content: 'Organic Content Title',
    ad_creative: 'Red Hello World Ad',
    ad_group: 'Red Ones'
  }
});
Property Type Description
provider String The attribution provider.
campaign[source] String Campaign source — attributed ad network
campaign[name] String The name of the attributed campaign.
campaign[medium] String Identifies what type of link was used.
campaign[content] String The content of the campaign.
campaign[ad_creative] String The ad creative name.
campaign[ad_group] String The ad group name.

This event fires when a push notification is received by your mobile app. This event may be automatically collected by the iOS library if you opt in.

analytics.track('Push Notification Received', {
  campaign: {
    medium: 'Push',
    source: 'Vendor Name',
    name: 'Referral Flow',
    content: 'Your friend invited you to play a match.'
  }
});
Property Type Description
campaign[name] String Campaign Name.
campaign[medium] String Identifies what type of link was used (Push Notification).
campaign[content] String Push notification content content
campaign[source] String Designates the push provider. (Optional)

This event fires when a user taps on a push notification associated with your app. This event may be automatically collected by the iOS library if you opt in.

analytics.track('Push Notification Tapped', {
  action: 'Accept',
  campaign: {
    medium: 'Push',
    source: 'Vendor Name',
    name: 'Referral Flow',
    content: 'Your friend invited you to play a match.'
  }
});
Tee Letter Round Chinese Short Printed Sleeve Neck Chic Bq1wOFz
Property Type Description
action String If this notification is “actionable“, the custom action tapped. Default: “Open”
campaign[name] String Campaign Name.
campaign[medium] String Identifies what type of link was used (Push Notification).
campaign[content] String Push notification content content
campaign[source] String Designates the push provider. (Optional)

This event fires when a push notification from a provider bounces. If your push notification provider forwards push lifecycle events to Segment, they should include this event in their suite.

analytics.track('Push Notification Bounced', {
  action: 'Accept',
  campaign: {
    medium: 'Push',
    source: 'Vendor Name',
    name: 'Referral Flow',
    content: 'Your friend invited you to play a match.'
  }
});
Straps Spaghetti Floral Bikini Printed Holiday qnwS7xAUA
Property Type Description
action String If this notification is “actionable“, the custom action tapped. Default: “Open”
campaign[name] String Campaign Name.
campaign[medium] String Identifies what type of link was used (Push Notification).
campaign[content] String Push notification content content
campaign[source] String Designates the push provider. (Optional)

This event may be provided by deep link providers or an internal redirect service if you use one in order to provide a waypoint funnel step between your content or advertisement and the resulting app open. This event may be automatically collected by the iOS library if you opt in.

analytics.track('Deep Link Clicked', {
  provider: 'Branch Metrics',
  url: 'brnch.io/1234'
});
Block Long New Print Color Sleeve Hoodie Leisure Fashion EWWqz6w4
Property Type Description
provider String The deep link provider.
url String The deep link URL clicked.

When your application is opened via a referring link, Segment or your packaged deep link partner will fire this event on your behalf. If the deep link has additional data associated with it, either passed through the third party service or as annotations in launchOption, you may want to include those values as properties here as well. This event is fired in addition to the associated App Opened event.

analytics.track('Deep Link Opened', Boutique Nike Nike Shorts Shorts Boutique Athletic Athletic {
  provider: 'Branch Metrics',
  url: 'app://landing'
});
Property Type Description
provider String The deep link provider.
url String The App URL opened.

If you have any questions or see anywhere we can improve our documentation, please let us know or kick off a conversation in the Segment Community!

Boutique Nike Boutique Shorts Athletic Nike Shorts Athletic Bq5twy Boutique Nike Boutique Shorts Athletic Nike Shorts Athletic Bq5twy
Materials 100% Polyester