Solved

Remind Customers of Their Last Order (Shopify)

  • 7 April 2021
  • 4 replies
  • 1773 views

Badge +2

I would like to remind my customers of the last order they made and show them the products purchased. How can i do this?

I’d like to display the products in a similar fashion to this:

 

icon

Best answer by Dov 9 April 2021, 15:20

View original

4 replies

Userlevel 7
Badge +61

Hi @tropfenkontor,

Thank you for sharing your question with the Klaviyo Community.

First, this will only be possible to achieve by using a metric-triggered flow using the Placed Order trigger. This is because only metric-triggered flows will allow us to dynamically populate previously purchased items into the Klaviyo email. It is not possible to achieve this with campaigns or list or segment triggered flows. Next, I recommend dragging and dropping a net-new email into this flow.

The next step involves inserting the actual dynamic variables into the flow email in order to populate past purchased items. This can be done from scratch, but we already have a flows library with a pre-built dynamic block to make this process much easier. To access this block, navigate to the Flows tabCreate Flow (blue button in the top-right) > Order Confirmation. Click on this and click “create flow” in the modal.

 

 

Then click into that flow email and click “edit content”. Then, save the following block shown in the image below.

 

You can do this by clicking on the block and clicking the little star icon.

Next, navigate back to your original flow triggered off of Placed Order, and click on the “Saved Blocks” section. Drag and drop this dynamically saved block.

 

 

Now, we’ll need to limit the flow to people who have placed orders before today (in the past). This can be achieved by adding a Flow Filter. What somebody has done > Placed Order > at least once before 04/09/2021 (today’s date). Next, add a time delay of your choosing and backpopulate the flow.

The time delay length will determine how far back in time the flow will look to populate recipients.  For example, adding a 50 day time delay and backpopulating, will place someone who placed an order 10 days ago to receive this email with their past purchased items in 40 days. Someone who placed an order 30 days ago, will receive the flow email with their past purchased items in 20 days.

 

Lastly, by default the dynamic items will display vertically rather than horizontally. The latter will require further coding to accomplish. If you’re looking for assistance with template design I recommend checking out our partner page here.

Thanks and have a great day.

Badge +2

Hi @Dov, is there an alternative method to retrieve the “item.product.title” block from the Order Confirmation flow?

I’m trying to make a flow which includes the customers last order with Woocommerce, but am struggling to find a way.

Userlevel 7
Badge +61

Hello @ArchieCourt,

Thanks for your question.

Since WooCommerce does not have a default Order Confirmation flow in Klaviyo, you would have to pull the event variable for item name from a flow triggered off of Placed Order to automatically generate item names in your email. You can build a flow triggered off of Placed Order from our flows library or build a metric-triggered flow from scratch using Placed Order as the trigger. 

For WooCommerce, the event variable for item name is {{ event.extra.Items.0.Name }}. Please see the article hyperlinked above on pulling event variables for a step-by-step process on how to achieve pulling event variables into your emails. Additionally, since Placed Order can potentially pull in multiple items (from the order), you’ll want to use the block repeat feature in a text block or a dynamic table block which will allow you to display all of the items in their order in the email.

I hope this helps!

 

Badge

This was helpful!

 

But the product image and the product title aren’t linked to the product by default in the order confirmation email. I tried the {{ event.Items.0|default:'' }} variable but that generated an error when sending a test email. Is this because it was a test email and will it render correctly in a live email or do I need to use a different variable to link to the past purchased products?

Reply