Analytics event reference

Internal events for Adobe Analytics

In addition to the Analytics hits that are sent as a result of the track call, the Adobe Experience Platform SDKs also track some internal events that are based on the communication with other extensions.

Here is a list of the events by extension:

Lifecycle extension

Here are the Analytics events in the Lifecycle extension:

Install event

The SDK tracks the application install details when lifecycle is enabled. These details include the install date and the daily engaged/monthly engaged user badges.

Launch event

The SDK tracks every new launch of the application when lifecycle is enabled.

A launch is considered to be new when the following conditions are met:

  • The application is reopened from the background after the configured session timeout.

  • The application is opened after a force close.

Launch data includes information about the application's number of launches, days since first run, days since last use, user daily/monthly engaged badges, and other lifecycle metrics.

We also track the application version upgrades.

Crash event

If your application is terminated without having first been backgrounded, the SDK reports a crash the next time your app is launched. If the backdateSessionInfo flag is enabled in your configuration, this crash is sent as an individual hit. If the flag is not enabled, the crash is sent as part of the launch event.

SessionInfo

This hit contains information about the previous launch session, such as the session length.

This information is sent as an individual hit if the backdateSessionInfo flag is enabled in your configuration. If the flag is not enabled, the information is sent as part of the launch event.

Identity extension

The following Analytics event is triggered when the Identity extension is enabled:

Push

The SDK tracks changes in the user's push notifications preference, and a new hit is sent after the user opts in or out for push notifications.

Messages extension

The following Analytics event is triggered when the Messages extension is enabled:

In-App message

The SDK tracks the following metrics for your in-app messages:

  • For Full Screen and Alert style in-app messages:

    • Impressions: when user triggers an in-app message.

    • Click throughs: when user presses the Click-through button.

    • Cancels: when user presses the Cancel button.

  • For local (remote) notifications:

    • Impressions: when user triggers the notification.

    • Opens: when user opens app from the notification. This will be tracked with the trackAdobeDeepLink method.

Target extension

The Analytics event in the Target extension is AnalyticsForTarget. The SDK forwards Target's data to Analytics when A4T is enabled in Target Services.

Events handled by Analytics

Analytics content request

This event is a request to complete processing on the Analytics hits queue and can be used in one of the following situations:

  • When a new Analytics hit is sent to the server.

  • When all the Analytics hits are sent, regardless of the batching settings.

  • When all the Analytics hits that are queued are cleared but are not yet sent.

  • When you get the current number of Analytics hits in the queue.

The Analytics extension receives this event with the following keys, and the extension processes the keys:

  • action/state - gets the Analytics request data and processes the hit.

  • clearhitsqueue - clears the Analytics hit database.

  • forcekick - sends all the hits in database.

  • getqueuesize - retrieves the current number of queued hits in the database. This is a paired event that is associated with a response callback.

Tip: The keys are optional, but there should be at least one key specified at a time (action/state/context data) for the hit to be processed.

This event is generated by:

Event details

Event Type

Event Source

Paired

com.adobe.eventType.analytics

com.adobe.eventSource.requestContent

No

Data payload definition

The payload definition is composed of the following:

Key

Value Type

Optional

Description

action

String

Yes

The action name value.

state

String

Yes

The state name value.

contextdata

Map<String, String>

Yes

The additional context data parameters.

trackinternal

Boot

Yes

Bool indicating whether this is an internal Analytics hit that is generated by the SDK.

forcekick

Bool

Yes

Bool indicating whether this is a request for sending all Analytics hits.

clearhitsqueue

Bool

Yes

Bool indicating whether this is a clear hits queue event.

getqueuesize

Bool

Yes

Bool indicating whether this is a request for getting current number of queued hits.

Event data examples

Track request

Here is an example of event data for a track request:

{
"action": "clicked add button",
"state": "cart page",
"contextdata": {
"key1": "value1",
"key2": "value2"
},
"trackinternal": false
}

Event data example

Send all Analytics hits request

{
"forcekick": true
}

Event data example

Clear all the Analytics hits request

{
"clearhitsqueue": true
}

Event data example

Get queue size request

{
"getqueuesize": true
}

Analytics request identity

This event is responsible for fetching the Analytics tracking identifier (AID) and custom visitor identifier (VID) from the Analytics extension and is generated in the Analytics getTrackingIdentifier and getCustomVisitorIdentifier calls.

After the Analytics identity request event is received, the Analytics extension completes one of the following tasks:

  • Checks the persistence for the saved AID and VID.

  • If nil, creates a sync network request to the Analytic server to retrieve the AID.

  • Dispatches an Analytics Identity Response Event with the AID and VID value.

Data payload definition

No key is required for the Analytics request event.

Event details

Event Type

Event Source

Paired

