Skip to main content

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:

  • SavedSearch Table: Contains serialized search DTOs. Many records are marked IsForStatistic = 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​

  1. Audit: Extract and analyze a sample of 100 SavedSearch records.
  2. Consult: Verify with Stakeholders if Matomo data can be enriched with filter IDs.