Intro to Data Space

At the core of the D·engage platform is the scalable and high available relational database where you can store your data and create N:N relations between them.

Accessing the data does not require navigating a rigid pathway through a tree or hierarchy. Users can import, query and update any table in the database, and combine related tables using special join functions to include relevant data contained in other tables in the results. Results can be filtered based on the content of any column, and any number of columns, allowing users to easily create personalized content. All these functionalities are both provided through the use of the web UI and API.

D·engage Platform relational database is used for contact management, content management and personalization, campaign management, deliverability tracking and advanced analytics. It also enables any kind of third-party data sources to be integrated and activated, thus enriching your existing data and correlating different data pieces together, taking content personalization to a next level.

D·engage Data Space offers a wide range of features and capabilities for creating, retrieving, updating and deleting data and data tables in the system.

This section gives an introduction and an overview on the general functions and terms you will need to familiarize yourself with. Give this a read before you start your data onboarding process.

Master_Contact Table

master_contact table is the central table in the Data Space. It is the master table where you will upload your contacts and keep them updated.

This table stores contact related information including contacts's opt-in permissions, channel engagement, contact statuses and more.

Each contact in this table is uniquely identified by the primary key contact_key. Users can add as many columns as they like to the Master Contact Table through API calls or through the web UI.


Creating relations between Master_Contact table and Standalone tables for selected primary keys is possible whereas creating relations between Sys_Contact table and Sendable tables is not allowed.
There is no limit in the number of relations created between tables.

Sendable Table

A Sendable table is a type of table which is linked with any of the columns of the master_contact table. Your Campaigns can be directly sent to these types of tables. Since the table is linked to the Master Contact, the required opt-in permissions for different channels are retrieved from the master_contact table automatically.

Creating a Sendable table requires creating a relation between a specific table and the master_contact table by linking any of its columns with the primary key of that corresponding table. Since the selected column is allowed to store TEXT type data, make sure to match a primary key column type TEXT on the corresponding table.

Standalone Table

Standalone tables are used to store any relevant data to be used while creating segments and personalized content for marketing campaigns. N-N relations can be created between different standalone tables for selected primary key values.

You have the option to link a standalone table to master_contact table with the primary key contact_key. When performed, that particular standalone table becomes a Sendable table to which campaigns can be directly sent to.


If a Standalone table has data stored in it, it is not possible to link it to the master_contact table from that point on. We recommended that you convert a standalone table to a Sendable table at the importing stage by linking it via the contact_key.

Data Types

  • TEXT:

TEXT value must not exceed 16384 characters in length and must contain only UTF-8 characters.

  • EMAIL:

A valid EMAIL data type consists of an email prefix and an email domain, both in acceptable formats. The prefix appears to the left of the @ symbol. The domain appears to the right of the @ symbol.

For example, in the address [email protected], "example" is the email prefix, and "" is the email domain.

The EMAIL data type length must not exceed **255 characters**, **including the @ sign.**
  • DATE:

DATE data type format is YYYY-MM-DD.
For example, a valid DATE value should look like 2018-12-18 or 2016-01-30


DATETIME data type format is yyyy-MM-dd HH:mm
For example, a valid DATE value should look like 2018-12-31 15:30

  • PHONE:

PHONE data type starts with a 2 digit Country Code followed by area code and the number; 44xxxxxxxxxx

For example, 

A valid PHONE value for Germany should look like 4989414171717

A valid PHONE value for the UK should look like 447717780000

INTEGER data type can store any value between -2,147,483,648 and 2,147,483,647


DECIMAL data type can contain up to 131072 digits before the decimal point; up to 16383 digits after the decimal point. The decimal point separator is a point, not a comma.
For example, a valid DECIMAL value should look like 8765.123


The BOOLEAN data type can get 2 valid values: true, false