Search Usage & UX Analytics Strategy
1. Current State
The system does not currently have a real-time audit log of search filter parameters. However, two potential data sources exist:
SavedSearchTable: Contains serialized search DTOs. Many records are markedIsForStatistic = true, implying standard operational searches.- Matomo Tagging: Frontend tracking exists for "Export" actions (
OMGT.TAGGGING.PushEvent), but doesn't seem to capture the specific filters used.
2. Quantitative Discovery (Proposed)
A. Static Analysis of Saved Searches
Since we have SerializedSearchDto in the database, we can perform a one-time SQL script analysis to count category activation:
-- Conceptual Query to find most popular categories in saved searches
SELECT
COUNT(*) as UsageCount,
-- Parsing JSON logic to identify activated categories
JSON_VALUE(SerializedSearchDto, '$.SelectedCategories') as Category
FROM omgt.SavedSearch
GROUP BY Category
ORDER BY UsageCount DESC;
Expected Insight: Identify which of the 30 categories are "Essential" vs. "Edge-case".
B. Lightweight Telemetry (Implementation Proposal)
To capture real-time usage (not just saved searches), we can add a non-blocking interceptor in AdvancedSearchController.GetNavigateResult:
// Proposed Interceptor logic
var activatedCategories = searchDto.SelectedCategories;
AnalyticsService.LogSearchPattern(activatedCategories, response.Count);
Goal: Understand what users are really searching for on a daily basis, even if they don't save the search.
3. UX Mitigation Expectations
Based on the results, we could propose:
- "Essential" vs "Advanced" Split: Hide the less-used categories (e.g., PEC, Compliance) behind an "Advanced" toggle to reduce visual noise.
- Performance Tiering: Some filters are "Heavy" (require N+1 or complex joins). If they are rarely used, we can warn the user or restrict their execution to smaller date ranges.
- Smart Defaults: Optimize the primary search view for the top 5 most used filter categories.
4. Next Steps
- Audit: Extract and analyze a sample of 100
SavedSearchrecords. - Consult: Verify with Stakeholders if Matomo data can be enriched with filter IDs.