Skip to main content
Julia.LiMarzi
Klaviyo Employee
Klaviyo Employee
November 27, 2020

Placed order vs. Ordered Product Events: What's the difference?

  • November 27, 2020
  • 17 replies
  • 27119 views

If you have an ecommerce integration added to your Klaviyo account, you’ll see both Placed Order and Ordered Product events in your account. But what is the difference and why does Klaviyo include both?

Placed Order

Every order in your e-commerce store will generate one Placed Order event for the entire order. This event will include all line items, the value of the order, the categories or collections the products are from, item count, and other important information that pertains to the entire order. Placed Order value will equate to the total order value, including shipping and any applied discounts.

Ordered Product

On the other hand, Ordered Product events occur for each individual item ordered. These events don’t include information about the overall order, but have more detailed information about the individual item purchased, such as sku, or different variations and product attributes. The information included in this event will vary based on your ecommerce platform. 

If a customer orders one product from your shop, you will see one Placed Order and one Ordered Product event. However, if another customer orders 3 different products from your shop, there will be one Placed Order event and 3 Ordered Product events. The Ordered Product value will equate to the total value of the item purchased, with no shipping costs or discounts included.

Why Both?

Having both event metrics allows you to look at your data in different ways and trigger different flows. Placed Order is great for look at order level data, understanding average order value, and triggering Order Confirmation emails. Ordered Product is good for understanding which products are most popular and creating product specific cross-sell and up-sell flows. 

Have any other questions about these two metrics? Post them below and let’s discuss!

 

This topic has been closed for replies.

17 replies

Contributor I
January 18, 2021

When creating the new card for my Business Health Check dashboard, is the Avg. Daily Placed Order Rate based off total delivered emails or opened emails?

Julia.LiMarzi
Klaviyo Employee
Klaviyo Employee
January 20, 2021

Hi @CheefDamien great question! That number is an average taken of your Placed Order Rate based on the time period selected.

The Placed Order Rate is calculated as the number of placed orders / the number of recipients.

-Julia
Contributor II
November 22, 2021

Has anyone tried using “Placed Order” to segment people who have ordered from a list of products?

If you select multiple items, will it only segment for people who have purchased ALL of those items, or will it segment for people who have purchased ANY of those items?

Trying to avoid using Ordered Product and adding a new filter separately for each product.

Contributor I
January 5, 2022

Has anyone tried using “Placed Order” to segment people who have ordered from a list of products?

If you select multiple items, will it only segment for people who have purchased ALL of those items, or will it segment for people who have purchased ANY of those items?

Trying to avoid using Ordered Product and adding a new filter separately for each product.

This is what I’m trying to figure out. Did you ever get an answer?

alex.hong
Klaviyo Alum
January 5, 2022

Hi there @ThunderKatie  and @Kyle Sinko!

Hope to provide some info here!

The best way to do this is to utilize one of the following segment definitions: 
?name=inline-1702653327.png
?name=inline-702750095.png

You can create various segments using the AND and OR conjoining segment criteria. This would allow you to either group customers that have bought a series of products or create one segment of customers that have bought any of a specific number of items. Utilizing AND means a customer has to order all of the included products in order to join the segment.  Utilizing OR means a customer has to order only one of the included products in order to join the segment.  

Placed Order allows you to pull multiple items at one time, Ordered Product allows you to specify one product for the segment. 

Hope this helped!

Alex

Contributor I
January 5, 2022

Hi there @ThunderKatie  and @Kyle Sinko!

Hope to provide some info here!

The best way to do this is to utilize one of the following segment definitions: 
?name=inline-1702653327.png
?name=inline-702750095.png

You can create various segments using the AND and OR conjoining segment criteria. This would allow you to either group customers that have bought a series of products or create one segment of customers that have bought any of a specific number of items. Utilizing AND means a customer has to order all of the included products in order to join the segment.  Utilizing OR means a customer has to order only one of the included products in order to join the segment.  

