📊 [EPIC]: Analytics API Endpoint
Multi-Tenant Client-ID-Based Analytics Endpoint
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
apiKeyand 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.
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