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

2408


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:**

Column Title
Column Title
**Rename a property**Click 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 type**This 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 property**This 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:**

Column Title
Column Title
**Show tracked values**Opens a report with the actual values tracked for your customers. This is useful for checking whether your tracking works when setting it up.
**Remove property**Learn how to delete a property already tracked in your data in our [article](🔗).
**Mark as personal data**Click on the 'lock' icon to mark that property as personally identifiable information (PII). Learn why in our [article](🔗).
**Move the property**You 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.
1258


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.

2406


## 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".

1919


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

  • All customers and their events

  • Selected events

  • Selected customer properties

1824


**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.

1380


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

2654


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 (persist events of types not listed here), any events tracked or imported to your project that is 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.

1919


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.

1155


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:



# Data types

1360


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.

992


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

The following data types are available:

Data typeColumn Title
**String**Textual format. We usually define IDs as strings too.
**Long text**
**Number**
**Boolean**Binary value. Works with values "true" / "false" and "1" / "0".
**Date and datetime**See below for full explanation.
**List**List 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`.
**URL**
**JSON**(Only available when importing data) Use this option when importing your data in the JSON format.
**Contact**Default 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
<ul> <li>UNIX timestamp</li> <li>2017-02-28</li> <li>2017-28-2</li> <li>25-02-2017</li> <li>2017/03/21</li> <li>21.3.2017</li> <li>21.03.2017</li> <li>03/21/2017 (US MM/DD/YY)</li> <li>21-03-2017 (EU DD/MM/YY)</li> </ul> **All distinct formats of times (optional)** <ul> <li>13:45</li> <li>13:45:01</li> <li>13:45:01.123 - note the fractions of seconds</li> </ul> **All distinct formats of ISO 8601 timezone designators** (optional, only when time is provided) <ul> <li>Z (UTC), +02:00, -02:30, +0200, +02</li> <li>20170103T12:13:14Z</li> </ul> **Combination of dates, times, and timezones from above** <ul> <li>e.g. YYYY-MM-DD hh:mm:ss.s TZD</li> <li>1997-07-16 19:20:30.45+01:00</li> <li>'28-02-2017 13:45:01.123', 'Europe/Bratislava'</li> <li>28-02-2017 13:45</li> <li>28-02-2017 13:45-02:00</li> <li>'2017-02-28 13:45:01', 'UTC'</li> </ul>

# Definitions

The Definitions tab allows you to manage and create [Aggregates](🔗), [Running aggregates](🔗), [Event segmentations](🔗), and [Expressions](🔗).

# Mapping

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.

1999


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.

1999


### **3. Catalogs**

1999


# 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

2832


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.

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!