Data Manager

The Data Manager allows you to manage the following elements of your project:

  • Add, edit, or delete customer and event properties
  • Create definitions (aggregates, running aggregates, event segmentations, and expressions)
  • Set event expiration
  • Map your events and customer attributes so they can be recognized by Bloomreach Engagement

You can access the Data Manager by navigating to Data & Assets > Data Manager. Here you will find the manager with four tabs for each of the key elements: Customer Properties, Events, Definitions, and Mapping.

You can also watch this video to get a basic understanding of the features in the Data Manager:

Customer properties and events

These two tabs include all of the imported, tracked or manually created customer attributes and events in your project.

Basic actions


Firstly, you can see a green or red dot next to each attribute. This signifies whether that attribute is already tracked in your data (green) or not yet (red).

There are several actions you can do with each property:

Rename a propertyClick on the property's name to rename it. This is not possible for those that are already tracked in your data. If you want to rename such a property/event, you will need to delete all associated data from Bloomreach Engagement first.
Define the data typeThis affects how Bloomreach Engagement treats that property. When filtering data, for example, the data type will decide what type of operators will be shown by default to match that type. It also affects how the values are shown in the customer profile. Learn more about data types in our article.
Provide a description of the propertyThis is highly recommended as this will be displayed as a tooltip for all users when working with the properties in Bloomreach Engagement, as shown in the screenshot below.

Hover over a property with your mouse to reveal the following buttons on the right side:

Show tracked valuesOpens a report with the actual values tracked for your customers. This is useful for checking whether your tracking works when setting it up.
Remove propertyLearn how to delete a property already tracked in your data in our article.
Mark as personal dataClick on the 'lock' icon to mark that property as personally identifiable information (PII). Learn why in our article.
Move the propertyYou can drag and drop each property to a different place or even a different group. This is important as it also defines how properties are displayed in the drop-down lists when working in Bloomreach Engagement. See the screenshot below.

The description defined in the Data manager will be displayed as a tooltip when working with properties. The order and grouping of properties also reflects how it is set in the Data manager.

Group and reorder properties

The order and grouping of properties in the Data manager reflect how they are displayed in Bloomreach Engagement as shown in the screenshot above. This is very useful as it will speed up your work by showing the most important data where you want it.

There is a button + Add group at the bottom. You can then place each property into one group for easier navigation. In the screenshot above, we defined a group called "Basic info" (hidden behind the tooltip), containing the most essential data about our customers, and "Others". You can also hide each group in these views by clicking on it.

Note that some elements such as IDs, consents, aggregates, expressions, etc. are grouped automatically.

Additional event level

Events have an additional level (several events and each can have several attributes), which means that you can reorder and group events as well as reorder and group their attributes within each event. Click on the event to manage its attributes. All settings work in the same way as described above.


Marking properties as PII

You can mark each customer and event property as PII (personally identifiable information) by clicking on the "lock" icon on the right side. We strongly recommend doing so for GDPR compliance. Learn more.

Delete events and properties

Get access to this feature by migrating to the new pricing model that considers processed events.

To delete an event or customer property that has not been tracked yet, simply click on the "bin" icon next to it. If there already are values tracked for this property, you must delete those values first. if you have admin access and you want to delete events follow these steps:

1. Click on the three-dots button in the top right corner and click "Data deletion".


2. Select what you want to delete. You can choose:

  • All customers and their events
  • Selected events
  • Selected customer properties

3. Click "Delete data"

4. Depending on the size of your database, the deletion process might take a few minutes. Once the user confirms the deletion, the delete job starts in the background. If you chose to delete a whole event regardless of the event attributes and time of the tracking you will see a loading icon next to the property in the data manager while it is being deleted and once it is done, the dot on the left will turn red. After that, you can click on the "bin" icon next to that property to delete it from your data structure.


However, if you only chose to delete events with specific attributes and within a specific timeframe there will be no feedback once the job is completed. Any new events created in the time between the job started and finished should not be impacted so some events matching the filter might remain even after the deletion process.


Reimporting deleted data

If you delete imported data you might not be able to re-import them back because the system could recognize them as duplications.


Deleting event property

Event property can be deleted only after deleting all events of a given event type.
For example, if you have only a few events with session_start.example_property, in order to delete the example_property, you have to delete all events of a given type.
In this case, you would need to first delete all session_start events.

Check event property value against a list of other event properties

It is an everyday use case to check if an event attribute value is present in other event attributes.

For example, if you have a purchase event with an attribute id that contains the id of purchase and a purchase_cancelled event that contains the same id of purchases that were canceled. To check the revenue from all purchase events that were not canceled, you need to exclude purchase ids stored in purchase_cancelled events. Here to exclude purchases with id 1234.

