Skip to main content

Supported data types

Prerequisites

Before setting up the Snowflake integration, ensure you have:
  • Tables or views in Snowflake containing your data, with columns matching our schema
  • A Snowflake user with read access to the necessary tables/views for the integration

Step-by-step integration guide

1

Initial setup

Create a dedicated user in Snowflake for the integration with read access to the necessary tables. Provide the following credentials to your Customer Success Manager:
Send the information via secure password sharing.
Example
  "account": "abc1231231.eu-west-1",
  "username": "exampleuser",
  "password": "examplepassword",
  "role": "example_role",
  "database": "example_database",
  "warehouse": "example_Wh",
  "schema": "example_schema",
  "table": "example_table"
2

Specifying data tables and schema

Ensure each Snowflake table aligns with our schema. Columns must be named according to the column names specified in the schema below. This is crucial for accurate data integration.
3

Finalizing integration

After setting up the user and ensuring data mapping accuracy, our team will finalize the integration process, enabling data flow from Snowflake into our platform.
Multiple values Some fields allow multiple values. These fields can be added as column of Array type, like ["value1", "value2", "value3"].

Data schema

Costs

Marketing costs data for campaign tracking and ROI analysis.
Required:
DATE
date
required
Date of the campaign data (YYYY-MM-DD according to ISO8601).

Format: ISO 8601
Example: 2025-02-20
CHANNEL
string
required
Marketing channel used.

Example: Facebook
CHANNEL_GROUP
string
required
Group classification of the channel.

Example: Social paid
COST
number
required
Total cost associated with the campaign.

Example: 1500
COUNTRY
string
required
Targeted country (2 letters).

Format: ISO 3166
Example: SE
CURRENCY
string
required
Currency of the cost data (3 letters).

Format: ISO 4217
Example: SEK
CAMPAIGN
string
Name of the campaign.

Example: Summer Sale 2025

Indeliveries

Track incoming product deliveries to your warehouses.
Required:
PRODUCT_ID
string
required
Unique product identifier.

Example: AK0898
INDELIVERY_DATE
date
required
Expected or actual date of delivery for the items to the warehouse.

Format: ISO 8601
Example: 2025-02-20
QUANTITY
number
required
Quantity of items in delivery.

Format: Non-negative
Example: 1
VARIANT_NO
string
required
Product variant number. Unique identifier of product variant (eg. style, color, size).

Example: BUF036
WAREHOUSE
string
Warehouse identifier.

Example: warehouse-1

Inventory

Current stock levels and product attributes across all warehouses.
Required:
PRODUCT_ID
string
required
Unique product identifier. Same as in your datalayer on the website.

Example: AK0898
NAME
string
required
Product name.

Example: Black Dress no. 1
CURRENCY
string
required
Currency code for purchase price.

Format: ISO 4217
Example: SEK
VARIANT_NO
string
required
Product variant number. Unique identifier of product variant (eg. style, color, size).

Example: BUF036
COGS
number
required
Purchase price of the variant.

Format: Non-negative
Example: 120
QUANTITY
number
required
Available inventory quantity.

Format: Non-negative
Example: 124
WAREHOUSE
string
required
Warehouse identifier.

Example: warehouse-1
BRAND
string
Product brand.

Example: brand-1
CATEGORY
string
Product category.

Example: Apparel
SUB_CATEGORY
string
Product subcategory.

Example: Dresses
COLLECTION
string
Product collection.

Example: Summer collection
GENDER
string
Gender targeting for the product.

Example: Women
COLOR
string
Color of the product variant.

Example: Black
SIZE
string
Size of the product variant.

Example: M
MATERIAL
string
Material of the product variant.

Example: Polyester
GTIN
string
GTIN of the product variant.

Example: 734567890123
IMAGE_URLS
VARCHAR · multi
Image URLs for the variant. Must be a publicly accessible URL. Max size: 20MB.

Example: https://example.com/image.jpg
CUSTOM_ATTRIBUTE_1-20
VARCHAR
Up to 20 custom attributes for additional product or variant metadata.

Example: season-2024

Logistics

