-
Notifications
You must be signed in to change notification settings - Fork 220
Description
📌 Summary
We are actively using Openpanel in our product analytics infrastructure. While the Profiles feature is already quite powerful, it lacks a native representation for Devices — a critical component in multi-device environments such as mobile and desktop apps.
⸻
🚨 Problem
Currently, a Profile in Openpanel does not distinguish between different devices used by the same person. In real-world scenarios:
• A single Profile may interact with the system from multiple devices (e.g., phone, tablet, laptop).
• A single Device may be shared across multiple profiles (e.g., shared tablet or kiosk).
This missing granularity leads to limited tracking accuracy, especially for cross-device attribution, session mapping, and identity resolution.
⸻
âś… Proposed Solution
Introduce a first-class Device entity, related to Profiles, with the following structure:
Device { id: string, fingerprint: string, userAgent: string, platform: string, // iOS, Android, macOS, Windows, Web createdAt: datetime, updatedAt: datetime, profiles: [ProfileID] }
Each Profile can then be linked to one or more Devices, and each Device can be linked to one or more Profiles.
⸻
🔍 Key Benefits
• Enables cross-device session tracking
• Improves user journey visualization
• Supports per-device engagement analytics
• Enables fraud detection (e.g., multiple accounts from same device)
• Prepares the system for deeper identity graphs
⸻
đź”§ Suggested UI Integration
• Under the Profiles section, add a Devices tab.
• On the left menu (as shown in the screenshot), consider adding a “Devices” section under or near “Profiles”.
• On a specific profile detail page, display a list of associated devices and their metadata.
⸻
đź§ Optional Enhancements
• Device fingerprinting integration (e.g., FingerprintJS)
• Device location history
• Session-based device usage logs