date: "2023-09-05" Author: "Sinisa Jovic"
Data Models Overview
Customers
Notes
Customer Id must be unique and to match customer from Transactions and any other entity group You can include up to 50 additional attributes not listed below in the table. All those attribute will be represented as attribute_{name_of_attribute} where name_of_attribute will be original name of your column lowercased with underscore instead of special characters or spaces
Entity | Description | Type | Is personal | Customer studio | Campaigning nonpersonalized | Campaigning personalized | Touchpoint recommender | Touchpoint search |
---|---|---|---|---|---|---|---|---|
customer_id | Unique customer ID (loyalty card or similar) | string | TRUE | mandatory | mandatory | mandatory | mandatory | optional |
is_active | Flag if customer is active | boolean | FALSE | mandatory | mandatory | mandatory | mandatory | optional |
alternative_id | Unique alternative_id (loyalty card or similar) | string | FALSE | recommended | recommended | recommended | recommended | optional |
mobile_device_token | Token generated through devices | array of string | FALSE | optional | optional | optional | recommended | optional |
cookie | Cookie generated through browsers | array of string | TRUE | optional | optional | optional | recommended | optional |
first_name | Customer's first name | string | TRUE | recommended | optional | recommended | optional | optional |
last_name | Customer's last name | string | TRUE | recommended | optional | recommended | optional | optional |
phone_number | Phone number to communicate | string | TRUE | optional | mandatory | mandatory | optional | optional |
Email to communicate | string | TRUE | optional | mandatory | mandatory | optional | optional | |
gender | Gender of the customer | string | TRUE | recommended | optional | optional | optional | optional |
birth_date | Date of birth of the customer | string (format "1970-01-31") | TRUE | recommended | optional | optional | optional | optional |
city | City of the customer | string | TRUE | recommended | optional | recommended | optional | optional |
customer_since | Date when the customer's loyalty card was issued | datetime | FALSE | recommended | optional | optional | optional | optional |
zip_code | Zip code for customer's location | string | TRUE | recommended | optional | optional | optional | optional |
attribute_{filter} | Additional data that can help provide richer insights (up to 100 different filters) | string | TRUE | recommended | optional | optional | optional | optional |
email_consent | Flag if customer want to be contacted through email | boolean | FALSE | recommended | mandatory | mandatory | optional | optional |
viber_consent | Flag if customer want to be contacted through viber | boolean | FALSE | recommended | mandatory | mandatory | optional | optional |
sms_consent | Flag if customer want to be contacted through sms | boolean | FALSE | recommended | mandatory | mandatory | optional | optional |
avg_basket_value (derived) | Average value of all baskets for customer | float | FALSE | optional | optional | optional | optional | optional |
avg_basket_size (derived) | Average number of items in baskets for customer | float | FALSE | optional | optional | optional | optional | optional |
avg_spent (derived) | Average spent amount of money by customer | float | FALSE | optional | optional | optional | optional | optional |
avg_number_of_visits (derived) | Average number of visits by customer | float | FALSE | optional | optional | optional | optional | optional |
dominant_store (derived) | ID of dominant store | string | FALSE | optional | optional | optional | optional | optional |
Transactions
Notes
Combination of transaction id, customer id, item id, purchase date, quantity, price is a unique raw are included
Entity | Description | Type | Is personal | Customer studio | Campaigning nonpersonalized | Campaigning personalized | Touchpoint recommender | Touchpoint search |
---|---|---|---|---|---|---|---|---|
transaction_id | Transaction/Invoice ID (unique ID of every transaction) | string | FALSE | mandatory | mandatory | mandatory | mandatory | optional |
transaction_type | Type of the transaction completed or other | string | FALSE | recommended | recommended | recommended | recommended | optional |
transaction_status | Status of the transaction | string | FALSE | recommended | recommended | recommended | recommended | optional |
transaction_datetime | Timestamp of the transaction | datetime | FALSE | mandatory | mandatory | mandatory | mandatory | optional |
customer_id | Unique customer ID if available (loyalty card or similar) | string | TRUE | mandatory | mandatory | mandatory | mandatory | optional |
item_id | Unique item/product ID | string | FALSE | mandatory | mandatory | mandatory | mandatory | optional |
quantity | Purchased quantity | float | FALSE | mandatory | mandatory | mandatory | mandatory | optional |
price | Price paid including vat (per transaction_id/item_id/quantity combination) | float | FALSE | mandatory | mandatory | mandatory | mandatory | optional |
price_excluding_vat | Price paid excluding vat (either for a single item/product or all if more than one in quantity) | float | FALSE | optional | optional | optional | optional | optional |
original_price | Original item/product price | float | FALSE | optional | optional | optional | optional | optional |
vat | vat amount for paid price | float | FALSE | optional | optional | optional | optional | optional |
currency | Currency of country where purchase happen | string | FALSE | mandatory | mandatory | mandatory | mandatory | optional |
discount_percent | Percent amount discount is applied | float | FALSE | optional | recommended | recommended | recommended | optional |
loyalty_points | Whether any loyalty points were earned with the purchase | float | FALSE | optional | recommended | recommended | recommended | optional |
delivery_phone | Customers phone used in transaction/order | string | TRUE | optional | optional | optional | optional | optional |
delivery_email | Customers email used in transaction/order | string | TRUE | optional | optional | optional | optional | optional |
delivery_address | Customers address used in transaction/order | string | TRUE | optional | optional | optional | optional | optional |
seller_id | Seller ID for item purchased in transaction | string | FALSE | optional | optional | optional | optional | optional |
carrier_id | Carrier ID handled delivery for item purchased in transactions | string | FALSE | optional | optional | optional | optional | optional |
store_id | ID of the store where the purchase was made | string | FALSE | recommended | recommended | recommended | optional | optional |
Items
Notes
Item Id must be unique and to match the item_id from Transactions and any other entity group
Entity | Description | Type | Is personal | Customer studio | Campaigning nonpersonalized | Campaigning personalized | Touchpoint recommender | Touchpoint search |
---|---|---|---|---|---|---|---|---|
item_id | Unique item/product ID | string | FALSE | mandatory | mandatory | mandatory | mandatory | mandatory |
is_active | Flag if item/product is active | boolean | FALSE | mandatory | mandatory | mandatory | mandatory | mandatory |
alternative_item_id | Unique alternative item/product id in case of two system's usage | string | FALSE | optional | optional | optional | optional | optional |
item_name | Item/Product name | string | FALSE | mandatory | mandatory | mandatory | mandatory | mandatory |
item_description | Detailed item/product description | string | FALSE | recommended | optional | optional | recommended | recommended |
item_sms_name | Item/Product name for sms message | string | FALSE | optional | optional | mandatory | optional | optional |
item_promotion_name | Item/Product name for viber, whatsapp and other online messages platforms | string | FALSE | optional | optional | mandatory | mandatory | mandatory |
price | Current price of item/product | float | FALSE | mandatory | mandatory | mandatory | mandatory | mandatory |
original_price | Original price of item/product without any special offer | float | FALSE | recommended | recommended | recommended | recommended | recommended |
currency | Currency of country where purchase happen | string | FALSE | mandatory | mandatory | mandatory | mandatory | mandatory |
discount_percent | Percent amount discount is applied | float | FALSE | optional | recommended | recommended | recommended | recommended |
loyalty_points | Loyalty point that can be achivied by purchasing the item/product | float | FALSE | recommended | recommended | recommended | recommended | recommended |
unit_measure | Detailed item/product description | string | FALSE | recommended | optional | optional | recommended | recommended |
item_main_image | Detailed item/product description | string | FALSE | recommended | optional | optional | recommended | recommended |
item_images | More item images in string devided by ; | string | FALSE | recommended | optional | optional | recommended | recommended |
item_url | URL to item page on webshop | string | FALSE | recommended | optional | optional | mandatory | mandatory |
category_level_0 | Null category level | string | FALSE | mandatory | optional | optional | recommended | recommended |
category_level_1 | Lowest category for the item/product | string | FALSE | recommended | optional | optional | optional | optional |
category_level_2 | Second lowest category of the item/product | string | FALSE | recommended | optional | optional | optional | optional |
category_level_3 | Third lowest category of the item/product | string | FALSE | recommended | optional | optional | optional | optional |
category_level_4 | Fourth lowest category of the item/product | string | FALSE | recommended | optional | optional | optional | optional |
category_level_5 | Fifth lowest category of the item/product | string | FALSE | recommended | optional | optional | optional | optional |
category_level_6 | Sixth lowest category of the item/product | string | FALSE | recommended | optional | optional | optional | optional |
category_level_7 | Seventh lowest category of the item/product | string | FALSE | recommended | optional | optional | optional | optional |
category_level_8 | Eight lowest category of the item/product | string | FALSE | recommended | optional | optional | optional | optional |
category_level_9 | Ninth lowest category of the item/product | string | FALSE | recommended | optional | optional | optional | optional |
attribute_{filter} | Attribute filtere example: Brand, value Bambi (up to 100 different filters) | string | FALSE | recommended | optional | optional | recommended | recommended |
additional_item_data | Additional item data in string-array | string | FALSE | recommended | optional | optional | recommended | recommended |
Leaflet
Entity | Description | Type | Is personal | Customer studio | Campaigning nonpersonalized | Campaigning personalized | Touchpoint recommender | Touchpoint search |
---|---|---|---|---|---|---|---|---|
item_id | Unique item/product ID | string | FALSE | mandatory | recommended | mandatory | recommended | optional |
alternative_item_id | Unique alternative item/product id in case of two system's usage | string | FALSE | optional | optional | optional | optional | optional |
is_active | Flag if item/product is active | boolean | FALSE | mandatory | recommended | mandatory | recommended | optional |
item_name | Item/Product name | string | FALSE | recommended | recommended | mandatory | recommended | optional |
item_description | Detailed item/product description | string | FALSE | recommended | optional | optional | recommended | optional |
item_sms_name | Item/Product name for sms message | string | FALSE | recommended | recommended | mandatory | optional | optional |
item_promotion_name | Item/Product name for viber, whatsapp and other online messages platforms | string | FALSE | recommended | recommended | mandatory | mandatory | optional |
price | Current price of item/product | float | FALSE | mandatory | recommended | mandatory | mandatory | optional |
currency | Currency of country where purchase happen | string | FALSE | mandatory | mandatory | mandatory | mandatory | mandatory |
original_price | Original price of item/product when product is not in special offering | float | FALSE | recommended | optional | recommended | mandatory | optional |
discount_percent | Percent amount discount is applied | float | FALSE | optional | optional | recommended | recommended | optional |
loyalty_points | Loyalty point that can be achivied by purchasing the item/product | float | FALSE | recommended | recommended | recommended | recommended | optional |
leaflet_id | Unique leaflet id | string | FALSE | optional | recommended | recommended | recommended | optional |
leaflet_name | Leaflet name | string | FALSE | optional | recommended | recommended | recommended | optional |
offer_start_datetime | Start of leaflet validity | datetime | FALSE | optional | recommended | recommended | recommended | optional |
offer_end_datetime | End of leaflet validity | datetime | FALSE | optional | recommended | recommended | recommended | optional |