Ecommerce

General Data Requirements

Before preparing your data tables, please review the following universal formatting rules.

The below represents Optimove's required data schema. If you are unable to provide your data in the requested schema, you will be requested to supply a clear mapping from your schema to the Optimove standard schema as part of the onboarding process. This ensures a smooth data integration and avoids delays.

Data Formatting

  • Decimal Precision: All decimal-type attributes must be rounded to a maximum of four decimal places. For example, a value of 4.56789 must be formatted as 4.5679. This applies to all monetary fields and other decimal values.
  • Currency Conversion: All monetary figures must be converted into a single, consistent currency across all tables.

Required Data Tables

The following data tables describe the content, format, and labels of the required data.

  1. Customers – Each row describes the attributes of a single customer
  2. Orders_Summary – Each row represents an order transaction
  3. Orders_Items – Each row represents an item within a transaction
  4. Items_Catalog – Each row represents item IDs and their associated categories, departments, and brands

Customers

KeyFieldData TypeDescription
PKCustomer_ID**string/intUnique customer identifier
Registration_Date**dateDate the customer registered
Email*string (max 250)Mandatory when using Optimail or if required by external ESP
Mobile_Number*stringMandatory if required by external service provider
Date_Of_BirthdateCustomer’s date of birth
Is_OptInstringDetermines whether it is acceptable to send promotional messages to the specified player. Should hold the values 'Yes' or 'No'.
Allow_Email*stringDetermines whether sending promotional Email messages to the specified email address is acceptable. Should hold the values 'Yes' or 'No'.
Allow_SMS*stringDetermines whether sending promotional SMS messages to the specified mobile address is acceptable. Should hold the values 'Yes' or 'No'.
Allow_Push*stringDetermines whether sending promotional Push messages to the specified mobile number is acceptable. Should hold the values 'Yes' or 'No'.
Is_Email_VerifiedstringDetermines whether the email address is verified. Should hold the values 'Yes' or 'No'.
Is_SMS_VerifiedstringDetermines whether the mobile number is verified. Should hold the values 'Yes' or 'No'.
Is_Blockedstring'No’ = regular customer ; 'Yes’ = blocked customer (e.g. fraud)
Is_Teststring'No’ = regular customer ; 'Yes’ = test customer
GenderstringCustomer’s gender. Must hold values ‘Male’, ‘Female’, ‘Unknown’
CountrystringCustomer’s country
CitystringCustomer’s city
AddressstringCustomer’s address
First_NamestringCustomer’s first name
Last_NamestringCustomer’s last name
LanguagestringCustomer’s language
CurrencystringCustomer’s currency
Referral_TypestringThe method by which the customer was referred to your site (e.g., SEO, Affiliate, Advertising, Marketing, etc.).
Registered_PlatformstringThe platform the customer had registered with (e.g. Web, Android App, iOS App, etc.)
Last_Login_DatedateThe date of the customer’s last login to the website
Allow_WhatsappstringDetermines whether sending promotional WhatsApp messages to the specified mobile number is acceptable. Should hold the values 'Yes' or 'No'.
Updated_DatedateDate when the record was last modified or added (Mandatory in case of DB to DB connection)
Is_Optin_Email_Time_Stamp*TimestampDetermines when it is acceptable to send promotional Email messages to the specified email address in case of approval

Notes:

  • Please include any additional information that you find helpful
  • IsOptinEmailTimeStamp* - In case Optimove will manage the “unsubscribe” for the Opti-Mail integration please include an additional column to describe when the customer opts in \ out, to allow perfect sync with the daily batch.
  • The email field must not exceed 250 characters (varchar(250)). This constraint is required to ensure compatibility with database and external ESP systems.

*=Mandatory if required for the execution channel integration

**=Always mandatory

Orders_Summary

KeyFieldData TypeDescription
PK, FKOrder_ID**stringUnique order identifier
FKCustomer_ID**stringID of the associated customer
Number_of_ItemsintThe number of items purchased in the order
Payment_MethodstringThe method of payment method (e.g. Credit Card, PayPal, etc.)
Total_Refund_Amount**decimalThe total amount that was refunded in the order
Total_Item_PricedecimalThe total price of all items in the order, before deductions.
DiscountdecimalTotal discount granted
Shipping_CostdecimalCosts of shipping
Total_TaxdecimalTotal tax amount of order
Total_Payment**decimalFinal payment amount made by the customer (after refund and cancellations deduction)
Order_Date**dateDate the order was placed
Store_TypestringType of store associated with the order. Should hold values ‘Web’ or ‘Store’.
Promo_CodestringID of the promo code used for the purchase.
Updated_Date**dateDate the record was updated or added.

Note: Please include any additional information that you find helpful.

** Always Mandatory

Order_Items

KeyFieldData TypeDescription
PKOrder_Item_ID**stringUnique identifier of an item in an order
FKOrder_ID**stringUnique order identifier
FKProduct_ID**stringUnique product identifier
SKUstringSKU of the purchased item
Number_of_ItemsintThe number of items purchased of the product.
Item_PricedecimalThe price of a single item
DiscountdecimalThe discount applied to the item*
Refund_AmountdecimalThe amount that was refunded for items
Return_DatedateDate of the return of items

Note: Please include any additional information that you find helpful.

** Always Mandatory

*If a discount is given on the entire order, the value should be 0

Items_Catalog

KeyFieldData TypeDescription
PK, FKProduct_ID**stringUnique product identifier
Item_NamestringName of item
Item_DescriptionstringDescription of item
CategorystringItem category
DepartmentstringThe department associated with the item
BrandstringThe brand associated with the item
Last_UpdateddateLast date the item was updated or added.

Note: Please include any additional information that you find helpful.

** Always Mandatory

Database Schema