Event Time

When a Woopra tracking server receives an event, unless the request has an explicit timestamp field, it records the current time as the event timestamp. Typically this does not matter, but there are cases when it does.

When sending track events from a serverside integration or the HTTP Tracking API, it is common to send a timestamp in the event metadata. This timestamp states when the action occurred, and overrides the default timestamp that would be generated by the tracking servers, and is actually "receipt time" instead of "event time"

Retaining event order on the browser

One instance when receipt time is not sufficient or can cause problems is when tracking multiple events that happen close to each other or at the same time on the browser. It is not good practice to use a client's clock to timestamp your events, as there is no guarantee that it is accurate.

Nonetheless, for various reasons you may need to guarantee that the events are recorded in Woopra in a particular order or in the exact order in which they actually occurred/were called in the code, on the browser. (For instance because you are building a funnel report which requires that events be completed in the order they are defined in the funnel for a user to be in the funnel correctly.)

While you may call woopra.track(...) three times, one after another, becasue the requests are asynchronous, there is no guarantee that the Woopra tracking servers will receive and process the three requests in the same order in which they were sent.