Ordering

Detailed description of the ecommerce lifecycle events related to the customer's ordering activity

Introduction

These lifecycle events are associated with the key interactions that a customer has with the app or website while placing an order for a product.

Product Clicked

This event is triggered whenever a visitor clicks on a product. The following properties are supported by this event:

Property Name

Type

Description of the Property

product_id

String

Contains the database ID of the product being viewed

sku

String

Contains the SKU of the product

category

String

Contains the category of the product

name

String

Contains the name of the product being viewed

brand

String

Contains the name of the brand associated with the product

variant

String

Contains information of the variant associated with the product

price

Number

Contains the price of the product being viewed

quantity

Number

Contains the quantity of the product

coupon

String

Contains information on the coupon code associated with a product

position

Number

Contains the position of the product in the product list

url

String

Contains the URL of the product page

image_url

String

Contains the image URL of the product

An example of the Product Clicked event is as shown:

rudderanalytics.track("Product Clicked", {
  product_id: "123",
  sku: "F15",
  category: "Games",
  name: "Game",
  brand: "Gamepro",
  variant: "111",
  price: 13.49,
  quantity: 11,
  coupon: "DISC21",
  position: 1,
  url: "https://www.website.com/product/path",
  image_url: "https://www.website.com/product/path.png",
})

Product Viewed

This event is triggered whenever a visitor views a product. The following properties are supported by this event:

Property Name

Type

Description of the Property

product_id

String

Contains the database ID of the product being viewed

sku

String

Contains the SKU of the product

category

String

Contains the category of the product

name

String

Contains the name of the product being viewed

brand

String

Contains the name of the brand associated with the product

variant

String

Contains information of the variant associated with the product

price

Number

Contains the price of the product being viewed

quantity

Number

Contains the quantity of the product

coupon

String

Contains information on the coupon code associated with a product

currency

String

Contains the currency of the transaction

position

Number

Contains the position of the product in the product list

url

String

Contains the URL of the product page

image_url

String

Contains the image URL of the product

An example of the Product Viewed event is as shown:

rudderanalytics.track("Product Viewed", {
  product_id: "123",
  sku: "F15",
  category: "Games",
  name: "Game",
  brand: "Gamepro",
  variant: "111",
  price: 13.49,
  quantity: 11,
  coupon: "DISC21",
  currency: "USD",
  position: 1,
  url: "https://www.website.com/product/path",
  image_url: "https://www.website.com/product/path.png",
})

Product Added

This event is triggered whenever a visitor/customer adds a product to their shopping cart. The following properties are supported by this event:

Property Name

Type

Description of the Property

cart_id

String

Contains the cart ID of the cart to which the product was added

product_id

String

Contains the database ID of the product being viewed

sku

String

Contains the SKU of the product

category

String

Contains the category of the product

name

String

Contains the name of the product being viewed

brand

String

Contains the name of the brand associated with the product

variant

String

Contains information of the variant associated with the product

price

Number

Contains the price of the product being viewed

quantity

Number

Contains the quantity of the product

coupon

String

Contains information on the coupon code associated with a product

position

Number

Contains the position of the product in the product list

url

String

Contains the URL of the product page

image_url

String

Contains the image URL of the product

An example of the Product Added event is as shown:

rudderanalytics.track("Product Added", {
  product_id: "123",
  sku: "F15",
  category: "Games",
  name: "Game",
  brand: "Gamepro",
  variant: "111",
  price: 13.49,
  quantity: 11,
  coupon: "DISC21",
  position: 1,
  url: "https://www.website.com/product/path",
  image_url: "https://www.website.com/product/path.png",
})

Product Removed

This event is triggered whenever a product is removed from the shopping cart by the customer. The following properties are supported by this event:

Property Name

Type

Description of the Property

cart_id

String

Contains the cart ID of the cart to which the product was added

product_id

String

Contains the database ID of the product being viewed

sku

String

Contains the SKU of the product

category

String

Contains the category of the product

name

String

Contains the name of the product being viewed

brand

String

Contains the name of the brand associated with the product

variant

String

Contains information of the variant associated with the product

price

Number

Contains the price of the product being viewed

quantity

Number

Contains the quantity of the product

coupon

String

Contains information on the coupon code associated with a product

position

Number

Contains the position of the product in the product list

url

String

Contains the URL of the product page

image_url

String

Contains the image URL of the product

An example of the Product Removed event is as shown:

rudderanalytics.track("Product Removed", {
  product_id: "123",
  sku: "F15",
  category: "Games",
  name: "Game",
  brand: "Gamepro",
  variant: "111",
  price: 13.49,
  quantity: 11,
  coupon: "DISC21",
  position: 1,
  url: "https://www.website.com/product/path",
  image_url: "https://www.website.com/product/path.png",
})

Cart Viewed

This event is triggered whenever a visitor or customer views their shopping cart. The following properties are supported by this event:

Property Name

Type

Description of the Property

cart_id

String

Contains the cart ID of the cart to which the product was added

products

Array

Contains the list of products displayed in the product list

products.$.product_id

String

Contains the product ID displayed on the list

products.$.sku

String

Contains the SKU of the product being viewed

products.$.category

String

Contains the category of the product being viewed

products.$.name

String

Contains the name of the product being viewed

products.$.brand

String

Contains the name of the brand associated with the product

products.$.variant

String

Contains information of the variant associated with the product

products.$.price

Number

Contains the price of the product being viewed

products.$.quantity

Number

Contains the quantity of the product

products.$.coupon

String

Contains information on the coupon code associated with a product

products.$.position

Number

Contains the position of the product in the product list

products.$.url

String

Contains the URL of the product page

products.$.image_url

String

Contains the image URL of the product

An example of the Cart Viewed event is as shown:

rudderanalytics.track("Cart Viewed", {
  cart_id: "12345",
  products: [
    {
      product_id: "123",
      sku: "G-14",
      name: "Cards",
      price: 14.99,
      position: 1,
      category: "Games",
      url: "https://www.website.com/product/path",
      image_url: "https://www.website.com/product/path.jpg",
    },
    {
      product_id: "345",
      sku: "G-32",
      name: "UNO",
      price: 3.99,
      position: 2,
      category: "Games",
    },
  ],
})

Checkout Started

This event is triggered whenever an order or transaction is initiated after the customer or visitor clicks on the checkout button. The following properties are supported by this event:

Property Name

Type

Description of the Property

order_id

String

Contains the order ID or transaction ID, whichever is applicable

affiliation

String

Contains the store or affiliation details from where the transaction was started

value

Number

Contains the details of the revenue with the discount and coupons factored in

revenue

Number

Contains the revenue associated with the transaction, excluding the shipping and tax details

shipping

Number

Contains the shipping cost associated with the order or transaction

tax

Number

Contains the total tax associated with the order or the transaction

discount

Number

Contains the total discount associated with the transaction

coupon

String

Contains details of the transaction coupon which can be redeemed with the transaction

currency

String

Contains the currency code associated with an order or transaction

products

Array

Contains the list of products in the order or transaction

products.$.product_id

String

Contains the product ID displayed on the list

products.$.sku

String

Contains the SKU of the product being viewed

products.$.category

String

Contains the category of the product being viewed

products.$.name

String

Contains the name of the product being viewed

products.$.brand

String

Contains the name of the brand associated with the product

products.$.variant

String

Contains information of the variant associated with the product

products.$.price

Number

Contains the price of the product being viewed

products.$.quantity

Number

Contains the quantity of the product

products.$.coupon

String

Contains information on the coupon code associated with a product

products.$.position

Number

Contains the position of the product in the product list

products.$.url

String

Contains the URL of the product page

products.$.image_url

String

Contains the image URL of the product

An example of the Checkout Started event is as shown:

rudderanalytics.track("Checkout Started", {
  order_id: "1234",
  affiliation: "Apple Store",
  value: 20,
  revenue: 15.0,
  shipping: 22,
  tax: 1,
  discount: 1.5,
  coupon: "ImagePro",
  currency: "USD",
  products: [
    {
      product_id: "123",
      sku: "G-32",
      name: "Monopoly",
      price: 14,
      quantity: 1,
      category: "Games",
      url: "https://www.website.com/product/path",
      image_url: "https://www.website.com/product/path.jpg",
    },
    {
      product_id: "345",
      sku: "F-32",
      name: "UNO",
      price: 3.45,
      quantity: 2,
      category: "Games",
    },
  ],
})

Checkout Step Viewed

This event is triggered whenever a checkout step is viewed. The following properties are supported by this event:

Property Name

Type

Description of the Property

checkout_id

String

Contains the checkout transaction ID

step

Number

Contains the number associated with the checkout process step

shipping_method

String

Contains the information associated with the chosen shipping method

payment_method

String

Contains the payment method information

An example of the Checkout Step Viewed event is as shown:

rudderanalytics.track("Checkout Step Viewed", {
  checkout_id: "123",
  step: 1,
  shipping_method: "DHL",
  payment_method: "Mastercard",
})

Checkout Step Completed

This event is triggered whenever a checkout step is completed. The following properties are supported by this event:

Property Name

Type

Description of the Property

checkout_id

String

Contains the checkout transaction ID

step

Number

Contains the number associated with the checkout process step

shipping_method

String

Contains the information associated with the chosen shipping method

payment_method

String

Contains the payment method information

An example of the Checkout Step Completed event is as shown:

rudderanalytics.track("Checkout Step Completed", {
  checkout_id: "123",
  step: 1,
  shipping_method: "DHL",
  payment_method: "Mastercard",
})

Payment Info Entered

This event is triggered whenever payment information is successfully entered to complete an order or transaction. The following properties are supported by this event:

Property Name

Type

Description of the Property

checkout_id

String

Contains the checkout transaction ID

order_id

String

An optional string that contains the order ID

step

Number

Contains the number associated with the checkout process step

shipping_method

String

Contains the information associated with the chosen shipping method

payment_method

String

Contains the payment method information

An example of the Payment Info Entered event is as shown:

rudderanalytics.track("Payment Info Entered", {
  checkout_id: "12344",
  order_id: "123",
})

Order Updated

This event is triggered whenever an order or transaction is updated. The following properties are supported by this event:

Property Name

Type

Description of the Property

order_id

String

Contains the order ID or transaction ID, whichever is applicable

affiliation

String

Contains the store or affiliation details from where the transaction was started

total

Number

Contains the details of the revenue with the discount and coupons factored in

revenue

Number

Contains the revenue associated with the transaction, excluding the shipping and tax details

shipping

Number

Contains the shipping cost associated with the order or transaction

tax

Number

Contains the total tax associated with the order or the transaction

discount

Number

Contains the total discount associated with the transaction

coupon

String

Contains details of the transaction coupon which can be redeemed with the transaction

currency

String

Contains the currency code associated with an order or transaction

products

Array

Contains the list of products in the order or transaction

products.$.product_id

String

Contains the product ID displayed on the list

products.$.sku

String

Contains the SKU of the product being viewed

products.$.category

String

Contains the category of the product being viewed

products.$.name

String

Contains the name of the product being viewed

products.$.brand

String

Contains the name of the brand associated with the product

products.$.variant

String

Contains information of the variant associated with the product

products.$.price

Number

Contains the price of the product being viewed

products.$.quantity

Number

Contains the quantity of the product

products.$.coupon

String

Contains information on the coupon code associated with a product

products.$.position

Number

Contains the position of the product in the product list

products.$.url

String

Contains the URL of the product page

products.$.image_url

String

Contains the image URL of the product

An example of the Order Updated event is as shown:

rudderanalytics.track("Order Updated", {
  order_id: "1234",
  affiliation: "Apple Store",
  value: 20,
  revenue: 15.0,
  shipping: 22,
  tax: 1,
  discount: 1.5,
  coupon: "ImagePro",
  currency: "USD",
  products: [
    {
      product_id: "123",
      sku: "G-32",
      name: "Monopoly",
      price: 14,
      quantity: 1,
      category: "Games",
      url: "https://www.website.com/product/path",
      image_url: "https://www.website.com/product/path.jpg",
    },
    {
      product_id: "345",
      sku: "F-32",
      name: "UNO",
      price: 3.45,
      quantity: 2,
      category: "Games",
    },
  ],
})

Order Completed

This event is triggered whenever an order is completed successfully. The following properties are supported by this event:

Property Name

Type

Description of the Property

checkout_id

String

Contains the checkout ID

order_id

String

Contains the order ID or transaction ID, whichever is applicable

affiliation

String

Contains the store or affiliation details from where the transaction was started

subtotal

Number

Contains the order total after discounts but not including the taxes and shipping charges

total

Number

Contains the details of the revenue with the discount and coupons factored in

revenue

Number

Contains the revenue associated with the transaction, excluding the shipping and tax details

shipping

Number

Contains the shipping cost associated with the order or transaction

tax

Number

Contains the total tax associated with the order or the transaction

discount

Number

Contains the total discount associated with the transaction

coupon

String

Contains details of the transaction coupon which can be redeemed with the transaction

currency

String

Contains the currency code associated with an order or transaction

products

Array

Contains the list of products in the order or transaction

products.$.product_id

String

Contains the product ID displayed on the list

products.$.sku

String

