Current version: 1.0

This page provides a sketch for creating abandoned cart mails. Not all attributes need to be filled, as not each shop system can provide all data or some data is decided not to be required for the usecase. However, having a common transaction type can ease development.

cart.idyesStringID of the cart
cart.dateyesTimestampTime information when the cart was updated last
cart.items yesJSONSet items in the cart. See table below for data definition.
cart.product_ids StringComma separated list of product IDs in the cart for easier filtering
cart.categories StringComma separated list of categories in the cart for easier filtering
cart.brands StringComma separated list of brands in the cart for easier filtering
cart.totalyesDoubleOverall price
cart.total_no_shipping*DoubleOverall price without shipping fees
cart.total_taxyesDoubleTaxes applied
cart.total_feesyesDoubleSum of fees, like shipping costs
cart.total_refundsDoubleSum of refunds
cart.fees  JSONSet of fees applied to the cart, e.g. shipping fee. See table below for data definition.
cart.refunds  JSONSet of refunds applied to the cart, e.g. some cashback. See table below for data definition.
cart.currencyyesStringCurrency, e.g. €
discount.code StringIf there is a simple discount code, e.g. a voucher code StringThe sum of discounts
discount.rules JSONSet of rules applied to the cart, e.g. vouchers. See table below for data definition.
discount.rules_string StringRules as a CSV string. Can be used for filters
customer.fullname StringFull name
customer.firstname StringFirst name
customer.lastname StringLast name *StringCustomer ID
generic.string_1 String
generic.string_2 String
generic.string_3 String
generic.string_4 String
generic.string_5 String
generic.string_6 String
generic.string_7 String
generic.string_8 String
generic.string_9 String
generic.string_10 String
generic.double_1 Double
generic.double_2 Double
generic.double_3 Double
generic.double_4 Double
generic.double_5 Double
generic.integer_1 Integer
generic.integer_2 Integer
generic.integer_3 Integer
generic.integer_4 Integer
generic.integer_5 Integer
generic.boolean_1 Boolean
generic.boolean_2 Boolean
generic.boolean_3 Boolean
generic.boolean_4 Boolean
generic.boolean_5 Boolean
generic.date_1 Date
generic.date_2 Date
generic.date_3 Date
generic.timestamp_1 Timestamp
generic.timestamp_2 Timestamp
generic.timestamp_3 Timestamp
generic.json_1 JSON
generic.json_2 JSON
generic.json_3 JSON

Attributes: cart.items

skuyesStringStock Keeping Unit
product id StringOften there is a product ID that differs from SKU
is_gift BooleanIndicates if it is a gift
titleyesStringTitle of the product
description*StringRegular description
short_description StringShort (teaser) description
review StringA review comment
release_date DateDate of product release
urlyesStringURL to the product in the shop
image_urlyesStringURL of the image to display
status*StringIdicates, if the product available, delayed, shipped, sold out, etc.
single_priceyesDoublePrice of a single product
totalyesDoubleTotal cost
categories*StringCategories as a CSV string StringID of a third party seller, e.g. for marketplaces StringName of the seller
seller.url StringURL to the details of a seller
attributes JSONIf there are attributes required that are missing or should be displayed, e.g. as a list
brand StringBrand
color StringColor
weight StringWeight
width StringWidth
height StringHeight
estimated_delivery_time StringE.g. “3 Working Days”


id StringInternal ID of the rule
nameyesStringReadable name of the rule
description StringDescription
totalyesDoubleNumber to display
type*StringDefines, if the discount is absolute or in percent

Attributes: cart.fees

id StringInternal ID of the fee
nameyesStringReadable name of the fee
description StringDescription
totalyesDoubleNumber to display

Attributes: cart.refunds

id StringInternal ID of the refund
nameyesStringReadable name of the refund
description StringDescription
totalyesDoubleNumber to display

Sourcecode for Cart Abandonments (PHP)