Description - The auto collection logic for xdm.timestamp field in the AEP SDK is currently dependent on the user’s local system time. This reliance on system time creates inconsistencies in event tracking and reporting (event timestamps show up way in past or future at times which means they are offset as compared to actual event time). This improvement proposes syncing the xdm.timestamp field to a centralized server-side clock, such as UTC, ensuring uniformity and accuracy in time data.
Why is this feature important to you - Accurate and consistent timestamps are crucial for reliable event tracking, analytics, and reporting. Without this feature, data may be skewed due to discrepancies in user device clocks, clock skew or drift, or manual adjustments to system time. This impacts the quality of insights derived from event data. By syncing the timestamp to a server-side clock, the platform ensures more reliable and consistent data, making it easier to correlate events, generate accurate reports, and analyze user behavior.
How would you like the feature to work -
The xdm.timestamp field should automatically be synced to a server-side clock (e.g., UTC) at the point when an event is logged, regardless of the user's local system time.
The SDK should request the server time whenever an event is triggered, and the server will provide an accurate timestamp to be used instead of the device’s local time.
In the event of network issues or server downtime, a fallback mechanism could use the local system time to avoid event loss, but with clear flagging of the fallback event for potential time data issues.
The feature should be seamless and require no additional action from the user or client-side developers once integrated into the SDK.
Current Behaviour - The xdm.timestamp field relies on the local system time of the user's device. This results in discrepancies for reasons like if a user changes the time on their device manually or if there are differences in system clock accuracy. This can lead to inconsistencies in event timing, causing difficulties in correlating data, performing time-based analysis, and generating accurate reports.