com.adobe.eventType.analytics

com.adobe.eventSource.requestIdentity

Yes

Configuration response content

The data property in this event is used by each extension to modify its current settings. Each extension is responsible for reading the part of the data property in which it is concerned.

This event will be generated in the following scenarios:

  • Initial config requested by the customer.

  • Configuration modified (remote update or local developer action).

  • In response to a configuration request event with the config.getData data key.

For more information about the data payload definition for this event, see the Configuration Keys topics in each extension section.

Data payload definition

The Analytics extension will read the following keys from the configuration event:

Key

Value Type

Optional

Description

analytics.server

String

No

The Analytics server

analytics.rsids

String

No

The Analytics report suites separated by commas.

analytics.batchLimit

Int

Yes

The hit batching settings, and the default is 0.

analytics.aamForwardingEnabled

Bool

Yes

Indicates whether Audience Manager forwarding is enabled. By default, this option is disabled.

analytics.offlineEnabled

Bool

Yes

Indicates whether Analytics offline batching is enabled. By default, this option is disabled.

lifecycle.backdateSessionInfo

Bool

Yes

Indicates whether Analytics should backdate the lifecycle SessionInfo hit. This flag is used when analytics.offlineEnabled is also enabled. By default, this option is disabled.

analytics.referrerTimeout

Int

Yes

Indicates the number of seconds that the SDK will wait for referrer information to arrive. By default, this value is 0.

experienceCloud.org

String

No

The Experience cloud org ID.

global.privacy

String

Yes

Contains the mobile privacy status settings.

Event data example

{
"experienceCloud.org": "3CE342C75100435B0A490D4C@AdobeOrg",
"analytics.rsids": "mobilesamplersid",
"analytics.server": "obumobile1.sc.omtrdc.net",
"analytics.aamForwardingEnabled": false,
"analytics.offlineEnabled": true,
"analytics.batchLimit": 0,
"global.ssl": false,
"global.privacy": "optedin",
"global.timezone": "PDT",
"global.timezoneOffset": -420,
"lifecycle.sessionTimeout": 300,
"lifecycle.backdateSessionInfo": false
}

Acquisition referrer information response

This event is the response from the Acquisition extension for the referrer information request event. The event is generated by the Acquisition extension after the request event for the referrer information is received by the extension, and the information is retrieved by the extension. Analytics listens to the referrer information and creates a analytics hit with data from the install lifecycle event.

Event details

Event Type

Event Source

Paired

com.adobe.eventType.acquisition

com.adobe.eventSource.responseContent

No

Data payload definition

Here are the key-value pairs in this event:

Key

Value Type

Optional

Description

contextdata

Map

No

The data value contains the key-value pairs that define the referrer information that is collected by the Acquisition extension.

Here are the standard key-value pairs that are defined in the SDK:

  • campaign

  • source

  • medium

  • term

  • content

  • trackingCode

  • contextData

  • adobeData

The data might contain other custom key-value pairs that are not defined as standard.

All of the key-value pairs are optional.

Sample event payload

{
"contextdata": {
"campaign": "testCampaign",
"source": "sampleSource",
"contextData": {
"contextDatakey": "contextDataValue"
},
"adobeData": {
"adobeDataKey": "adobeDataValue"
},
"mycustomkey": "mycustomValue"
}
}

Lifecycle request content

This event represents a request to the Lifecycle extension to start or stop collecting data and is generated when lifecycleStart() with null context data, lifecycleStart() with contextData and lifecyclePause() are used.

The Analytics extension listens only to the Lifecycle Start Event, and the Analytics database queue should be paused for up to DEFAULT_LIFECYCLE_RESPONSE_WAIT_TIMEOUT which is 1000 \(ms\)to wait for the corresponding response content event.

Event details

Event Type

Event Source

Paired

com.adobe.eventType.lifecycle

com.adobe.eventSource.requestContent

No

Data payload definition

Key

Value Type

Optional

Description

type

String

No

Has one of these values: Start|Stop|Pause

contextdata

Map

Yes

Map containing the user supplied context data.

{
"type": "start",
"contextData": {
"contextDataKey": "contextDataValue"
}
}

Lifecycle response content

This event is a response from the Lifecycle extension to notify a client/extension about lifecycle context data in which the extension/client might be interested. The event is generated by the Lifecycle extension, and the API is called after a lifecycle start, stop, or pause.

The Analytics extension waits for the lifecycle data and appends it to an exiting hit. Otherwise, a new hit is sent for lifecycle data, and the lifecycle timer is cancelled to mark that the lifecycle data has been received and processed. If the backdate session option is enabled, use the timestamp of the last session as the timestamp of the current Analytics request and insert the data to the Analytics queue before another request is received in the current session.

Event details

Event Type

Event Source

Paired

