https://help.amplitude.com/hc/en-us/articles/229313067-User-Activity#Raw-Data-Fields
NOTE: If the difference between server_received_time
and client_upload_time
is less than 60 seconds, the event_time will not be adjusted and will equal the client_event_time. This is done automatically for newer projects, i.e, those with an ID of 243704 or higher. If you want this 60-second cutoff time to apply to an older project, please reach out to Amplitude Support.
I want to disable this feature and always have event_time calculated via formula:event_time = client_event_time + (server_received_time - client_upload_time)
Motivation:
I have two event sources: backend and frontend.
Event 1 from frontend: User clicked on Buy button
Event 2 from backend: Purchase started
Suppose user device’s clock differs from amplitude’s for 30seconds, then User clicked on Buy button timings may be:
- Client Event Time = 3:44:50 pm UTC
- Client Upload Time = 3:44:50 pm UTC
- Server Upload Time = 3:45:22 pm UTC
- Server Received Time = 3:45:22 pm UTC
Due to feature mentioned above, event_time will be 3:44:50 pm UTC. It causes that Purchase started event might have earlier event_time, if the lag between frontend request and backend logic is less than 30 seconds. This breaks out funnels and disturb our analytics very much
If we could use the formula always, the User clicked on Buy button would be 3:45:22, synched with amplitude server time, as our backend time