Pendo Tracking for Visual Dispatch Board (VDB)
Overview
The VDB Pendo instrumentation captures 32 events across 12 categories, covering the full dispatch workflow on both desktop and mobile. All events include feature: 'visual-dispatch' for easy filtering in Pendo dashboards.
PES Core Events (2 of 5 allowed per app): VDB_Order_Dispatched and VDB_Route_Driver_Assigned
1. Board Initialization & Engagement
VDB_Board_Loaded
When: VDB is opened and layout is resolved — fires once per session on desktop and mobile.
What you can answer:
-
What % of users have WebGL support? (affects map rendering quality)
-
What's the desktop vs. mobile usage split?
-
Which default layouts are most commonly applied on load?
|
Property |
Values |
Meaning |
|---|---|---|
|
webGLSupported |
true / false |
Whether the browser supports WebGL canvas rendering |
|
deviceType |
'desktop' / 'mobile' |
Which platform the session is on |
|
defaultLayout |
layout ID string |
Layout applied on load (desktop only; omitted on mobile) |
VDB_Tab_Changed
When: User switches between the On Demand and Routes tabs in the shipments panel.
What you can answer:
-
Do dispatchers work primarily in On Demand or Routes mode?
-
How often do users switch between tabs in a session?
|
Property |
Values |
Meaning |
|---|---|---|
|
fromTab |
'on-demand' / 'routed' |
Tab navigated away from |
|
toTab |
'on-demand' / 'routed' |
Tab navigated to |
2. Core Dispatch Workflow ⭐ PES Core Events
VDB_Order_Dispatched ⭐ PES Core
When: An order is successfully assigned to a driver.
What you can answer:
-
Which dispatch method do users prefer — dragging from the grid, dragging on the map, or using the batch modal?
-
What % of dispatches are batch vs. single?
-
What is the typical batch size?
-
What order statuses are most commonly dispatched? (unassigned, pending, already-assigned?)
-
Is usage split between desktop and mobile dispatchers?
|
Property |
Values |
Meaning |
|---|---|---|
|
assignmentMethod |
'drag-drop-grid', 'drag-drop-map', 'drag-drop', 'batch-modal' |
How the order was assigned. |
|
orderStatusPreDispatch |
status name string |
The order's status at the time of assignment |
|
isBatch |
true / false |
Whether more than one order was dispatched in this action |
|
batchSize |
number |
Number of orders in the assignment (1 for single dispatch) |
|
deviceType |
'desktop' / 'mobile' |
Platform where the dispatch occurred |
VDB_Status_Updated_Manually
When: A dispatcher manually changes an order's status (outside of the normal dispatch flow).
What you can answer:
-
How often do dispatchers override statuses manually vs. relying on driver app updates?
-
Do manual status changes happen more from the grid or the map?
-
Which statuses are most commonly set manually?
|
Property |
Values |
Meaning |
|---|---|---|
|
newStatus |
status name string |
The status the order was changed to |
|
fromGridOrMap |
'grid' / 'map' |
Where the action was triggered |
3. Context Menu Actions
VDB_Context_Menu_Action
When: User selects an action from a right-click context menu in any panel. Covers all three panels generically — use panel + menuAction together to segment.
What you can answer:
-
Which right-click actions are used most frequently?
-
Which panel sees the most context menu activity?
-
Are dispatchers using advanced actions like pinning, messaging, or route management?
|
Property |
Values |
Meaning |
|---|---|---|
|
panel |
'shipments' / 'routes' / 'drivers' |
Which panel the action came from |
|
menuAction |
action key string |
The action selected (e.g., 'assignToDriver', 'pinRoute', 'sendMessage', 'editDriver', 'getDirections') |
4. Filter Changes
VDB_Shipments_Filter_Changed
When: A filter is changed in the Shipments (On Demand) panel header.
|
Property |
Values |
Meaning |
|---|---|---|
|
filterType |
'assignment' / 'time' / 'group' |
Which filter control was changed |
|
value |
string |
The new filter value (e.g., 'UNASSIGNED', 'BOTH', 'true') |
VDB_Routes_Filter_Changed
When: A filter is changed in the Routes panel header.
|
Property |
Values |
Meaning |
|---|---|---|
|
filterType |
'status' / 'group' |
Which filter control was changed |
|
value |
string |
The new filter value (e.g., 'OPEN', 'true') |
VDB_Drivers_Filter_Changed
When: A filter is changed in the Drivers panel header.
|
Property |
Values |
Meaning |
|---|---|---|
|
filterType |
'status' |
Which filter control was changed |
|
value |
string |
The new filter value (e.g., 'ACTIVE') |
VDB_Quick_Filter_Applied
When: A quick filter preset is applied in the On Demand shipments panel.
What you can answer:
-
Which quick filters are used most often?
-
What % of filter usage comes from user-saved presets vs. built-in filters?
|
Property |
Values |
Meaning |
|---|---|---|
|
filterId |
name/ID string |
Name or ID of the filter applied |
|
isSavedFilter |
true / false |
Whether this was a user-saved filter preset |
5. Map Settings & Controls
VDB_Map_Setting_Changed
When: A map display setting is toggled by the user.
What you can answer:
-
Is satellite view being used, and by what % of users?
-
Is the traffic overlay valuable to dispatchers?
-
How common is dark mode usage on the VDB?
-
Are grouped pins preferred over individual pins?
|
Property |
Values |
Meaning |
|---|---|---|
|
setting |
'grouped-pins', 'auto-pin', 'dark-mode', 'satellite-view', 'traffic-layer' |
Which setting was changed |
|
enabled |
true / false |
Whether the setting is now on or off |
VDB_Map_Camera_Control_Used
When: User uses a 3D camera control (tilt or rotate). Debounced to 3 seconds per control type — rapid clicks or click-and-hold only fire one event per window, keeping data clean.
What you can answer:
-
Are dispatchers engaging with 3D map controls at all?
-
Which controls are used — tilt vs. rotate vs. reset?
-
Is the 3D navigation feature worth continued investment?
|
Property |
Values |
Meaning |
|---|---|---|
|
control |
'tilt-up', 'tilt-down', 'rotate-left', 'rotate-right', 'reset-view' |
Which camera control was used |
VDB_Map_Full_Map_Toggled
When: User toggles the full map mode (expanding the map to fill the board).
|
Property |
Values |
Meaning |
|---|---|---|
|
isFullMap |
true / false |
Whether full map mode is now active |
6. Feature Adoption
VDB_Layout_Applied
When: User selects and applies a layout from the Workspace Settings modal.
What you can answer:
-
Which layouts are most popular?
-
Are users customizing their workspace or sticking with the default?
|
Property |
Values |
Meaning |
|---|---|---|
|
layoutId |
layout ID string |
ID of the layout selected and applied |
VDB_Hotkey_Used
When: A keyboard shortcut is used in an active VDB panel.
What you can answer:
-
Are power users adopting keyboard shortcuts?
-
Which shortcuts are most frequently used?
|
Property |
Values |
Meaning |
|---|---|---|
|
shortcutName |
shortcut key/name string |
The action name or key combo used (e.g., 'editDriver', 'sendMessage') |
VDB_Batch_Action
When: A bulk operation is performed on multiple orders at once.
|
Property |
Values |
Meaning |
|---|---|---|
|
actionType |
action string |
Type of batch action (e.g., 'update-status') |
|
batchSize |
number |
Number of orders affected |
VDB_Merge_Group_Toggled
When: User toggles the merge/group setting in the On Demand or Routes panel.
|
Property |
Values |
Meaning |
|---|---|---|
|
isGrouped |
true / false |
Whether grouping was turned on or off |
7. Driver Monitoring
VDB_Driver_History_Viewed
When: User opens the driver GPS history (trail) viewer.
What you can answer:
-
How often are dispatchers reviewing driver GPS history?
-
Is this used for monitoring or exception investigation?
No additional properties — the event itself signals intent.
8. Route Dispatch Workflow
VDB_Route_Driver_Assigned ⭐ PES Core
When: A driver is assigned to a route.
What you can answer:
-
How are drivers being assigned to routes — via drag-and-drop or the assign menu?
-
Is route driver assignment happening more on desktop or mobile?
|
Property |
Values |
Meaning |
|---|---|---|
|
assignmentMethod |
'assign-menu' / 'drag-drop' |
How the assignment was made |
|
deviceType |
'desktop' / 'mobile' |
Platform where the assignment occurred |
VDB_Route_Driver_Removed
When: A driver is removed from a route.
|
Property |
Values |
Meaning |
|---|---|---|
|
deviceType |
'desktop' / 'mobile' |
Platform where the removal occurred |
VDB_Route_Cloned
When: A route is cloned.
|
Property |
Values |
Meaning |
|---|---|---|
|
deviceType |
'desktop' / 'mobile' |
Platform where the clone occurred |
9. Driver Workflow
VDB_Driver_Checked_In
When: A dispatcher checks a driver in from the VDB.
|
Property |
Values |
Meaning |
|---|---|---|
|
deviceType |
'desktop' / 'mobile' |
Platform where the check-in occurred |
VDB_Driver_Checked_Out
When: A dispatcher checks a driver out from the VDB.
|
Property |
Values |
Meaning |
|---|---|---|
|
deviceType |
'desktop' / 'mobile' |
Platform where the check-out occurred |
VDB_Driver_Force_Logged_Out
When: A dispatcher force-logs out a driver's mobile session from the VDB.
|
Property |
Values |
Meaning |
|---|---|---|
|
deviceType |
'desktop' / 'mobile' |
Platform where the action occurred |
10. Order & Board Actions
VDB_Order_Driver_Removed
When: A driver is unassigned from an order.
|
Property |
Values |
Meaning |
|---|---|---|
|
deviceType |
'desktop' / 'mobile' |
Platform where the removal occurred |
VDB_Board_Refreshed
When: The dispatcher manually refreshes the board.
|
Property |
Values |
Meaning |
|---|---|---|
|
deviceType |
'desktop' / 'mobile' |
Platform where the refresh occurred |
VDB_Date_Navigated
When: The dispatcher navigates to a different date on the Routes calendar.
No additional properties beyond the standard feature/action/category fields.
11. Map Actions
VDB_Map_Cleared
When: The dispatcher clears all pins from the map.
What you can answer:
-
How often do dispatchers need to clear all map pins during a session?
-
Is map clutter a recurring pain point, and does this feature get regular use?
No additional properties — the event itself signals intent.
12. Workspace Settings Actions
VDB_Drivers_Activate_Deactivate_Opened
When: The dispatcher opens the bulk Activate/Deactivate Drivers modal from the Workspace Settings or Drivers panel header.
What you can answer:
-
How often do dispatchers use the bulk driver activation workflow?
-
Is this feature used frequently enough to warrant more prominent surfacing in the UI?
No additional properties — the event itself signals intent.
VDB_Time_Zone_Changed
When: The dispatcher changes the board's displayed time zone.
What you can answer:
-
What percentage of dispatchers change the default time zone?
-
Which time zones are most commonly selected — useful for understanding where customers operate?
-
Are multi-timezone operations common among our user base?
|
Property |
Values |
Meaning |
|---|---|---|
|
timeZone |
IANA time zone string |
The time zone selected (e.g., 'America/New_York', 'America/Chicago') |
VDB_Fleet_Filter_Applied
When: A fleet filter is applied from any panel on the board.
What you can answer:
-
Which panel sees the most fleet filter usage — shipments, routes, drivers, or the map?
-
What percentage of sessions include fleet filtering, indicating multi-fleet operator prevalence?
-
Is the fleet filter used consistently across panels or concentrated in one area?
|
Property |
Values |
Meaning |
|---|---|---|
|
panel |
'shipments' / 'routes' / 'drivers' / 'map' |
Which panel the fleet filter was applied from |
VDB_Route_Time_Override_Toggled
When: The dispatcher toggles the route start or end time override in the Routes panel.
What you can answer:
-
Are dispatchers using start time or end time overrides more often?
-
What percentage of route sessions involve time overrides — indicating how often routes need manual time adjustments?
|
Property |
Values |
Meaning |
|---|---|---|
|
timeType |
'start' / 'end' |
Which time override was toggled |
|
enabled |
true / false |
Whether the override is now active |
VDB_Driver_Location_Source_Changed
When: The dispatcher changes the driver current location source setting.
What you can answer:
-
Do dispatchers prefer GPS or Geofence as their location source?
-
How often is the location source changed in a session — suggesting either preference exploration or operational need?
|
Property |
Values |
Meaning |
|---|---|---|
|
locationSource |
location source string |
The source selected (e.g., 'GPS', 'Geofence') |
Pendo Dashboard Tips
-
Filter all VDB events with
feature = 'visual-dispatch' -
On
VDB_Order_Dispatched, compareassignmentMethodacross values to understand whether dispatchers prefer the grid, the map, or the batch modal -
Track
isBatch: trueonVDB_Order_Dispatchedto measure bulk dispatch adoption — correlate withbatchSizeto understand typical batch sizes -
Compare
deviceTypeacross workflow events to understand the desktop vs. mobile dispatcher split -
On
VDB_Map_Camera_Control_Used, low event counts signal low 3D feature engagement — useful for deprioritization decisions -
On
VDB_Map_Setting_Changed, filter bysetting = 'satellite-view'orsetting = 'traffic-layer'to evaluate whether these features justify their maintenance cost -
On
VDB_Quick_Filter_Applied, filterisSavedFilter = falseto identify which built-in filters are most valuable — candidates for more prominent surfacing in the UI -
On
VDB_Context_Menu_Action, group bypanel + menuActionto identify the most-used right-click actions — candidates for surfacing as primary UI buttons -
Correlate
VDB_Driver_History_Viewedagainst support ticket volume to understand if GPS history access is reactive (exception investigation) or proactive (routine monitoring) -
VDB_Hotkey_Usedcounts only make sense on desktop — cross-reference withVDB_Board_LoadedwheredeviceType = 'desktop' -
On
VDB_Fleet_Filter_Applied, group bypanelto identify where fleet filtering is most needed — informs where to surface fleet controls more prominently -
On
VDB_Time_Zone_Changed, aggregate unique time zones to understand the geographic spread of dispatcher operations
Event Quick Reference
|
Event |
Category |
PES Core |
Key Properties |
|---|---|---|---|
|
VDB_Board_Loaded |
workflow |
— |
webGLSupported, deviceType, defaultLayout |
|
VDB_Tab_Changed |
navigation |
— |
fromTab, toTab |
|
VDB_Order_Dispatched |
workflow |
⭐ |
assignmentMethod, orderStatusPreDispatch, isBatch, batchSize, deviceType |
|
VDB_Status_Updated_Manually |
workflow |
— |
newStatus, fromGridOrMap |
|
VDB_Context_Menu_Action |
interaction |
— |
panel, menuAction |
|
VDB_Shipments_Filter_Changed |
interaction |
— |
filterType, value |
|
VDB_Routes_Filter_Changed |
interaction |
— |
filterType, value |
|
VDB_Drivers_Filter_Changed |
interaction |
— |
filterType, value |
|
VDB_Quick_Filter_Applied |
interaction |
— |
filterId, isSavedFilter |
|
VDB_Map_Setting_Changed |
config |
— |
setting, enabled |
|
VDB_Map_Camera_Control_Used |
interaction |
— |
control (3s debounced) |
|
VDB_Map_Full_Map_Toggled |
config |
— |
isFullMap |
|
VDB_Layout_Applied |
config |
— |
layoutId |
|
VDB_Hotkey_Used |
interaction |
— |
shortcutName |
|
VDB_Batch_Action |
workflow |
— |
actionType, batchSize |
|
VDB_Merge_Group_Toggled |
interaction |
— |
isGrouped |
|
VDB_Driver_History_Viewed |
navigation |
— |
— |
|
VDB_Route_Driver_Assigned |
workflow |
⭐ |
assignmentMethod, deviceType |
|
VDB_Route_Driver_Removed |
workflow |
— |
deviceType |
|
VDB_Route_Cloned |
workflow |
— |
deviceType |
|
VDB_Driver_Checked_In |
workflow |
— |
deviceType |
|
VDB_Driver_Checked_Out |
workflow |
— |
deviceType |
|
VDB_Driver_Force_Logged_Out |
workflow |
— |
deviceType |
|
VDB_Order_Driver_Removed |
workflow |
— |
deviceType |
|
VDB_Board_Refreshed |
interaction |
— |
deviceType |
|
VDB_Date_Navigated |
navigation |
— |
— |
|
VDB_Map_Cleared |
interaction |
— |
— |
|
VDB_Drivers_Activate_Deactivate_Opened |
workflow |
— |
— |
|
VDB_Time_Zone_Changed |
config |
— |
timeZone |
|
VDB_Fleet_Filter_Applied |
interaction |
— |
panel |
|
VDB_Route_Time_Override_Toggled |
config |
— |
timeType, enabled |
|
VDB_Driver_Location_Source_Changed |
config |
— |
locationSource |