Solved

Order of Events

  • 11 September 2019
  • 7 replies
  • 502 views

Userlevel 1
Badge

We are using React Native Mixpanel Http Implementation to track events. We have hooked the events for navigation and button clicks that get triggered automatically.


When we tried to analyze user behavior using the Mixpanel Flows product, the events that occur almost together seems to be not in order sometimes.

Because of this, there were multiple flow paths created, whereas only one flow is the correct path

Eg:

1) Some Events -> Navigated to Signup Screen -> Pressed Sign up -> Some Other Events

2) Some Events -> Pressed Sign up -> Navigated to Signup Screen -> Some Other Events


We referred https://developer.mixpanel.com/docs/http to attach the timestamp of the event but according to this, the events can only be tracked with seconds and not in milliseconds.

We were able to do a temporary solution by hiding one single event.


Is there any other method to maintain the event order integrity?


Thanks.



icon

Best answer by stephanie 26 September 2019, 02:04

Hi @ragularuban!

Thank you for providing this detailed feedback on capturing milliseconds for events that are fired. I completely agree and see the use case value of this.

Unfortunately, at this moment the time property on events are in seconds, not milliseconds. When looking at the raw data of the "time" it can look like 10:36:52:00, but the 00's at the end are placeholders.

For context, we have "mp_processing_time_ms" which is an event property which we have always tracked (and has always been viewable when you view events in JSON in JQL), however, only recently we surfaced it to be viewable in the UI. This is due to the fact that we have multiple users ask for it in the UI. mp_processing_time_ms is the time in milliseconds (in UTC, regardless of your project settings) when that event was ingested. It can be a very helpful property if you are importing / exporting data, or using our server side libraries. However, "time" is the time the event was fired.

I have gone ahead and logged a product gap on your behalf here with our Product and Engineering team. Please make sure to follow the Idea - via the Follow button on the right hand column, to get real time updates on it.

 

View original

7 replies

Userlevel 3
Badge

Hey @ragularuban,

I am curious to know what your end goal is to see with the Flows report or question to ask? Are you trying to set a sequence of events to see how many users complete the first event to the last noted event? If so, maybe Funnels might be a better report to see this.

Maybe with a more information on what question you are trying to answer, I can be more helpful!


Userlevel 1
Badge

Hi @taliabrown

Thanks for the reply.

My goal was to explore user flows inside the app. While I was trying to achieve that some events were not logged in the right sequence (The events that occur almost occurs simultaneously). Because of this, I was not able to see the correct flows.

Example Scenario:
Please check the below two highlighted flows

Flow1 (Screenshot 1) - Start -> Opened Application -> Navigated to Dashboard -> Session End

Flow2 (Screenshot 2)- Start -> Opened Application -> Navigated to Dashboard -> Session End



Continue in next comment


Userlevel 1
Badge

Part (2 of 3)
Continuation.


Expectation

Ideally, Flow 1 and Flow 2 should have been the same flow.


Context

Events "Opened Application" and "Navigated to Dashboard" occur almost simultaneously (with 100ms-400ms interval)


Workaround

Since "Opened Application" and "Navigated to Dashboard" are always together, by hiding one of them, we were able to Hide "Navigated to Dashboard" in the flow and get the flow diagrams fixed.


Continue in next comment


Userlevel 1
Badge

Part (3 of 3)

Problem Identified

Our mobile app (client) is sending the events in the correct sequence. But the events are not logged in the correct order in the Mixpanel end.

I understand that there might be issues in the network latencies. But the client should be able to define the timestamp when sending an event.


As per https://developer.mixpanel.com/docs/http client can define the timestamp in seconds but not in milliseconds.


Suggestion

Mixpanel should support receiving of events with milliseconds property.

Thanks for reading through.


Userlevel 5
Badge +4

Hi @ragularuban!

Thank you for providing this detailed feedback on capturing milliseconds for events that are fired. I completely agree and see the use case value of this.

Unfortunately, at this moment the time property on events are in seconds, not milliseconds. When looking at the raw data of the "time" it can look like 10:36:52:00, but the 00's at the end are placeholders.

For context, we have "mp_processing_time_ms" which is an event property which we have always tracked (and has always been viewable when you view events in JSON in JQL), however, only recently we surfaced it to be viewable in the UI. This is due to the fact that we have multiple users ask for it in the UI. mp_processing_time_ms is the time in milliseconds (in UTC, regardless of your project settings) when that event was ingested. It can be a very helpful property if you are importing / exporting data, or using our server side libraries. However, "time" is the time the event was fired.

I have gone ahead and logged a product gap on your behalf here with our Product and Engineering team. Please make sure to follow the Idea - via the Follow button on the right hand column, to get real time updates on it.

 

Hi @stephanie, I don’t see the mp_processing_time_ms property you’ve mentioned in our events?

Is there something we need to do to switch it on?

 

Btw, I’m using the web (Javascript) SDK and I seem to be experiencing the same issue.

Userlevel 4
Badge +3

@jonathaneverwealth —

 

The Javascript SDK will automatically send mp_processing_time_ms as a default property — you should be able to see this in Live View and JQL, but it is not a property that is available within the property dropdown in reports such as Insights. 

Can you describe where you are seeing out of order events? Depending on what you are working with, it is important to point out the 2 second grace period that is factored into Explore activity logs and Funnels. 

 

Cherise

Reply