Another use case will be to select all unused issued voucher codes. There is a way to achieve this with definitions. Let's review an example setup based on voucher events step by step. In the example setup, the task is to select all unused voucher events. Imagine that you have the following events:

2 voucher events with different codes and status = assigned and 1 voucher event with status = used. Since, in this example, you want to fetch those voucher codes that were assigned to the customer but not used, you need to fetch the code attribute value from the voucher event that has the "code2" value stored in its code attribute. For that, you need to create 2 definitions:

  • An event expression that would select all codes from voucher events with status used. That will create a list of all used codes.
  • An aggregate that will select all unused vouchers.

The aggregate will store all unused vouchers.

That is the last step. Only two definitions - an event expression and customer aggregate are required for this use case. You can then see all unused voucher codes in the aggregate and use them in campaign personalization.

Block tracking of undefined events


By default, any events that are tracked or imported to your project will appear in your data, even if not defined in the Data Manager. If you disable this toggle (allow tracking of events not defined in the Data Manager), any events tracked or imported to your project that are not defined in the Data Manager will be blocked and ignored. This only applies to the event level (so if you upload an event that is defined in the Data Manager, but with attributes that are not, these will be added).

Event expiration

To access these settings go to the Data Manager, click on the three-dots button in the top right corner, and then on Expiration or on the clock icon on the right from an event name.


Data takes a lot of storage and not all types of events are necessary to keep forever. In order to keep your usage under control, it is possible to set up the automatic expiration of events after a certain period of time. By default, session_start and sesion_end are set to expire after 3 months and page_visit after 30 days. Other events are kept forever unless you change the setting.



Expiration periods

Event expiration setup does not count months as calendar months but rather as 30-day periods.

E.g.: If you set your event to expire after 1 month, it is the same as setting it to expire after 30 days. Similarly, if you set it to 3 months, the data will expire after 90 days.


Expiration date of the same event type

If you wish to specify the expiration date of the same event type, such as page_visit, remember that the filters will work similarly as in the case of segmentation, and you need to put the more precise filter before the more general one.

For example:
You want to delete the data regarding when your customers visited your website after 30 days, but you want to keep the data regarding the page visits from Chrome forever; the setup should be:


Recommended expiration periods

Find the concrete recommened expiration periods for events here.

Data types


You can define the correct data type for each attribute by clicking on the data type field. The data type affects how Bloomreach Engagement treats those values. When filtering data, for example, the data type will decide what type of operators will be shown by default to match that type. It also affects how the values are shown in the customer profile.


Value "28.9.1996 13:45" imported under different data types and shown in a customer profile.

The following data types are available:

Data type
StringTextual format. We usually define IDs as strings too.
Long text
BooleanBinary value. Works with values "true" / "false" and "1" / "0".
Date and datetimeSee below for full explanation.
ListList of individual items.
Import list attributes in the following format: ["item 1", "item 2"]. When a comma is used as a delimiter, you need to enclose the list in double-quotes, and values within two double-quotes characters so that it is clear whether a comma is a separator of values or import columns.

This can also be an array of objects in the following format: [{item_id: "1234", item_quantity:3}, {item_id: "2345", item_quantity:2}]. This is used for example as the product_list attribute of cart_udpate.
JSON(Only available when importing data)
Use this option when importing your data in the JSON format.
ContactDefault data type for phone customer attribute. It serves as default channel for two-way messaging communication. This type can not be changed as it is used for customer profile handling rules.


Tracked values must match the configured data types within Bloomreach

When sending data into Bloomreach, values that do not conform to the configured data types within the defined schema under Data & Assets > Data Manager will be discarded and will not be subjected to processing.

Although the data types can be changed at any point (except Contact data type), be cautious with the list values as these are processed differently when imported under an incorrect data type.

Supported Date and time formats

Bloomreach Engagement has 2 types of date format - one called "Date" and the other one is "Datetime". The only difference is that a "Date" attribute only displays the date in a customer profile, while an attribute defined as "Datetime" also displays hours and minutes. However, this does not have an impact if you filter data and also both types support all formats described below. That means that even if you import the date with hours and minutes only as "Date", Bloomreach Engagement will still store the time and you will be fully able to work with it in the filters. Moreover, you can always change the attribute type later.

Unsupported formats:
* Times with a.m. / p.m. notation
* Non-numeric months (e.g. Jan, February, etc.)
Supported formats:
Combination of dates, times and timezones from above
-e.g. YYYY-MM-DD hh:mm:ss.s TZD
-1997-07-16 19:20:30.45+01:00
-'28-02-2017 13:45:01.123', 'Europe/Bratislava'
-28-02-2017 13:45ISO8601
-28-02-2017 13:45-02:00
-'2017-02-28 13:45:01', 'UTC'


Please note that those supported formats are supported only when doing imports. When you are using them in API, only UNIX formats are supported - please refer to the API documentation.

