2.4 KiB
2.4 KiB
Context
Current Umami event payloads for hero/feed CTA clicks and summary modal lifecycle events are identifier-heavy (article_id) and not directly human-readable in dashboards. Analysts must resolve IDs back to content to understand behavior patterns, which slows ad-hoc exploration and increases reporting friction.
Goals / Non-Goals
Goals:
- Add
article_titleto existing CTA and summary modal analytics payloads. - Preserve existing event names and current fields for backward compatibility.
- Keep changes scoped to frontend event payload construction.
Non-Goals:
- Renaming event names or changing event timing semantics.
- Introducing new analytics providers or backend event pipelines.
- Reworking existing dashboard taxonomy outside payload enrichment.
Decisions
Decision 1: Additive payload enrichment only
Choice: Add article_title as an extra property while retaining article_id and existing metadata.
Rationale:
- Backward compatible for existing analytics queries.
- Immediate analyst readability improvement without migration burden.
Decision 2: Use headline string from the in-memory item model
Choice: Populate article_title from current article object (item.headline / modalItem.headline).
Rationale:
- No extra network calls or state plumbing.
- Data already present where events are emitted.
Decision 3: Preserve event contracts and dispatch points
Choice: Keep event names unchanged (hero-cta-click, summary-modal-open, summary-modal-close).
Rationale:
- Avoids dashboard/query breakage.
- Keeps this change low risk and auditable.
Risks / Trade-offs
- [Risk] Long titles inflate payload size -> Mitigation: send raw headline as-is; acceptable for low-volume client events.
- [Risk] Missing title on edge cases -> Mitigation: include
article_idas canonical fallback identifier. - [Trade-off] Same event schema differs across historical windows -> Mitigation: additive field keeps historical queries valid while enabling richer future segmentation.
Migration Plan
- Update event emitters in
frontend/index.htmlto includearticle_title. - Verify emitted payloads in browser devtools/Umami debug path.
- Update analytics-tagging spec deltas and task checklist.
Rollback:
- Remove
article_titlefield additions; existing events remain unchanged.
Open Questions
- Do analysts also want
article_permalinkincluded now, or defer to future UX/permalink change?