Analytics event reference

Internal events for Adobe Analytics

The Adobe Experience Platform SDKs also track some internal events that are based on the communication with other extensions in addition to the Analytics hits that are sent as a result of the track call.
Adobe Analytics events are supported in the following extensions:
  • Lifecycle
  • Identity
  • Messages
  • Target

Lifecycle extension

The following Adobe Analytics events are supported 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. The application version upgrades are also tracked.

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

The SessionInfo contains information about the previously launched 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 opts 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

The following events are handled by the Adobe Analytics extension:

Generic track content request

This event is a request to complete processing on the Analytics hits queue. The event will be created when either of the trackAction or trackState APIs is called.
The Analytics extension receives and processes the following keys in a generic track content request event:
  • action - action name to attribute to the Analytics request being processed.
  • state - state name (page name) to attribute to the Analytics request being processed.
  • contextdata - key-value pairs that add context to the Analytics request being processed.
The above keys are optional, but at least one key is required for the hit to be processed.

Event details

Event type
Event source
Paired
com.adobe.eventType.generic.track
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
Bool
Yes
Bool indicating whether this is an internal Analytics hit that is generated by the SDK. Default value is false.

Event data examples

Track request
The following code sample shows an example of event data for a track request:
1
{
2
"action": "clicked add button",
3
"state": "cart page",
4
"contextdata": {
5
"key1": "value1",
6
"key2": "value2"
7
},
8
"trackinternal": false
9
}
Copied!

Analytics content request

An Analytics content request is a request to complete processing on the Analytics hits queue and can be used in one of the following situations:
  • When a request is received to send the Analytics hits in the queue, regardless of the batching settings.
  • When a request is received to clear all unsent Analytics hits from the queue.
  • When a request is received to 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:
  • 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.
This event is generated by calling one of the following Analytics APIs:

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 elements:
Key
Value type
Optional
Description
forcekick
Boolean
Yes
Boolean indicating whether this is a request for sending all Analytics hits.
clearhitsqueue
Boolean
Yes
Boolean indicating whether this is a clear hits queue event.
getqueuesize
Boolean
Yes
Boolean indicating whether this is a request for getting current number of queued hits.

Event data examples

The following examples show how to use the event data:
Send all Analytics hits request
1
{
2
"forcekick": true
3
}
Copied!
Clear all the Analytics hits request
1
{
2
"clearhitsqueue": true
3
}
Copied!
Get queue size request
1
{
2
"getqueuesize": true
3
}
Copied!

Analytics request identity

The Analytics request identity 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 the event received is nil, creates a sync network request to the Analytics server to retrieve the AID.
  • Dispatches an Analytics Identity Response Event with the AID and VID value.

Data payload definition

No keys are 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 Data payload definition section for each extension.

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. By default, this value 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 organization ID.
global.privacy
String
Yes
Contains the mobile privacy status settings.

Event data example

1
{
2
"experienceCloud.org": "[email protected]",
3
"analytics.rsids": "mobilesamplersid",
4
"analytics.server": "serversample.sc.omtrdc.net",
5
"analytics.aamForwardingEnabled": false,
6
"analytics.offlineEnabled": true,
7
"analytics.batchLimit": 0,
8
"global.privacy": "optedin",
9
"lifecycle.sessionTimeout": 300,
10
"lifecycle.backdateSessionInfo": false
11
}
Copied!

Acquisition referrer information response

The Acquisition referrer information response is generated by the Acquisition extension after the request event for the referrer information is received by the extension. This 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

The payload definition is comprised of the following element:
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.
The following lists the standard key-value pairs that are defined in the SDK:
  • campaign
  • source
  • medium
  • term
  • content
  • trackingCode
  • contextData
  • adobeData
Note that the data may contain other custom key-value pairs that are not defined in the standard.
All of the key-value pairs listed above are optional.

Sample event payload

1
{
2
"contextdata": {
3
"campaign": "testCampaign",
4
"source": "sampleSource",
5
"contextData": {
6
"contextDatakey": "contextDataValue"
7
},
8
"adobeData": {
9
"adobeDataKey": "adobeDataValue"
10
},
11
"mycustomkey": "mycustomValue"
12
}
13
}
Copied!

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 or lifecyclePause() are used.
The Analytics extension only listens for the Lifecycle start event, and the Analytics database queue should be paused for up to 1000 milliseconds, which is the default value for DEFAULT_LIFECYCLE_RESPONSE_WAIT_TIMEOUT.