Contains the SKU of the product being viewed

products.$.category

String

Contains the category of the product being viewed

products.$.name

String

Contains the name of the product being viewed

products.$.brand

String

Contains the name of the brand associated with the product

products.$.variant

String

Contains information of the variant associated with the product

products.$.price

Number

Contains the price of the product being viewed

products.$.quantity

Number

Contains the quantity of the product

products.$.coupon

String

Contains information on the coupon code associated with a product

products.$.position

Number

Contains the position of the product in the product list

products.$.url

String

Contains the URL of the product page

products.$.image_url

String

Contains the image URL of the product

An example of the Order Completed event is as shown:

rudderanalytics.track("Order Completed", {
  checkout_id: "12345",
  order_id: "1234",
  affiliation: "Apple Store",
  total: 20,
  revenue: 15.0,
  shipping: 22,
  tax: 1,
  discount: 1.5,
  coupon: "ImagePro",
  currency: "USD",
  products: [
    {
      product_id: "123",
      sku: "G-32",
      name: "Monopoly",
      price: 14,
      quantity: 1,
      category: "Games",
      url: "https://www.website.com/product/path",
      image_url: "https://www.website.com/product/path.jpg",
    },
    {
      product_id: "345",
      sku: "F-32",
      name: "UNO",
      price: 3.45,
      quantity: 2,
      category: "Games",
    },
  ],
})

Order Refunded

This event is triggered whenever an order is refunded. The following properties are supported by this event:

Property Name

Type

Description of the Property

order_id

String

Contains the order or transaction ID

An example of the Order Refunded event is as shown:

rudderanalytics.track("Order Refunded", {
  order_id: "1234",
  total: 20,
  currency: "USD",
  products: [
    {
      product_id: "123",
      sku: "G-32",
      name: "Monopoly",
      price: 17,
      quantity: 1,
      category: "Games",
      url: "https://www.website.com/product/path",
      image_url: "https://www.website.com/product/path.jpg",
    },
    {
      product_id: "345",
      sku: "F-32",
      name: "UNO",
      price: 3,
      quantity: 1,
      category: "Games",
    },
  ],
})

Order Cancelled

This event is triggered whenever an order is canceled. The following properties are supported by this event:

Property Name

Type

Description of the Property

order_id

String

Contains the order ID or transaction ID, whichever is applicable

affiliation

String

Contains the store or affiliation details from where the transaction was started

total

Number

Contains the details of the revenue with the discount and coupons factored in

revenue

Number

Contains the revenue associated with the transaction, excluding the shipping and tax details

shipping

Number

Contains the shipping cost associated with the order or transaction

tax

Number

Contains the total tax associated with the order or the transaction

discount

Number

Contains the total discount associated with the transaction

coupon

String

Contains details of the transaction coupon which can be redeemed with the transaction

currency

String

Contains the currency code associated with an order or transaction

products

Array

Contains the list of products in the order or transaction

products.$.product_id

String

Contains the product ID displayed on the list

products.$.sku

String

Contains the SKU of the product being viewed

products.$.category

String

Contains the category of the product being viewed

products.$.name

String

Contains the name of the product being viewed

products.$.brand

String

Contains the name of the brand associated with the product

products.$.variant

String

Contains information of the variant associated with the product

products.$.price

Number

Contains the price of the product being viewed

products.$.quantity

Number

Contains the quantity of the product

products.$.coupon

String

Contains information on the coupon code associated with a product

products.$.position

Number

Contains the position of the product in the product list

products.$.url

String

Contains the URL of the product page

products.$.image_url

String

Contains the image URL of the product

An example of the Order Cancelled event is as shown:

rudderanalytics.track("Order Cancelled", {
  order_id: "1234",
  affiliation: "Apple Store",
  total: 20,
  revenue: 15.0,
  shipping: 22,
  tax: 1,
  discount: 1.5,
  coupon: "ImagePro",
  currency: "USD",
  products: [
    {
      product_id: "123",
      sku: "G-32",
      name: "Monopoly",
      price: 14,
      quantity: 1,
      category: "Games",
      url: "https://www.website.com/product/path",
      image_url: "https://www.website.com/product/path.jpg",
    },
    {
      product_id: "345",
      sku: "F-32",
      name: "UNO",
      price: 3.45,
      quantity: 2,
      category: "Games",
    },
  ],
})

Contact Us

To know more about the RudderStack eCommerce spec, feel free to contact us or start a conversation in our Slack community. You can also request a demo to see RudderStack in action.

Last updated