Step-based eventing

Through step-based eventing, you can create Discover events of these user interface events that are generated by your rich internet application.

On the traditional, HTML-based web, user actions typically triggered a single responding action from the web server. When you clicked a button, a form was submitted. When you clicked a link, a new page was loaded. For applications built on this framework, an individual event might occur only once per page.

In rich internet applications, however, this paradigm was altered. Many user interactions on a page do not change the page itself. In fact, a user can complete the same action of interest multiple times. For example, suppose that your web application enables the entry of multiple addresses from a single form. When Submit is clicked, the address data is submitted, and the form is cleared, enabling another entry. In this case, the same event, SubmitAddress, can occur multiple times on the same page. In Discover, you want to be able to track all of these occurrences, instead of just the first one.

Note: A primary usage for step-based eventing is to track events that may occur multiple times on a single page.

With step-based eventing, you can create Discover events of these user interface events that are generated by your rich internet application. In addition to creating events from individual hits, you can also create events from steps, which are individual user actions that are captured from the client application and submitted by using one of Discover's client frameworks.

  • A step can be considered a "subhit" of a hit; a step reflects a discrete, trackable user action, or a server-side action that does not result from a user action (such as a redirect).
  • Steps are captured by a client framework, which is bundled together, and submitted as JSON messages to Discover. These messages are then inserted into a designated section of the request of the parent hit.

Step-based eventing enables the capture of multiple events from a single page of your client application.

This information provides background information about client framework-generated steps and step-based eventing.

Technical definition of a step

A step is defined as a specially formatted JSON message that is submitted by the Discover client frameworks to represent a session state of a form field.
  • Step messages can contain any type of data. The data depends on the specific client framework that is sending the message.
  • A step contains UI events from a single session only.
  • In Discover, these messages are submitted in JSON format and are not easy to decipher in raw format.