Hi team, Iām seeing inconsistent deviceId values between funnel events for what appears to be the same user. For example:
Event 1: onboardLanding
Event 2: clickCategory
Both events happened within milliseconds, from the same city (Jeonju, South Korea), same browser (Whale), same OS (Android), and same referrer (m.search.naver.com), but the deviceId is different, so Mixpanel treats them as separate users and doesn't connect them in the funnel.
Hereās a screenshot showing the issue š (attach image) How can we fix or prevent this kind of tracking inconsistency? Itās impacting our funnel conversion analysis.
Hi again š Just wanted to follow up as I believe our case might be different from the usual distinctId merging delay. In our case, two events (onboardLanding and clickCategory) occur within milliseconds from the same user (same location, browser, OS, and referrer), but the deviceId is already different at the time of ingestion. It doesn't seem to be a delay issue ā Mixpanel never merges them afterward. So the user journey breaks and isn't captured in the funnel at all. Would appreciate if the Support team could take a closer look into this š (Added š« to the thread as well!)
Hi Sophie- Julianne from Mixpanel Support here.
I agree that it doesn't sounds like the ID Merge delay in this case since the deviceId is different at the time of ingestion. From the screenshot, both events are being sent with the Javascript SDK. The different device deviceId values indicates that there may be mulitple instances of the Javascript SDK intialized on the page. If the SDK is initialized multiple times it can cause the behavior seen.
Are you able to check to see if the page has mulitple mixpanel.init() calls?
Good to see you, Julianne! i'm a developer in the same team with Sophie. Our project is built by Vue. And we track the events using GTM. So, the initialization is called twice with same library name before. So, as you said, we remove all the codes about Mixpanel in Vue. But, same cases are happening in our service. (First event has a different device id.). I know that the initialization is called automatically when i track the event. So, the only thing what i did in this project is creating the tag using GTM Mixpanel Template and triggering it. Or, does reset() method make this problem? The project must call reset() method when a user enters the project. I change the code now to call reset() when users logout only and monitor the problem. Below is the project we had problems... https://mixpanel.com/project/3846686/view/4342429/app/events Thank you for your cooperation!!! š
Thanks for the response! I'm not able to provide project-specific troubleshooting since this is a public forum. You can submit a ticket via our web form to have someone take a look at the specific project.
Calling reset() will clear the user's stored distinct_id and generate a new one. This also includes generating a new $device_id. If that was being called between the events, it would also lead to the behavior seen.
It sounds like you are initializing multiple Mixpanel instances- one directly on the site and one via GTM. Is that the case? If so, those separate instances would track events to different distinct_ids. You would need to consolidate the tracking in one instance to have the events tracked to one user.Ā 
Thank you for your answering! Actually, i did intialize multiple Mixpanel instances with same library name in the past. And now, it is done in GTM only. So, it's not the case. And i finally found that the reset() method is the reason why inconsistency happened. Thank you for your contribution!!!
Glad you were able to figure out the issue!




