order_product_property
Description
This table contains all the columns from order_primary (duplicated values along the different product properties and values of the same order) and contains additional columns about the product properties and values ordered (product_status_cd, product_qty, product_list_crncy_amt, product_discount_crncy_amt, product_margin_crncy_amt).
In addition, if a product property value is present in several products of the same order they will appear several times (e.g.: buying 3 products of the same brand will make the brand appear 3 times, once per product).
As the columns of the order_primary table are duplicated along the different product properties and values of the same order, it is important not to sum them while grouping by order only, which would cause over-counting.
Granularity
one row per:
order
product
product property name
product property value
Columns
Field name | Type | Mode | Description |
property_name | STRING | NULLABLE | PRIMARY DIMENSION - MUST BE SET TO AVOID OVERCOUNT - the product property name |
property_label | STRING | NULLABLE | the product property label (property_label should have easy to read values while property_name might have technical values) |
property_value | STRING | NULLABLE | PRIMARY DIMENSION - MUST BE SET TO AVOID OVERCOUNT - the product property value |
property_value_label | STRING | NULLABLE | the product property value label (property_value should have easy to read values while property_value_label might have technical values) |
order_id* | STRING | NULLABLE | the order identifier (external id provided by the exported data) |
order_tm* | TIMESTAMP | NULLABLE | the timestamp of the order |
order_sys_cd* | STRING | NULLABLE | the order system: ERP stands for ERP system, ECM for e-commerce system, provides a general distinction between data sources providing orders |
persona_id* | STRING | NULLABLE | the persona id (in most cases this is the account id of the customer from which he did the order) |
persona_type_cd* | STRING | NULLABLE | V for a visitor with a tracking ID only, U for a logged in user or an export from the ERP (typically will always be U) |
customer_id* | STRING | NULLABLE | the customer id (typically the e-mail address, can be different if another criteria was used for the de-duplication) |
customer_properties* | RECORD | REPEATED | the most important customer properties |
customer_properties. name* | STRING | NULLABLE | Name of the property |
customer_properties. value* | STRING | NULLABLE | Value of the property |
order_qty* | INTEGER | NULLABLE | the total quantity of products in the orders (in case 3 products are bought each with a quantity of 2, the value will be 6) |
order_products* | INTEGER | NULLABLE | the total amount of different products in the orders (in case 3 products are bought each with a quantity of 2, the value will be 3) |
currency_cd* | STRING | NULLABLE | the currency code (e.g.: ‘CHF’) |
total_crncy_amt* | FLOAT | NULLABLE | the total value of the orders (including delivery costs and reductions) |
total_margin_crncy_amt* | FLOAT | NULLABLE | the total margin value of the orders (simple calculation summing the margin of each product and not applying any additional costs or reductions) |
list_crncy_amt* | FLOAT | NULLABLE | the total value of the products list price (product price before discounts) |
discount_crncy_amt* | FLOAT | NULLABLE | the total value of the products final price (product price after discounts) |
avg_list_crncy_amt* | FLOAT | NULLABLE | the average value of the products list price (product price before discounts) |
avg_discount_crncy_amt* | FLOAT | NULLABLE | the average value of the products final price (product price after discounts) |
line_num | FLOAT | NULLABLE | the line number of the product in the order (only useful if the order of the products in the order list is needed) |
product_status_cd | STRING | NULLABLE | the status of the order for that product (as provided in the data exported to BigQuery) |
product_qty | INTEGER | NULLABLE | the quantity of purchases |
product_list_crncy_amt | FLOAT | NULLABLE | the unit product list price (product price before discounts) (should be multiplied with product_qty to get the full product value) |
product_discount_crncy_amt | FLOAT | NULLABLE | the unit product final price (product price after discounts) (should be multiplied with product_qty to get the full product value) |
product_margin_crncy_amt | FLOAT | NULLABLE | the unit product margin (should be multiplied with product_qty to get the full product value) |
product_owners | STRING | REPEATED | the product owners (not active by default, you can define filter rules to connect products to product owners (e.g.: suppliers) which you want to be able to select independently or in combination to the selection of any product or product property) |
account | STRING | NULLABLE | the account name (typically same for all orders with the value ‘main’) |
parameters | RECORD | REPEATED | general structure of parameters and values (in this table, it will mainly contain the key order properties) |
parameters. name | STRING | NULLABLE | Name of the property |
parameters. value | STRING | NULLABLE | Value of the property |
month | DATE | NULLABLE | can be ignored, required for BigQuery partitioning (the month of the order) |
copy from the order_primary table, duplicated values for all the products of the same order