Shipping and fulfillment costs associated with orders.
The system supports both outbound shipments to customers and return shipments from customers.
ORDER_ID
string
required
The merchant order ID to associate the cost with.

Example: 4033186
INVOICE_NUMBER
string
required
Invoice number for reference and deduplication.

Example: INV-2025-001
DATE
string
required
Date when the logistics cost was incurred.

Format: ISO 8601
Example: 2025-10-27
CURRENCY
string
required
Currency code.

Format: ISO 4217
Example: EUR
COST
number
required
Cost amount.

Format: Decimal
Example: 4.5
SHIPMENT_TYPE
enum
required
Direction of shipment: "outbound" for customer deliveries, "return" for customer returns.

Format: outbound | return
Example: outbound

Orders

Customer transaction data including order details and line items.

How order data should be structured

Each row represents a unique order line, identified by the combination of ORDER_ID, PRODUCT_ID, and VARIANT_NO.
RequirementDescription
Unique rowsEach row must have a unique ORDER_ID-PRODUCT_ID-VARIANT_NO combination
Quantity handlingIf multiple items of the same variant were bought, aggregate them using QUANTITY_DECIMAL
Tax inclusionAll prices should include tax
Header repetitionOrder header fields (like ORDER_ID, CURRENCY, TOTAL) must be repeated for every line item in the same order
UpdatesWhen updating an order, include the UPDATED_AT field along with the changed fields
Storefront mappingTo map data to a specific storefront, fill out EXTERNAL_STOREFRONT_ID and provide us with info about your existing storefronts, see Storefront assignment
Required:
ORDER_ID
string
required
Unique order identifier from your e-commerce system. Used to link order lines and match with returns.

Example: D12345
CREATED_AT
datetime
required
Timestamp when the order was placed. Used as the primary date for order analytics.

Format: ISO 8601 - UTC
Example: 2025-01-13T11:36:45Z
COUNTRY
string
required
Customer's country code. Used for geographic segmentation and storefront mapping.

Format: ISO 3166
Example: SE
CURRENCY
string
required
Currency of all monetary values in the order (prices, totals, shipping, tax).

Format: ISO 4217
Example: SEK
SHIPPING
number
required
Total shipping fees charged to the customer, including tax. Set to 0 for free shipping.

Format: Non-negative
Example: 80
TAX_TOTAL
number
required
Total tax for the entire order, including product tax and shipping tax. Based on final paid amounts.

Format: Non-negative
Example: 200
TOTAL
number
required
Final order amount paid by customer after all discounts. Includes tax but excludes shipping. Includes cancelled items.

Format: Non-negative
Example: 3000
UPDATED_AT
datetime
required
Timestamp of the last order modification. Required when updating existing orders with new data.

Format: ISO 8601 - UTC
Example: 2025-01-13T11:36:45Z
CITY
string
Customer's shipping city. Used for geographic analysis and reporting.

Example: Stockholm
REGION
string
State, province, or region for the order. Used for regional sales analysis and reporting.

Example: California
ZIP_CODE
string
Customer's postal code without spaces. Used for geographic analysis and delivery zone reporting.

Example: 11613
CUSTOMER_IDENTIFIER
string
Unique customer identifier for cohort analysis and repeat purchase tracking. Can be customer ID, email, or hashed email.

Example: [email protected]
Default: UNKNOWN
EXTERNAL_STOREFRONT_ID
string
Identifier for the storefront or sales channel where the order originated. Used to separate analytics by storefront.

Example: CH-233
PAYMENT_PROVIDER
string
Payment method or provider used for the transaction (e.g., Klarna, Stripe, PayPal, Credit Card).

Example: Klarna
SHIPPING_PROVIDER
string
Primary carrier for the order (e.g., UPS, FedEx, DHL, PostNord). Can be overridden per line item.

Example: UPS
STATUS
enum
Overall order fulfillment status. CANCELLED orders are excluded from revenue calculations by default.

Format: PENDING | IN_PROGRESS | COMPLETED | CANCELLED
Example: PENDING
Default: UNKNOWN
TYPE
string
Sales channel type (e.g., ONLINE, RETAIL, WHOLESALE, MARKETPLACE). Used to segment order analytics.

