Data Structure
General Information
If you have a look at the data that is stored for you on the SFTP-server you will find the following folder structure. If you navigate to a specific day you will find two files: <filename>_json.zip and <filename>_csv.zip.
If you then decompress one of these archives you will find - separated to individual files - the data that was tracked that day. If you have a lot of traffic than the files will be split into multiple smaller files instead of one big one → example: user1.json, user2.json, user3.json.
JSON Archive
The JSON-archive includes the complete raw data of that specific day stored as .json files. Most JENTIS users use the .csv files to get started quickly in a flat file format and store the .json files into their own data lake to have it ready for future use cases.
CSV Archive
The CSV-archive includes .csv files with a sub selection of the most frequently used variables. These .csv files are convenient to be used for most general use cases as the nested properties of the JSON are already spread into separate columns.
Folder Structure
![image-1651156989963.png](../__attachments/845643897/image-1651156989963.png?inst-v=f24ed5ce-e1b7-4905-8527-03c7e7fd345b)
Data Structure
The following objects and fields are provided in the raw data. Each document (objects that were submitted via _jts.push track command) gets its own file when decompressed. All JENTIS Raw Data outputs have at minimum the documents: user, session and event. Additionally there are all the documents that are optional (pageview, product, order, etc).
Documents
A document in the JENTIS internal data model is an object that is tracked. The system internally generates two mandatory documents on all activities: user and session. Additionally each object that is pushed to the JENTIS Data Layer is considered a document, ie. "pageview", "event", "product" or any document you define in your tracking implementation process. This is based on the "track" command that is described in detail here: JENTIS Data Layer Fundamentals.
Each document has entries with the following fields.
Mandatory Fields
Name | Type | Description | Example |
_id | String | This is the JENTIS internal identifier for this document. The _id is unique across the whole system and always has the type string. | “11111111111111111“ |
account | String | The account is the container name, as configured in the JTM plus the environment name. If you unsure what your environment is, expect “live“. Both values are concatenated via a dot. | “mycompany.live“ |
triggerReason | String | Trigger Reason is the reason why this document was created. The value is the Tag Name that is configured in your JTM | “productView“ |
timestampClient | Integer | The unix timestamp of when this document was created on your visitors browser. | 1649842308000 |
timestampLastTouch | Integer | The unix timestamp of when the complete processing of this document was finished. TimestampClient - timestampLastTouch = total processing time | 1649842309000 |
Additional Fields
User
Per default the user document doesn’t have any additional fields.
Session
Name | Type | Description | Example |
property.window_navigator_<variableName> | - | Under this name you can find every navigator-variable that was available on your visitors browser. The properties can be accessed by adding “property.window_navigator_“ to whatever variable you are interested in as a prefix. Example: property.window_navigator_language |
|
property.window_screen_<variableName> | - | These variables are all the window-screen variables that were available on your visitors browser. The properties can be accessed by adding “property.window_screen_“ to whatever variable you are interested in as a prefix. Example: window_screen_width |
|
parent.user | String | This is the _id of the user document of the user responsible for this session. | “11111111111111111“ |
Pageview
Name | Type | Description | Example |
property.href | String | The url of the site where the pageview was triggered. | “www.mycompany.com“ |
property.pageTitle | String | The pagetitle of the site where the pageview was triggered. | “Welcome to mycompany!“ |
parent.user | String | This is the _id of the user document of the user responsible for this pageview. | “11111111111111111” |
parent.session | String | This is the _id of the session document of the session responsible for this pageview. | “22222222222222222” |
Event
Name | Type | Description | Example |
property.href | String | The url of the site where the pageview was triggered. | |
property.group | String | The value of this variable will be the name of the group this event belongs to. | “Visitor Interaction“ |
property.name | String | The value of this variable will be the name the event that got triggered. | “Scroll Depth“ |
property.value | String | Here you will find the value of the event. | “25%“ |
parent.user | String | This is the _id of the user document of the user responsible for this event. | “11111111111111111” |
parent.session | String | This is the _id of the session document of the session responsible for this event. | “22222222222222222” |
Productview
Name | Type | Description | Example |
property.productId | String | The product id of the product that was viewed. | “e23dj45kjh“ |
property.productName | String | The name of the product that was viewed. | “My beautiful table“ |
property.productPrice | Float | The price of the product that was viewed. | 19.99 |
property.productDiscount | Float | If there was a discount for the product, it will be shown here. Example: The product that was viewed is on sale and is 20% cheaper than usual → 0.2 will be stored in this field. | 0.2 |
parent.user | String | This is the _id of the user document of the user responsible for this event. | “11111111111111111” |
parent.session | String | This is the _id of the session document of the session responsible for this event. | “22222222222222222” |
AddToCart
Name | Type | Description | Example |
property.productId | String | The product id of the product that was added to the cart. | “e23dj45kjh“ |
property.productName | String | The name of the product that was added to the cart. | “My beautiful table“ |
property.productPrice | Float | The price of the product that was added to the cart. | 19.99 |
property.productDiscount | Float | If there was a discount for the product, it will be shown here. Example: The product that was viewed is on sale and is 20% cheaper than usual → 0.2 will be stored in this field. | 0.2 |
property.productQuantity | Integer | How many times was this specific product added. | 2 |
parent.user | String | This is the _id of the user document of the user responsible for this event. | “11111111111111111” |
parent.session | String | This is the _id of the session document of the session responsible for this event. | “22222222222222222” |
Sale
Name | Type | Description | Example |
property.productId | Array of strings | The product ids of all the products that were bought in this purchase. | [“e23dj45kjh“, “a3fd5klas“] |
property.productName | Array of strings | The name of the products that were bought in this purchase. | [“My beautiful table“, “Nice Chair“] |
property.productPrice | Array of floats | The price of the products that were bought in this purchase. | [19.99, 5.99] |
property.productDiscount | Array of floats | If there was a discount for the product, it will be shown here. Example: The product that was viewed is on sale and is 20% cheaper than usual → 0.2 will be stored in this field. | [0.2, 0] |
property.productQuantity | Array of integers | The quantity for every bought product. | [1,2] |
property.orderId | String | The order of this purchase. | “asdf3f3ad“ |
property.orderTotal | Float | The total cost of the items bought, excluding shipping. | 31.97 |
property.shipping | Float | The total shipping costs for this purchase. | 5 |
parent.user | String | This is the _id of the user document of the user responsible for this event. | “11111111111111111” |
parent.session | String | This is the _id of the session document of the session responsible for this event. | “22222222222222222” |
Search
Name | Type | Description | Example |
property.searchTerm | String | The term used in the search bar. | “brown chair“ |
property.amountResults | Integer | The amount of results the search resulted in. | 3 |
property.foundIds | Array of strings | All the product ids that were shown for this search | [“a3a33r“,”k8k8s2”, “g5g55“] |
parent.user | String | This is the _id of the user document of the user responsible for this event. | “11111111111111111” |
parent.session | String | This is the _id of the session document of the session responsible for this event. | “22222222222222222” |