You can import product events into Positive User from a CSV or XLSX file to add multiple records faster and more efficiently. This helps you avoid manual setup and makes it easier to bring structured event data into the platform. In this article, you’ll find out how to prepare your file and import product events correctly.
Before you begin, make sure your file is properly structured and that you understand how data is stored in Positive User. The platform uses both standard attributes (built-in fields such as email address or phone number) and custom attributes (fields you create yourself).
Products Origin: Set up a strategy of product management: how new products should be created in the app, how you want to update them and sed ew product event occurrences.
Types of Product Events: Check the list of available product event types available in this article. No other types can be imported to the workspace.
Match Standard Attributes: If your spreadsheet columns match standard attributes, you can import the file immediately.
Create Custom Attributes: If you want to include additional information that is not supported by default, you will need to create the relevant custom attributes first. Follow the steps in “How to Create a Custom Attribute“.
Verify Data Types: Make sure that each column has the correct attribute value type. For example, if you want to import "Scoring", make sure your attribute is an integer. If you want to import a "Date", set the attribute as datetime. Refer to “What Is an Attribute” for details on specific data types.
Before uploading, ensure your file is formatted correctly. If you aren't sure how your file should look, you can download a ready-to-use template directly from the app by clicking the “xlsx” or “csv” button in the “Data” → “Import” section.
To find more tips about data formatting, check our dedicated article.
Required Fields
Importing product events means that you upload specific product event occurrences to two timelines: the contact who performed them and the product interaction was with. (For example, history of purchases of a specific product). Due to that it’s obligatory to connect each occurrences to a specific contact and to a specific product. It can be done via “user_id”/”email” of the contact and “product_id” for the product.
The file must include the following columns:
product_id (custom ID of the product from your database)
user_id / email (identifier of the contact who performed the action)
timestamp (timestamp of the event occurrences in ISO 8601 format e.g. 2017-07-25T14:14:08.612Z)
event_type (the one from the list)
Passing the product name is optional. If you do not include it and the product does not already exist, the product will be created without a name.
Column Headings
Always include column headings in the first row of your file. Try to give your columns exactly the same names as the existing in Positive User attributes have. If the column name is identical to the attribute name, the system will match them automatically during import.
Encoding
What is encoding? Encoding tells the computer how to interpret the text characters in your file. The default and most highly recommended format is UTF-8. Choosing UTF-8 ensures that special characters, accents, and symbols are imported correctly without turning into random symbols.
Separator
What is a separator? In CSV (Comma Separated Values) files, a separator is the punctuation mark used to divide your text into distinct spreadsheet columns. Common separators are commas (,) or semicolons (;).
Multi-value Fields
If one column contains multiple values (for example, an attribute with the fixed choice type with multiple values allowed), separate them using the pipe character: “|”
Example: value1|value2|value3
Go to “Data” → “Importers” and choose “Import Product events”.


Upload or drag&drop the file.
Choose the encoding to be suitable to your file. (UTF-8 is a default one)
Choose the separator used in your file.

This step is about mapping the column headers from your file to the existing attributes in Positive User.
Auto-matching: If the name of the column in your file is exactly the same as the attribute name in the system, they will be matched automatically.
Manual matching: For unmatched columns, simply select the correct existing attribute from the drop-down menu to connect them.

Once all the columns from your file are matched with attributes, click “Next”. You will be redirected to the “Confirmation” step.
In the “Confirmation” step, you review the summary of the import and confirm the process. After confirmation, the system starts processing your file.

You can monitor the import process and check the final results in the “Import Results” section, where you are redirected automatically.
You can visit this section any time via “Data” → “Importers” → “Import Results” path.
Here you will see:
Import status (Started/Pending/Complete/Archived)
Date created
Completed at
Type (what kind of data was imported)
Created by (team member who uploaded the file)
File name
Total rows (from your file)
Succeeded (final number of rows imported)
Failed (shows number of failures)
If something goes wrong during the import, click on the file name to view a detailed error report.
Customize your product data by adding attributes that align with your business needs, allowing for more precise tracking and analysis.
Positive User does not store historical values of product event attributes (except event_type). Each new product event updates the current attribute values on the product profile. This means older values are overwritten.