Example: ONLINE
Default: ONLINE
VOUCHER
string
Voucher or discount code entered by the customer at checkout. Used for campaign performance tracking.

Example: BLACK_WEEK25
VOUCHER_DISCOUNT
number
Total discount amount applied by the voucher code. Deducted from order total.

Example: 1000
VOUCHER_TYPE
string
Category of voucher (e.g., DISCOUNT, FREE_SHIPPING, GIFT_CARD, LOYALTY_REWARD). Used for voucher analysis.

Example: DISCOUNT
Required:
PRODUCT_ID
string
required
Unique product identifier. Must match the product ID used in your website's data layer for accurate attribution.

Example: AK0898
VARIANT_NO
string
required
Unique variant identifier combining attributes like size and color. Must match inventory data for COGS lookup.

Example: BUF036
QUANTITY
number
required
Number of units sold. Supports decimals for products sold by weight or length. Aggregate if multiple of the same variant.

Format: Non-negative
Example: 2.5
ORIGINAL_PRICE
number
required
Full retail price per unit before any discounts. Including tax, excluding order-level voucher discounts.

Format: Non-negative
Example: 1000
Actual price paid per unit after item-level discounts. Including tax, excluding order-level voucher discounts.

Format: Non-negative
Example: 900
WAREHOUSE
string
Fulfillment warehouse for this line item. Used for inventory allocation and logistics analysis.

Example: warehouse-1
TAX
number
Tax amount per unit based on paid price.

Format: Non-negative
Example: 30
TAX_RATE
number
Tax rate as a percentage (e.g., 25 for 25% VAT).

Format: Non-negative
Example: 25
COGS
number
Cost of Goods Sold per unit. Overrides COGS from inventory data when specified. Use only if order-level COGS differs from inventory.

Format: Non-negative
Example: 200
COGS_CURRENCY
string
Currency of the COGS value. Required when COGS is specified.

Format: ISO 4217
Example: USD
PROMOTION_ID
string
Identifier of the promotion rule applied to this item. Links to your promotion management system.

Example: promotion-12345
PROMOTION_AMOUNT
string
Discount amount applied per unit from a promotion rule. Used for promotion performance analysis.

Example: 100
PROMOTION_TYPE
enum
How the promotion discount is calculated. FIXED for absolute amounts, PERCENTAGE for percentage-based discounts.

Example: FIXED
STATUS_LINE
enum
Fulfillment status for this specific line item. Overrides the order-level status when set.

Format: PENDING | IN_PROGRESS | COMPLETED | CANCELLED
Example: PENDING
SHIPMENT_ID
string
Tracking identifier for the outbound shipment from the shipping carrier.

Example: shipment-id
SHIPMENT_STATUS
enum
Current status of the outbound shipment tracking the item's delivery to the customer.

Example: CREATED
SHIPPING_PROVIDER_LINE
string
Carrier for this specific line item. Use when items ship from different locations or via different carriers.

Example: UPS
Include these fields to record returns directly in your orders table.
RETURNED_AT
date
Timestamp when the return was processed. Used to calculate time-to-return metrics.

Format: ISO 8601 - UTC
Example: 2025-01-14T11:36:45Z
RETURNED_QUANTITY
number
Number of units returned. Supports decimals for products sold by weight or length.

Format: Non-negative
Example: 1.5
RETURNED_REASON
string
Customer's reason for returning the item (e.g., TOO_SMALL, DEFECTIVE, WRONG_ITEM, CHANGED_MIND).

Example: TOO_SMALL
RETURNED_SHIPMENT_STATUS
enum
Current status of the return shipment tracking the item's journey back to the warehouse.

Example: DELIVERED
RETURNED_SHIPMENT_ID
string
Tracking identifier for the return shipment from the shipping carrier.

Example: shipment-id
RETURNED_SHIPPING_PROVIDER
string
Carrier handling the return shipment (e.g., UPS, FedEx, DHL, PostNord).

Example: UPS
RETURNED_WAREHOUSE
string
Destination warehouse where the returned item will be received and processed.

Example: warehouse-1

Troubleshooting and support

For common issues and solutions, contact our support team directly for assistance.

Additional resources