core icon indicating copy to clipboard operation
core copied to clipboard

📊 [EPIC]: Analytics API Endpoint

Open fmontes opened this issue 7 months ago • 1 comments

Multi-Tenant Client-ID-Based Analytics Endpoint

Product Folder

Functional analytics ingestion endpoint to support a multi-tenant, client-identified event tracking system for dotCMS-hosted and headless websites.

Vision

Enable reliable, secure, and privacy-compliant analytics tracking across all customer sites, regardless of their frontend stack or hosting environment. This endpoint will ingest client-sent analytics events (via POST) using a Client-ID pattern, ensuring compatibility with modern browser privacy restrictions.


Feature Description

  • Expose a public POST endpoint: /v1/analytics/content/event
  • Accepts JSON request bodies
  • Supports bulk ingestion of behavioral events per tenant/site
  • Requires apiKey and origin domain validation
  • Logs validated events into a dedicated analytics event store

Product Expectations

  • Must support 1000 requests/min/site

  • Must validate:

    • API Key
    • Origin (CORS and X-Site-Host)
  • Store events in a structure that supports later easy querying

  • Provide robust logging and error responses, including partial failure support


Out of Scope

  • Analytics dashboard UI
  • Real-time reporting/query layer
  • Automated anomaly detection or advanced ML analytics

Urgency

This is foundational work. Without this, the entire analytics dashboard initiative for dotcms.com cannot progress. Required for launching internal marketing analytics and early customer pilots.

fmontes avatar May 28 '25 22:05 fmontes

I still need to create some cards to be added in this EPIC:

  • ~~Cards to handle custom attributes.~~ https://github.com/dotCMS/core/issues/32509
  • ~~Cards to clean up the current PROD database~~ https://github.com/dotCMS/core/issues/32520

freddyDOTCMS avatar Jun 10 '25 18:06 freddyDOTCMS