Skip to main content

Hello,

I’m wondering on how was the Client Upload Time generated when we are sending our Amplitude event using the HTTP V2 API.

If what I understand is correct, the time properties within the api is the Client Event Time.

 

Here’s our Amplitude implementation setup:

  1. Event is collected through the client side (browser) with a local timestamp.
  2. This event is then sent to our backend server which then does some data transformation before sending it off to Amplitude through the HTTP V2 API.

The problem we’re trying to solve:

  • We’ve observed that quite a large number of our users has their local time set incorrectly. (ie. the example shown in the screenshot, the user is 5 hours behind the actual local time)

 

 

Hey @nutz 

Here are the definitions of each of those time fields - https://help.amplitude.com/hc/en-us/articles/229313067#Raw-Data-Fields.

I would also refer to Tracy’s reply on the below post as she explains how a user’s internet connection could cause potential issues.

You might also want to check if your data transformation job is making some changes in timestamp field before passing it over the HTTP API.

 

Hope this helps.

 

 

 


Hi @Saish Redkar

Thanks for the link. I had a read on Tracy’s comment on the previous question before posting this. However the implementation method of ours are slightly different (Amplitude Client SDK vs Server Side API).

I don’t believe that our data transformation is doing anything to the timestamp otherwise the Client Event Time would not show a time that’s 5 hours behind the actual time.

 

Cheers


Hi @nutz ,

 

I would also make sure that the timezone of your project is in the timezone you want. All data is ingested according to milliseconds elapsed since Epoch. Let’s imagine I have a project set to Seoul’s timezone. So if we ingest a time for 1648802519, right now, Friday 1st, April,10:40 CEST. It would then show up  at April 1, 2022  5:41:59.000 pm KST. A good website that might help is here. I would also recommend getting a new project and test with that project with the HTTP API. I would then mess around with the timezones until you get used to it. The SDKs should upload in the local time of the device. 

 


Reply