Skip to content

🎯 Feature Request: Device Support for Profiles #189

@nodesoftware

Description

@nodesoftware

📌 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions