Virtual and Hybrid Event Engagement Tracking
Mar 2020 – Sep 2020 · Independent Consulting
- TypeScript
- Azure Event Hubs
- Stream Analytics
- Azure Functions
- Storage Queues
A TypeScript widget feeding an Azure event-streaming pipeline that recorded over 6 million events and turned attendee interactions into sales leads.
Role: Developed the widget, designed the event-streaming architecture and wrote the batch processor.
Challenge
With the shift from in-person to virtual events, customers needed a way to track attendee interactions across an evolving landscape of digital engagement products, with the goal of converting those interactions to sales leads.
Approach
The public-facing element was a JavaScript widget, similar to the Google Analytics stub, included on digital properties. The widget was developed in modern TypeScript and transpiled to ES5 JavaScript for the broadest compatibility. Content interactions were tracked automatically, with more complex custom actions possible, in one case interacting with an embedded video player to track second-by-second engagement.
The widget delivered events to Azure Event Hubs backed by an Azure Stream Analytics engine, which provided initial filtering, aggregation and routing through Azure Functions and Storage Queues. This architecture was designed for arbitrarily high throughput, while downstream clients could consume and further process the events independently. A batch processor then scanned the aggregated event queues and delivered the events through a REST API to the target lead capture application in near real time.
Results
- On the first day, the solution captured over 3 million events, distilled into 120K distinct interactions by 10K attendees
- Live dashboards showed granular, attendee-specific statistics within 3 minutes, even during peak periods
- Over the 90-day on-demand portion of the event, over 6 million events and 200K distinct interactions were recorded
- Interactions were pushed nightly to a CRM system to give the customer's sales team actionable data
- The solution was adopted as a core product and has been used for numerous integrations, including hybrid events that merge widget data with data from the show floor in real time