Skip to main content

Setting up monitoring

What can I monitor?

At certain milestones of the user experience, Speedy PV will generate a set of information about the event. This information includes the name of the event, the time at which it occurred, some data associated with the event and the tool, and a session ID for that instance of the tool.

Some examples of the events that you can track within Speedy PV are:

  • tool_loaded
  • address_selected
  • energy_inputs_provided
  • estimates_generated
  • estimate_submitted

We'll continue to add more trackable events as time progresses so you can track usage data with greater precision.

How can I track this information?

Event data is passed into the function window.trackSpeedyPvEvent whenever an event occurs, so long as trackSpeedyPvEvent is defined. Therefore, to track Speedy PV usage, you can define this function on your website to handle the event data however you like.

The function should accept one parameter, like the below:

window.trackSpeedyPvEvent(speedyPvEvent) => {
   // Some code to handle the Speedy PV event
}

The event data is passed into window.trackSpeedyPvEvent as an object of the form:

speedyPvEvent = {
  name: 'estimate_submitted', // String
  data: { // Object. Properties depend on the event triggered. Not present if there is no event data to provide
    estimateCost: 7460.75 // Number
  },
  time: '2024-10-21 13:58:27', // String. Format 'YYYY-MM-DD HH:MM:SS'
  sessionId: '01340246-f9ff-4cf5-99e7-b0af7f009443', // String
  toolData: { // Object
    display: 'desktop' // String. Display mode of Speedy PV at the time of the event. Values are 'desktop' or 'mobile'
  }
}