Custom HTML / CSS

  • UNIX timestamp

  • 2017-02-28

  • 2017-28-2

  • 25-02-2017

  • 2017/03/21

  • 21.3.2017

  • 21.03.2017

  • 03/21/2017 (US MM/DD/YY)

  • 21-03-2017 (EU DD/MM/YY)

All distinct formats of times (optional)

  • 13:45

  • 13:45:01

  • 13:45:01.123 - note the fractions of seconds

All distinct formats of ISO 8601 timezone designators (optional, only when time is provided)

  • Z (UTC), +02:00, -02:30, +0200, +02

  • 20170103T12:13:14Z

Combination of dates, times, and timezones from above

  • e.g. YYYY-MM-DD hh:mm:ss.s TZD

  • 1997-07-16 19:20:30.45+01:00

  • '28-02-2017 13:45:01.123', 'Europe/Bratislava'

  • 28-02-2017 13:45

  • 28-02-2017 13:45-02:00

  • '2017-02-28 13:45:01', 'UTC'


The Definitions tab allows you to manage and create Aggregates, Running aggregates, Event segmentations, and Expressions.


The data mapping feature enables Bloomreach Engagement to understand your events structure, customer properties, and catalogs while keeping your own naming standards.

This makes it possible to retain custom events, properties, or definitions during cloning between projects and drastically speeds up the process of deploying Plug&Play predefined use cases. Furthermore, correctly set up data mapping helps with recommendations and prediction engines and it makes it easier to set up a predictive-based campaign for your project.

1. Events

This section will allow you to map your own custom events to the predefined events in Bloomreach Engagement. Upon selecting a specific event, you will be able to further map the event attributes.

This includes events, such as Purchase, Purchase item, Add to cart, Remove from cart, View item, View category, Return item, Search, Add to wishlist, or Remove from wishlist.



Permissioned access to Campaigns events settings

Due to the stability and reliability of our platform, Campaigns settings now have permission access. Any change to mapping can be executed only after a discussion with Account Managers.

2. Customer properties

This section will allow you to map specific customer properties, such as first_name or last_name.


3. Catalogs


Import analyses and definitions

This function allows you to import elements from other projects, such as analyses, campaigns, and definitions.

  1. Go to Data Manager, click on the three-dots button in the top right corner, and click 'Definition Import & Export'.

  2. Click Import in the top panel.

  3. Paste your data in JSON format. The steps below explain how to format your data.

  4. Click Start import and the elements will appear in your project.

Exporting analyses and definitions


This function allows you to export elements from your project, such as analyses, campaigns, and definitions.

  1. Go to Data Manager, click on the three-dots button in the top right corner, and click 'Definition Import & Export'.

  2. Click Export in the top panel.

  3. Select the components you'd like to export.

  4. You can choose from 2 options:

  • Clone to project will allow you to directly select a project (only for projects where you have access) to which you want to copy the elements.
  • Start export will export the data in the JSON format, which then can be imported to other Bloomreach Engagement projects. Simply copy the JSON text that will pop up and then follow the steps above for importing data to your destination project.

Technical details

For cloned scenario email nodes, email campaigns, or email templates, the email provider is replaced by the default provider configured in the target project. In case the default provider is not configured, the email provider is left unset.

All campaigns are reset to the status 'Draft' upon cloning. For example, cloning a running campaign will not start the campaign in the target project.

Authentication integrations (in webhooks) and Ads integrations (in ads audiences) used in scenarios are removed and must be added manually after cloning.

Encrypted parts of the webhook, such as secret headers, or usernames and passwords in the case of legacy webhooks, are removed and not imported.

Size Limitations of the Data Manager

  • You can store up to 255 customer attributes with a maximum value size of 128Kbits (or 16KBytes) per attribute. After reaching the storage limit any tracking containing new customer attributes will be discarded.
  • You can store up to 255 different event types. After reaching the storage limit any tracking containing new event types will be discarded.
  • You can store up to 255 different event properties per event type. After reaching the storage limit any tracking containing new event properties will be discarded.


Are you looking to store more information?

You can complement typical attributes with aggregates, running aggregates, expressions, and segmentations to store more information about your customers and events.

Additionally, you can store larger volumes of data you plan to use more sparsely in a data storage solution.

Limitations of tracked events:

  • We recommend using smaller events with repeated event attribute values. Try to avoid using serialized JSON as an event attribute which is in a form of a long and unique text. A good example of a repeated attribute value is an item type or a common URL!
  • For each event type, try to keep the average event attribute size under 1 KB and the maximum event attribute size under 8 KB. Similarly, the total maximum event size should not exceed 20 KB.

Our system is designed for fast processing and copes well with many small-sized events. To make the best use of it, limit the size of your tracked events!