Timed Events
Learn how to track the duration of events.
Supported Platforms
The following platforms support timed events:
How It Works
A timed event measures the duration of an event or the time between two events and is set with automatic or manual triggers. When a timed event is complete it sends an event named timed_event
to Tealium EventStream with the name of the timed event and the timing details.
Use automatic triggers to measure the duration between Tealium events that are already tracked in your app. A timed event is triggered automatically when the specified start event occurs and stops when the specified stop event occurs.
Use manual triggers to measure the duration between events that are not tracked by Tealium or that involve a complex sequence of events. A timed event is triggered manually by starting and stopping the timed event in the app code based on your custom logic.
Each timed event has a name that is set to the event attribute timed_event_name
. An event name may be reused after the timed event has ended, but multiple concurrent timed events may not use the same name.
Timed events are not persistent and are discarded if the app terminates before the event ends.
Learn how to use timed events for:
Automatic Triggers
To track a timed event with an automatic trigger, specify the start and stop Tealium event names. These events must already be tracked in your app. The name of an automatic timed event is generated by joining the start and stop event names with two colons (::
). For example, when you set an automatic trigger to track the duration between the cart_add
event and the purchase
event, the event attribute timed_event_name
is set to cart_add::purchase
.
val config = TealiumConfig(…).apply {
timedEventTriggers = mutableListOf(EventTrigger.forEventName(
"cart_add",
"purchase"))
}
let config = TealiumConfig(...)
config.timedEventTriggers = [TimedEventTrigger(
start: "cart_add",
stop: "purchase")]
The resulting timed event from an automatic trigger:
{
"tealium_event": "timed_event",
"timed_event_name": "cart_add::purchase",
"timed_event_start": "1605645967299",
"timed_event_end": "1605645968401",
"timed_event_duration": "1102"
}
Manual Triggers
To track a timed event with a manual trigger, specify a name for the timed event then start and stop the timed event manually in your app code. For example, to manually track the time a user spends viewing a product, start the timed event when the product screen is loaded, then stop the timed event when the user leaves the product screen. The name you use for the timed event is set to the value of the event attribute timed_event_name
.
Start a timed event manually:
tealium.startTimedEvent(name: "TimeSpentViewingProduct")
Stop a timed event manually:
tealium.stopTimedEvent(name: "TimeSpentViewingProduct")
The resulting timed event from a manual trigger:
{
"tealium_event": "timed_event",
"timed_event_name": "TimeSpentViewingProduct",
"timed_event_start": "1605645967299",
"timed_event_end": "1605645968401",
"timed_event_duration": "1102"
}
Data Layer
Timed events are tracked with the event name timed_event
and the following attributes:
Attribute Name | Data Type | Value |
---|---|---|
tealium_event |
String |
"timed_event" |
timed_event_name |
String |
The name of the timed event (defaults to "start_event_name::stop_event_name" for automatic triggers) |
timed_event_start |
String |
Timed event start time (UNIX time in milliseconds) |
timed_event_end |
String |
Timed event end time (UNIX time in milliseconds) |
timed_event_duration |
String |
Duration of the timed event (total milliseconds: timed_event_end - timed_event_start ) |
The following is an example of a timed event:
{
"tealium_event": "timed_event",
"timed_event_name": "cart_add::purchase",
"timed_event_start": "1605645967299",
"timed_event_end": "1605645968401",
"timed_event_duration": "1102"
}
This page was last updated: January 7, 2023