Data Structure
  • 29 Apr 2022
  • 5 Minutes to read
  • Contributors
  • Dark
    Light

Data Structure

  • Dark
    Light

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

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.

www.mycompany.com

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”

 


Was this article helpful?