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 Discover 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 affects 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.
- GBD 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 alwaysNULL
.- 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 GBD 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 GBD 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.