com.adobe.eventType.lifecycle

com.adobe.eventSource.responseContent

No

Data payload definition

Key

Value Type

Optional

Description

lifecyclecontextdata

Map

No

.

starttimestampmillis

Long

No

previoussessionpausetimestampmillis

Long

No

maxsessionlength

Long

No

{
"lifecyclecontextdata": {
"installdate": "22/05/2014",
"hourofday": 6,
"dayofweek": 2,
"osversion": "iOS 12.3",
"appID": "contextDataValue",
"resolution": "600x1345",
"devicename": "iPhoneX",
"launchevent": "LaunchEvent",
"prevsessionlength": 345,
"locale": "en-US",
"runmode": "Application",
"launches": 42
},
"starttimestampmillis": 44,
"maxsessionlength": 22
}

Install event

After lifecycle is enabled, the SDK tracks the application install details., which include the install date and the daily engaged/monthly engaged user badges.

{
"lifecyclecontextdata": {
"installevent": "InstallEvent",
"dailyenguserevent": "DailyEngUserEvent",
"monthlyenguserevent": "MonthlyEngUserEvent",
"installdate": "22/05/2014"
}
}

Launch event

After lifecycle is enabled, the SDK tracks every new launch of the application.

A launch is considered to be new when the following conditions are met:

  • The application is reopened from the background after the configured session timeout.

  • The application is opened after a force close.

Launch data includes information about the application's number of launches, days since first run, days since last use, user daily/monthly engaged badges, and other lifecycle metrics. Application version upgrades is also tracked.

{
"lifecyclecontextdata": {
"launchevent": "LaunchEvent",
"dailyenguserevent": "DailyEngUserEvent",
"monthlyenguserevent": "MonthlyEngUserEvent",
"installdate": "22/05/2014",
"launches": 42,
"dayssincelastuse": 4,
"dayssincefirstuse": 28
}
}

Crash event

If your application is terminated without having first been backgrounded, the SDK reports a crash the next time your app is launched. If the backdateSessionInfo flag is enabled in your configuration, this information is sent as an individual hit, for more information see Backdate previous session info. If the flag is not enabled, the information is sent as part of the launch event.

{
"lifecyclecontextdata": {
"crashevent": "CrashEvent",
"launchevent": "LaunchEvent",
"dailyenguserevent": "DailyEngUserEvent",
"monthlyenguserevent": "MonthlyEngUserEvent",
"installdate": "22/05/2014",
"launches": 42,
"dayssincelastuse": 4,
"dayssincefirstuse": 28
}
}

SessionInfo

This hit contains information, such as the session length, about the previous launch session. If the backdateSessionInfo flag is enabled in your configuration, this information is sent as an individual hit. If the flag is not enabled, the information sent as part of the launch event.

Events dispatched by Adobe Analytics

Analytics response content

This event is a response from the Analytics extension to notify the result of the track calls or to return the analytics hits queue size.

This event will be generated in the following situations:

  • If Analytics server returns a response content, the Analytics extension after the com.adobe.eventSource.requestContent is processed, and the hit is sent to the server.

  • The Analytics extension as a response for the GetQueueSize API requests.

Event details

Event Type

Event Source

Paired

com.adobe.eventType.analytics

com.adobe.eventSource.responseContent

No

Data payload definition

Here is the definition of the key-value pairs in this event:

Key

Value Type

Optional

Description

analyticsserverresponse

String

Yes

The Analytics server response that is used for forwarding by the Audience Manager extension.

queuesize

Long

Yes

The Analytics queue size value.

hitHost

String

Yes

The Analytics host that was used for the Analytics hit.

hitUrl

String

Yes

The Analytics url that was used for the Analytics hit.

Event data example

Forwarding the Analytics server response

{ "analyticsserverresponse": "example response to be forwarded",
"hitHost": "the sever for the analytics hit",
"hitUrl": "the url for the analytics hit"}

Event data example

Analytics queue size

{
"queuesize": 42
}

Analytics response identity

This event is a response from the Analytics extension that contains the unique tracking identifier. This value might be null if the Identity extension is enabled, and a valid MID was generated. This event is generated as a paired response for the getTrackingIdentifier and getCustomVisitorIdentifier APIs that create an com.adobe.eventType.analytics event type and a com.adobe.eventSource.requestIdentity event source.

Event Details

Event Type

Event Source

Paired

Paired Event

com.adobe.eventType.analytics

com.adobe.eventSource.responseIdentity

Yes

Analytics Request Identity

Data payload definition

Here is the definition of the key-value pairs in this event:

Key

Value Type

Optional

Description

aid

String

No

The Analytics tracking identifier value.

vid

String

Yes

The custom visitor identifier value.

Event data example

{
"aid" : "aidValue", "vid": "vidValue"
}