String
You can use the ‘String’ data type in the Zeotap Catalogue to represent text, numbers and alpha-numeric values like Firstname, Lastname as per your use case. Note that the operations available in the activation/downstream modules like Audiences and Journeys depend on the data type selected when adding the catalogue field. In the below image, you can see the illustration of an example of a Catalogue field added as a String, along with the associated operations available for that specific field in Audience.
Integer
You can use the ‘Integer’ data type in the Zeotap Catalogue to represent whole numbers like Age, Customer ID. Ensure that you map any incoming field of integer values to an Catalogue field of the integer type only. Otherwise, you may encounter ingestion failures for those records or for the file. Note that the operations available in the activation/downstream modules like Audiences and Journeys depend on the data type selected when adding the catalogue field. In the below image, you can see the illustration of an example of a Catalogue field added as an Integer, along with the associated operations available for that specific field in Audience.
Double
You can use the ‘Double’ data type in the Zeotap Catalogue to represent decimal/floating numbers such as cart_value, car_price. Ensure that you map any incoming field of type double to an Catalogue field of the double type only. Otherwise, you may encounter ingestion failures for those records or for the file. Note that the operations available in the activation/downstream modules like Audiences and Journeys depend on the data type selected when adding the catalogue field. In the below image, you can see the illustration of an example of a Catalogue field added as a Double, along with the associated operations available for that specific field in Audience.
NoteWhen you opt for European notation of decimal, which is using comma, you need to apply the necessary customtransformation before storing the value. Otherwise, it may lead to ingestion error. Ensure to find and replace custom transformerfor such fields at the time of mapping the source. For more information about how to use the custom transformation enricherwhile mapping the source, refer here.
Timestamp
You can use the Timestamp data type in the Zeotap Catalogue to denotes a specific point in time, typically recording when an event occurred. In other words, it refers to a precise date and time combination, stored in a format that enables chronological sorting and calculations between different time instances. For Example, 2023-11-30 15:45:00 - This timestamp represents November 30, 2023, at 3:45 PM. Note that the operations available in the activation/downstream modules like Audiences and Journeys depend on the data type selected when adding the catalogue field. In the below image, you can see the illustration of an example of a Catalogue field added as a Timestamp, along with the associated operations available for that specific field in Audience.
NoteFor information about the different formats that can be selected for Timestamp, refer here.
List (Array) of String/Integer/Double
This represents a type of attribute in the Zeotap catalogue which can hold any incoming data that is of the type string, integer or double or a List of string integer or double. This incoming data is stored as a list of values against a user profile. For instance, you can map a list of incoming source data ofcars or productcode to List type catalogue fields. That is, the the values for car is mapped to List of strings and values for the productcode is mapped to List of integers and the result is as shown below.
List of String
cars:["Ford", "BMW", "Fiat"]
List of Integer
Productcode:[1102,1105,1456]
Note that you can also map a single value string, integer and double and store it as a List in Zeotap. Let’s consider an example to understand this better. Imagine you have incoming data of Cars for the UserID: U1 as shown in the table below.
| UserID | Cars |
|---|---|
| U1 | Ford |
| U1 | BMW |
| U1 | Fiat |
List of Strings within the Zeotap Catalogue, then it organises these individual car entries into a unified list format as shown below.
cars:["Ford", "BMW", "Fiat"]
Note:Ensure that you consider the following points while selecting the
List Data Type:- You can map both
Listand single-value source fields to theListtype catalogue field. Therefore, when a single value source field comes into the system for this Category, then the new data is upserted (update+insert) on the existing data without overwriting it. For example, if the source field is a single value field like “Product Name” and it is mapped toProdNamefield of the data typeListin the Catalogue, then any new value that comes into the system for the product name will append to the existing one in the format, {p1, p2, p3…}, preserving the previous entries. - You can only map a source field of the data type
Listto a catalogue field of the data typeList. For example, if the source field is of type List of String, then you can map it to only List type attributes in the Catalogue field drop-down of the source mapping screen. - When sharing source data containing
Listtype information, ensure that you use the correct format and avoid null values. Otherwise, it might lead to mapping issues or data being dropped during the data ingestion process. - By default, you can store up to 200 values only per List attribute and can create up to 15 List attribute only in your Zeotap catalogue. For
List of String/Integer/Doubleunder User trait or Product category, FIFO logic is applied after reaching the limit for new value ingestion. Reach out to your Zeotap POC for any specific requirements about the system limit. - The
Object,ListandList of Objectdata types are only supported for the categories–User trait, Product, Event and Campaign. Raw personally identifiable information (PII) is not supported for these data types. Hence, refrain from mapping PII information to these types.
Object
Object represents a type of attribute in Zeotap Catalogue that can hold a JSON object that contains one or more key-value pairs, also called properties. In the following example, producItem is an object in a user profile with properties, ProductName, price and photo as shown below.Code
Note:Ensure that you consider the following points while mapping the
Object data fields:- By default, you can store up to 50 properties in an object and create maximum up to 10 object type catalogues in your Zeotap account. Please note this limit includes both catalogue datatypes Object and List of Objects, therefore there can be a total of
10 object and list of objects catalogue attributes in your Zeotap account. Reach out to your Zeotap POC for any specific requirements about the system limit. - We recommend you to share the
objecttype data is shared in the following format only:- Enclose the data within curly braces {}. For example,
Code- Separate each key-value pair with a comma. Note that the order of key-value pairs is irrelevant.
- A key-value pair consists of a key and a value, separated by a colon ( : ).
- The
Object,ListandList of Objectdata types are only supported for the categories–User trait, Product, Event and Campaign. Raw personally identifiable information (PII) is not supported for these data types. Hence, refrain from mapping PII information to these types.
Scenarios of using the ‘Object’ Data Type
Scenario 1: Let’s say, there is an existingproducItem object in a user profile with properties, ProductName, price and photo as shown below.
Code
producItem object, it replaces the above object stored in the user profile as shown below.
Code
Code
emailcan be mapped to the Email raw attribute of typeID.hasclickedcan be mapped to the hasclicked attribute of typeevent.hasclickedtimecan be mapped to the timestamp attribute of typeevent.
Object data among the two profiles will be retained against the profile.
List (Array) of Objects
List of Object represents a type of attribute in the Zeotap catalogue that can hold a list of JSON objects that contains one or morekey-value pairs, also called properties. It can be used to store an object or List of object from source data as a List of object type attribute in the Zeotap catalogue.
When adding a Catalogue field, if you choose List of Object as the Data Type as shown in the image below, then along with adding the properties for the object, you need to select a property as the Primary Key. A Primary key can be used to ensure a unique set of objects in the list when executing an upsert operation.
For example, imagine you are a TV broadcasting company that serves three customers: Viewer A, Viewer B and Viewer C. Each has unique preferences(properties) for TV package (object) - subscription name,renewal date, engagement scores and package cost. These details are subject to change with time. Here, by configuring the incoming data as List of Objects and choosing the subscription name as the Primary Key, you establish a crucial link between records that allows the system to update and insert the data for the properties renewal date , engagement scores and package cost, whenever new data arrives for the respective fields. Based on the result obtained, you can plan your marketing strategies accordingly. Note that without this designated Primary Key, incoming data would merely accumulate without ensuring the accuracy of your customer records.
Note:Ensure that you consider the following points while selecting the
List of Objects Data Type:- By default, you can store up to 200 objects only per List of Object attribute, upto 50 properties per object and can create up to 10 List of Objects attribute only in your Zeotap catalogue. Please note this limit includes both catalogue datatypes Object and List of Objects, therefore there can be a total of _10 object and list of objects catalogue attributes in your Zeotap account. _For
List of Objectunder User trait or Product category, FIFO logic is applied after reaching the limit for new value ingestion. Reach out to your Zeotap POC for any specific requirements about the system limit. - The
Object,ListandList of Objectdata types are only supported for the categories–User trait, Product, Event and Campaign. Raw personally identifiable information (PII) is not supported for these data types. Hence, refrain from mapping PII information to these types.
Sample JSON Structure for “List of Objects”
Code