Reliable identification is the key to a clean database in Positive User. When you correctly identify your records, you ensure that automations trigger for the right people and that data from external systems matches the right profiles. Choosing the proper identifier helps you avoid duplicates and provides a consistent way to track your contact journeys.
By understanding the difference between system-generated and user-defined IDs, your team can build a more secure and scalable data structure.
In Positive User, you have three primary ways to identify objects like contacts, companies, and deals. Each serves a different purpose based on how you manage your data.
The System ID is a permanent, unique number assigned by Positive User the moment any object is created. You can find this ID at the end of the URL in your browser’s address bar whenever you are viewing a specific profile.
Characteristic: It is immutable and cannot be changed or deleted.
Best for: Internal system references and advanced REST API operations.

A Custom ID is a standard attribute that is empty by default and you define what value it is populated with. It is often imported from an external database, CRM, or online store (like a Shopify ID). Unlike the System ID, this is stored as a specific field on the object profile.
Characteristic: It is flexible and allows you to bridge the gap between Positive User and your other tools.
Best for: Ensuring contact X in your external system is always contact X in Positive User. Also, for connecting objects with each others (e.g., assigning contacts to companies).
For contacts, the email address can act as a natural identifier. It is the most common way to recognize people who interact with your forms or campaigns.
Characteristic: It allows for very easy deduplication. If you do not have a separate numeric ID from an external database, using the email address is highly recommended.
Best for: Keeping your database clean automatically.
Every contact has a System ID by default. Here is how to choose the right primary identifier for your daily work:
When to use an Email Address: This is usually your best option. It easily prevents duplicates when people fill out forms, subscribe to newsletters, or interact with your campaigns. This option doesn’t allow to keep multiple contacts with the same email address.
When to use a Custom ID: Choose this if your external platform (like a custom app) generates its own unique numbers. It keeps both systems perfectly mirrored and adds a layer of security if you choose to hash the values. It’s recommended to give custom ID to identifies contacts are these are the confirmed verified records.
When System ID is used: If no email or Custom ID is provided, Positive User relies on the System ID and browser cookies to track the person temporarily as an anonymous contact.
When to use a Custom ID: This is incredibly useful for assigning contacts to the companies automatically. By including an “company_id” attribute in your file during an import, Positive User connects the people to the right company profile instantly.
When a System ID is sufficient: Use this if your team builds the sales pipeline manually inside the app and does not need to sync company records with an external accounting tool.
The logic for deals support tickets follows the same pattern as companies and contacts.
The role of the System ID: You will rely on the automatically generated System ID for everyday work inside your pipeline or helpdesk. The app handles the background tracking as you move items through stages.
When to use a Custom ID: A Custom ID (like a deal ID or a ticket reference from another system) becomes necessary if your developers need to remotely update statuses or set specific attributes through the REST API or when you need to assign these objects to other ones (e.g., import tasks and assign them to deals)
Other objects in the system, such as support tickets, can be handled the same way - using System IDs for internal app navigation and Custom IDs for external API-driven updates.