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
Best answer by timothy-permutable
View original