By default, Tealeaf events and event-related objects, such as dimensions, are recorded as soon as they occur. This immediate responsiveness ensures that event activity and contextual data are captured as a snapshot of the current state of the session or application.
Note: The only events that are configured for goal-based dimensions are cxOverstat events. No other events can be configured as goal-based dimension events.
Goal-based dimensions enable reporting to be segmented based on factors that occur after the actual event occurrence. For example, you might want to track the count of users who trigger a search on your web application and who failed to complete a purchase transaction. Because it is not possible to evaluate this failure event until all the hits of the session are processed, you must delay the tabulation of the other event, which tracks search + failed to complete, until the end of the session. In this manner, you can define current events to measure the effectiveness of business goals in the session.
With Goal-based dimensions, events fire when they occur, yet the data is not published until the end of the session so that all required data to properly evaluate the event is tabulated. Events that are configured to be evaluated at the end of the session are not published until that time. At the end of the session, the last known value for each dimension is back-populated to the event occurrences earlier in the session.
For example, the event that identifies when a user goes to the shopping cart occurs on hit 6, yet there are references to dimensional data populated by this event earlier in the session, on hits 2 and 4.
You can configure the event to properly capture the event on hit 6 and then to apply the dimensional values backward in the session.
For example, the Went to Cart
event fires on hit 6 and the Shopping
Cart
report group that fires on hits 2 and 4 include a YES
value for the Went to Cart
dimension. The populating event is not yet fired at the time of the recording of the report group on the earlier hits.
Note: Because the data is not populated until the end of the session, Goal-based dimensions and events are not searchable and reportable until after the end of the session, if they are configured to be searchable and reportable in the event definition.
A goal-based dimension event can fire multiple times in a session. An event that is configured to fire on the End of Session
trigger occurs only one time at the end of the session. As a result, the End of Session event contains none of the context of the hit on which the goal-based dimension event occurred.
Event publishing
The firing of an event and its publication are different.
- Firing: When an event is evaluated to be
true
, it is deemed to "fire." In the Canister, when an event fires, a marker for the event is stored on the hit of the event where it was evaluated. - Publishing: An event is considered to be published when the Canister makes the event and its recorded data available to other Tealeaf services, such as search indexing and the Data Collector.
By default, the Canister publishes an event and its related dimensional data as soon as possible after it fires. With goal-based dimensions, the event and its data are not available until the end of the session, even though the event fires normally, as specified.
Goal-based dimensions affect events and dimensions in the following ways:
- Events: Events that use Goal-based dimensions still evaluate and fire normally. The results of the event evaluation are not written to the database or search indexes until the end of the session.
Goal-based dimension events can be used as building blocks for other events between firing and the end of the session. They behave normally, except that Goal-based dimensions must not be referenced.
- Dimensions: Goal-based dimensions are not evaluated at all until the end of session. Until the end of the session, these dimensions are
NULL
values.Note: Do not reference the value of a Goal-based dimension in another event. The values are always
NULL
. Even for other End of Session events, it is not possible to guarantee that the dimension values are populated at the time that the other event is evaluated. It is still possible to record nulls for the dimensions that are associated with other End of Session events. - Alerts: Since alerts do not use dimensions, alerts that are triggered on Goal-based dimension events are generated at the time that the event fired, instead of at the time of event publication.
- Session attributes: User-defined session attributes that reference Goal-based dimension events are updated at the time that the event fires, instead of at the time of event publication.
When an event is published, the search index is populated with the event value and the related dimension values. If the dimension is configured for delayed publishing and the event is published immediately, then the search index is populated with the correct event value, yet all Goal Based dimensions are recorded with NULL
values. By forcing the event and the dimension to be published at the end of the session, the correct values for both event and dimension are recorded for indexing.
Note: The purpose of Goal-based dimension events is to support the evaluation of dimensions later. As a result, all events that use Goal-based dimensions must be published at the end of session, and thus cxOverstat does not contain any data about active sessions.
Goal-based dimensions and report groups
By default, dimensions are evaluated immediately when the event occurs. Optionally, you can configure individual dimensions to be evaluated at the end of the session.
For each processing server, goal-based dimensions are enabled by default. When enabled, a processing server detects goal-based dimension settings on events and dimensions and publishes the data accordingly. Goal-based dimensions are enabled through the raw configuration of each Canister.
All cxOverstat events are automatically configured for delayed publishing. On individual dimensions that are part of cxOverstat report groups, you can configure them to be evaluated and published at the end of the session.
Goal-based dimensions can be used only in cxOverstat report groups. You can mix delayed and non-delayed dimensions in the same cxOverstat report group. These report groups can be associated only with cxOverstat events.
Limitations
- All goal-based dimensions must be associated with a cxOverstat report group template.
- After a goal-based dimension is defined and saved, you cannot change when it is evaluated.
- Goal-based dimensions must be populated by an event or a session attribute. You cannot populate the dimension from a hit attribute.
- After a goal-based dimension is saved, you cannot change the report group template with which it is associated.
- After you save your event definition, you cannot change event publishing.
- All events that use a goal-based dimension can be configured for end of session publishing.