Skip to main content
Solved

Products Customer Previously Purchased


Forum|alt.badge.img+3
  • Active Contributor IV
  • 43 replies

Hi All - I have a flow that is triggered by a segment. The segment consists of profiles who have previously placed an order. I want to set up an email that reminds the customer what they have previously purchased before. I copied this email template from a separate winback flow we have (that is showing the previously purchased products properly). For some reason, the section doesn’t seem to be working in this new segment triggered flow. Any ideas as to why?

 

Best answer by MANSIR2094

Hi ​@cbzhu , 

The issue may likely be because the new segment-triggered flow doesn’t have access to the same event data as the winback flow. The winback flow may be event-triggered, meaning it automatically pulls past purchase data from the "Placed Order" event, while the segment-triggered flow doesn’t work the same way. Since segment-triggered flows don’t always include event data, the product details might not be available, causing the section to break. To fix this, check if the dynamic tags like {{ item.product.images.0.src }} are actually pulling data in the preview. If they aren’t, the flow might not be referencing an event with purchase history. You can try using profile properties like "Ordered Product" instead, if that data is stored in the customer profile. Another option is to trigger the flow based on an event like "Placed Order" rather than just a segment, ensuring Klaviyo includes past purchase data. If that’s not possible, manually storing the last purchased product in a profile property and pulling from there might work. Testing the flow preview and checking the available data structure will confirm what’s missing. Let me know what you find, and we can re-adjust the approach.

View original
Did this topic or the replies in the thread help you find an answer to your question?

6 replies

MANSIR2094
Expert Problem Solver III
Forum|alt.badge.img+17
  • Expert Problem Solver III
  • 266 replies
  • Answer
  • March 18, 2025

Hi ​@cbzhu , 

The issue may likely be because the new segment-triggered flow doesn’t have access to the same event data as the winback flow. The winback flow may be event-triggered, meaning it automatically pulls past purchase data from the "Placed Order" event, while the segment-triggered flow doesn’t work the same way. Since segment-triggered flows don’t always include event data, the product details might not be available, causing the section to break. To fix this, check if the dynamic tags like {{ item.product.images.0.src }} are actually pulling data in the preview. If they aren’t, the flow might not be referencing an event with purchase history. You can try using profile properties like "Ordered Product" instead, if that data is stored in the customer profile. Another option is to trigger the flow based on an event like "Placed Order" rather than just a segment, ensuring Klaviyo includes past purchase data. If that’s not possible, manually storing the last purchased product in a profile property and pulling from there might work. Testing the flow preview and checking the available data structure will confirm what’s missing. Let me know what you find, and we can re-adjust the approach.


Forum|alt.badge.img+3
  • Author
  • Active Contributor IV
  • 43 replies
  • March 18, 2025

Great, thank you ​@MANSIR2094 . I have to use the segment triggered flow for this specifically. The dynamic tags are not pulling data in the preview when using {{ item.product.images.0.src }} in this segment triggered flow. How could I go about changing this block to utilizing an “Ordered Product” property instead?


MANSIR2094
Expert Problem Solver III
Forum|alt.badge.img+17
  • Expert Problem Solver III
  • 266 replies
  • March 18, 2025

Alright..... Now Since the segment-triggered flow doesn’t have event data, the dynamic tags won’t work the same way. You need to pull the product details from the customer’s profile properties instead. First, check a profile in the segment to see if the "Ordered Product" property exists and note its exact name. If it’s there, update the image block by replacing {{ item.product.images.0.src }} with {{ person|lookup:'Ordered Product Image' }} or whatever the correct property name is. Do the same for the product link if needed. Test the email preview with a real profile to confirm it’s pulling data. If the property isn’t there, you may need to set up an automation that saves the last purchased product to the profile for future use.

 

 


Forum|alt.badge.img+3
  • Author
  • Active Contributor IV
  • 43 replies
  • March 18, 2025

Hi ​@MANSIR2094 we don’t seem to have any properties that denote what product the customer has purchased before. I guess this information is only pulled in relation to the ‘placed order’ trigger. Any idea on how to create properties for products previously ordered by a profile? We use Shopify.


retention
Partner - Platinum
Forum|alt.badge.img+62
  • 2025 Champion
  • 970 replies
  • March 18, 2025

Hi ​@cbzhu, just adding ere.  As far as I know,  Klaviyo doesn’t store the products that a user has purchased in the Profile natively, since they are stored in specific events (e.g. Placed Order, Fulfilled Order, Ordered Products, etc).  Since you are using a Segment Triggered Flow, it’s doesn’t have a way to access those event data directly.  

The best way to work around this limitation, is to store the products into the Customer Profile directly yourself whenever someone Ordered Product so it can be retrieved later.

For example, you can store the product ID, or product information the Customer Profile from an Ordered Product Flow that simply stores the data (doesn’t send any emails).  Instructions to add customer profile properties is documented here:

Then, you can pull back the information in your other Segment Triggered Flow Message to show the item they recently purchased.  If you have only the Product ID, you can do a “Catalog Lookup” based on that ID to get the rest of the information of the item(s) (e.g. Product name, Image URL, etc).  Information on how to do a catalog lookup in a template is here:

There’s a bit of Flow Filters I would add to make sure only people with a recently purchased item stored in the profile can enter the Flow, and other fine tuning you may want to do (based on when the last purchase was, etc).  

See if this works for you and let us know if you have any further questions!


Forum|alt.badge.img+3
  • Author
  • Active Contributor IV
  • 43 replies
  • March 20, 2025

@retention I will try this. Thank you!