In Mixpanel's Event page, the distinct ID appear as $device:<some_id>, while in Profile Page, it has overridden with the product's user ID. I already ensure identify() is correctly executed upon login. How can I make the distinct ID in the Event page sync with the user ID?
Hi Karen L., Please stand by as I search the Mixpanel knowledge base for an AI-powered answer. I normally take about 15 seconds or so. In case AI cannot answer your question, feel free to reach out to Mixpanel support at mixpanel.com/get-support. If you have follow-up questions for this thread, please tag me again with your question: @kapa.ai <follow-up question> đź‘‹
Feel free to ask a follow-up question once I've answered by mentioning me with @kapa.ai
Based on your question, it seems you're experiencing a discrepancy between how distinct IDs appear in Mixpanel's Event page versus the Profile page. This is related to Mixpanel's identity management system. The $device: prefix indicates you're seeing events from anonymous users (before they logged in). This is expected behavior in Mixpanel's ID management system. Let me explain what's happening and how to address it: ## Why This Happens Mixpanel has two ID merge systems: 1. **Simplified ID Merge**: In this system, the distinct_id is automatically set to the $user_id when a user is identified, and anonymous events use $device:<device_id> format. 2. **Original ID Merge**: In this system, the canonical distinct_id is selected by Mixpanel from any ID in the cluster, which can sometimes remain as the device ID even after identification. It appears you're using the Simplified ID Merge system, where events sent before a user logs in have the $device: prefix. ## How Identity Resolution Works When you call identify(), Mixpanel creates a mapping between the anonymous ID and the user ID. However, it can take up to 24 hours for this mapping to fully propagate through all parts of the system:
It may take up to 24 hours for this mapping to propagate to all other parts of the system. This means that, in some cases, when analyzing a funnel that spans pre-login and post-login behavior in real-time, some may be shown as dropped-off, even though they've performed the conversion event. [Identifying Users (Simplified)](https://docs.mixpanel.com/docs/tracking-methods/id-management/identifying-users-simplified#faq)
## Solutions 1. **Wait for propagation**: The identity resolution should eventually update, and the distinct IDs should be properly merged within 24 hours. 2. **Check your ID merge version**: Verify which ID merge system you're using in your project settings. This affects how distinct IDs are handled. 3. **For Original ID Merge users**: If you're using Original ID Merge, be aware that: > The canonical distinct_id is selected by Mixpanel using any of the IDs inside of a cluster. This means that even after identifying your user, Mixpanel may choose your user ID or one of the other IDs inside of the cluster (such as the device ID) to serve as the displayed ID for the user. **This is random and not user-configurable.** [Identifying Users (Original)](https://docs.mixpanel.com/docs/tracking-methods/id-management/identifying-users-original#faq) 4. **For data exports**: If you're exporting data, use the identity mapping table to resolve IDs correctly: > Use the resolved_distinct_id from the identity mappings table instead of the non-resolved distinct_id when available. [JSON Pipelines](https://docs.mixpanel.com/docs/data-pipelines/json-pipelines#user-identity-resolution)
The important thing to understand is that even if the distinct IDs appear different in the UI, Mixpanel is still correctly attributing all events to the same user behind the scenes, as long as you've properly implemented the identify()
call.
kapa.ai is still learning and improving, please let me know how I did by reacting below.
ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.