Placed Order allows you to pull multiple items at one time, Ordered Product allows you to specify one product for the segment. 

Hope this helped!

Alex

Thanks for the clarification Alex!

Just a follow up question, you mention “Placed Order” allows you to pull multiple items at one time. This is what my unclearness revolves around. If I were to do this, how is it treated?

For example, do all the products listed have to be in the placed order? If someone places an order containing just one of the products, does that pass the criteria? Cheers

alex.hong
Klaviyo Alum
January 6, 2022

Hi @Kyle Sinko!
Glad I could clarify a bit!
To answer your question, it would depend on the segment definition for how items are called in. In regard to your example, when doing a Placed Order → Item → Contains product X,Y,Z each product is treated as an OR definition. Meaning that although multiple items are listed it would segment for all users who have ordered any of the items that contain X,Y,Z.

Hope that made sense!
Alex

March 6, 2022

Am building a custom integration and struggling to understand why we need to post both “Placed Order” events as well as individual “Ordered Product” events when a customer places an order.

I would have expected Klaviyo to generate the “Ordered Products” events automatically, triggered by the “Placed Order” event.

There is no new information in these “Ordered Product” calls that couldn’t have been derived from the “Placed Order” call.

Am I missing something?

alex.hong
Klaviyo Alum
March 7, 2022

Hi @crobinuk,

Think of a customer ordering a product as one event as a whole. The placed order metric would give macro level detail and ordered product would give micro level details about that specific event.

If the integration you were building were to track info that a customer ordered, how would that integration know what they ordered and each detail of that item?

That is where placed order and ordered product work together to give you all that information. As mentioned in the original post by Julia, 

Having both event metrics allows you to look at your data in different ways and trigger different flows. Placed Order is great for look at order level data, understanding average order value, and triggering Order Confirmation emails. Ordered Product is good for understanding which products are most popular and creating product specific cross-sell and up-sell flows. 

Ordered product calls generate new information regarding specific item data as opposed to a placed order metric that looks at the customer’s cart as a whole.

 

Thanks,

Alex

March 7, 2022

Thanks @alex.hong 

I understand your point, it’s just that the “Placed Order” metric already contains all the exact same data points as the “Ordered Product” event. 

From https://developers.klaviyo.com/en/docs/guide-to-integrating-a-platform-without-a-pre-built-klaviyo-integration

Placed Order:

"Items": [{ "ProductID": "1111", "SKU": "WINNIEPOOH", "ProductName": "Winnie the Pooh", "Quantity": 1, "ItemPrice": 9.99, "RowTotal": 9.99, "ProductURL": "http://www.example.com/path/to/product", "ImageURL": "http://www.example.com/path/to/product/image.png", "Categories": ["Fiction", "Children"], "Brand": "Kids Books" }, { "ProductID": "1112", "SKU": "TALEOFTWO", "ProductName": "A Tale of Two Cities", "Quantity": 1, "ItemPrice": 19.99, "RowTotal": 19.99, "ProductURL": "http://www.example.com/path/to/product2", "ImageURL": "http://www.example.com/path/to/product/image2.png", "Categories": ["Fiction", "Classics"], "Brand": "Harcourt Classics" } ],

Ordered Product:

"properties": { "$event_id": "1234_WINNIEPOOH", "$value": 9.99, "OrderId": "1234", "ProductID": "1111", "SKU": "WINNIEPOOH", "ProductName": "Winnie the Pooh", "Quantity": 1, "ProductURL": "http://www.example.com/path/to/product", "ImageURL": "http://www.example.com/path/to/product/image.png", "Categories": [ "Fiction", "Children" ], "ProductBrand": "Kids Books" },

...There seems to be literally no reason why “Ordered Product” could not be derived programatically from the “Items” field in the “Placed Order” event (combined with the parent event_id)?

Have I missed something?

 

Chris