Event details

Event type
Event source
Paired
com.adobe.eventType.lifecycle
com.adobe.eventSource.requestContent
No

Data payload definition

The payload definition is composed of hte following elements:
Key
Value type
Optional
Description
type
String
No
Can be one of these values: Start, Stop, or Pause
contextdata
Map
Yes
Map that contains the user-supplied context data.
1
{
2
"type": "start",
3
"contextData": {
4
"contextDataKey": "contextDataValue"
5
}
6
}
Copied!

Lifecycle response

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

The payload definition is composed of the following elements:
Key
Value type
Optional
Description
lifecyclecontextdata
Map
No
starttimestampmillis
Long
No
previoussessionpausetimestampmillis
Long
No
maxsessionlength
Long
No
1
{
2
"lifecyclecontextdata": {
3
"installdate": "22/05/2014",
4
"hourofday": 6,
5
"dayofweek": 2,
6
"osversion": "iOS 12.3",
7
"appID": "contextDataValue",
8
"resolution": "600x1345",
9
"devicename": "iPhoneX",
10
"launchevent": "LaunchEvent",
11
"prevsessionlength": 345,
12
"locale": "en-US",
13
"runmode": "Application",
14
"launches": 42
15
},
16
"starttimestampmillis": 44,
17
"maxsessionlength": 22
18
}
Copied!

Install event

After Lifecycle is enabled, the SDK tracks the application install details, which includes the install date and the daily engaged/monthly engaged user badges.
1
{
2
"lifecyclecontextdata": {
3
"installevent": "InstallEvent",
4
"dailyenguserevent": "DailyEngUserEvent",
5
"monthlyenguserevent": "MonthlyEngUserEvent",
6
"installdate": "22/05/2014"
7
}
8
}
Copied!

Launch event

After Lifecycle is enabled, the SDK tracks every new launch of the application.
A launch is considered new when either of 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 are also tracked.
1
{
2
"lifecyclecontextdata": {
3
"launchevent": "LaunchEvent",
4
"dailyenguserevent": "DailyEngUserEvent",
5
"monthlyenguserevent": "MonthlyEngUserEvent",
6
"installdate": "22/05/2014",
7
"launches": 42,
8
"dayssincelastuse": 4,
9
"dayssincefirstuse": 28
10
}
11
}
Copied!

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, please read the backdate previous session info tutorial. If the flag is not enabled, the information is sent as part of the launch event.
1
{
2
"lifecyclecontextdata": {
3
"crashevent": "CrashEvent",
4
"launchevent": "LaunchEvent",
5
"dailyenguserevent": "DailyEngUserEvent",
6
"monthlyenguserevent": "MonthlyEngUserEvent",
7
"installdate": "22/05/2014",
8
"launches": 42,
9
"dayssincelastuse": 4,
10
"dayssincefirstuse": 28
11
}
12
}
Copied!

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 Analytics

The following events are dispatched by the Analytics extension:

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 is generated in the following situations:
  • If the 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

The payload definition is composed of the following elements:
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

The following examples show how event data is used by the Analytics response content:
Forwarding the Analytics server response
1
{
2
"analyticsserverresponse": "example response to be forwarded",
3
"hitHost": "the sever for the analytics hit",
4
"hitUrl": "the url for the analytics hit"
5
}
Copied!
Analytics queue size
1
{
2
"queuesize": 42
3
}
Copied!

Analytics response identity

This event is a response from the Analytics extension that contains the unique tracking identifier. This value may 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.

Event details

Event Type
Event Source
Paired
Paired Event
com.adobe.eventType.analytics
com.adobe.eventSource.responseIdentity
Yes

Data payload definition

The payload definition is composed of the following elements:
Key
Value Type
Optional
Description
aid
String
No
The Analytics tracking identifier value.
vid
String
Yes
The custom visitor identifier value.

Event data example

1
{
2
"aid" : "aidValue", "vid": "vidValue"
3
}
Copied!
Last modified 3mo ago