How To Build Your Klaviyo Post-Purchase Emails
Ready to build your post-purchase order summary email in Klaviyo? Whether it is to thank them for their order or let them know that it has shipped, in this article I’ll outline the exact steps I take in building this dynamic post-purchase email in Klaviyo.
Benefits of Using The Post-Purchase Email in Klaviyo
A lot of brands find the post-purchase emails in Shopify or other programs a tad too limiting! When you utilize that data in your own Klaviyo account, you are able to fully customize the look and feel.
If you want a complete brand experience through email, getting it swapped over into your Klaviyo account is ideal. Let’s dive into your first steps of building your post-purchase emails in Klaviyo.
Cross-Check Your Placed Order Data
First, make sure your data is working correctly and pulling into your post-purchase email in Klaviyo the way you want it to. You’ll need to make sure everything is clean and ready to use in the template.
You can do this by traveling over to the ‘Activity Feed’ in Klaviyo where you can filter for the metric that will feed into your order summary email.
If data is coming in, then you are all set to move on! If not, place some test orders and cross-check your integration settings to make sure nothing is disconnected.
Post-Purchase Email Flow Building
You’ll start your post-purchase flow build with the metric “Fulfilled Order”. You could also use “Placed Order” but in most cases, I find that the post-purchase sequences I built are all timed around order arrival and getting your subscriber hyped for their order to arrive.
The “Fulfilled Order” metric has that better timing with very similar data as “Placed Order”. You’ll then, drop in the first email you want to send below that metric trigger of the flow.
Pulling In Your Klaviyo Dynamic Variables
Once you have your email placed into your flow, let’s start by confirming we have everything we need in the data. Click “Preview” on the right of your email builder and scroll down until you find a truncated section that has the line items listed.
You’ll find a section called ‘Line_Items’ which will be where the bulk of your information will be.
Click on the product title and it will auto-copy to your clipboard. You’ll then, paste that variable into your table.
Formatting Your Order Table
Next, let’s make the table dynamic. Paste the product variable that you pulled from above, and trim away “.0.product.title}}” as well as the beginning brackets, “{{.“ This leaves the row collection. The row collection is another fancy tech term for what you should be looking for with the items you want to collect. All of our items will start with “event.extra.line_items.”
Then, for “row alias,” use “item.” You have to trim away the “s” of “items” because we’re going to match our text without the “s.” This tells Klaviyo to pull this data for every single item.
Finally, format the table for your preferences.
Hack: In the original template, the table is usually side-by-side. I’m not a fan of that aesthetic. So, I delete the second column within the table settings. I create everything inside a single column. I create everything in one column. I’ll cover how I do this later on.
Placing In Product Name
To pull the product name, paste your variable. What we did above will dictate the edits we make to our variable here for our product name. We don’t need “event.extra.line_” because we already set the row collection. It already knows what to look for. Again, trim away the “s,” because we told it to delete that on the “row alias.” Then, delete the “0.” The 0 represents the number that the item is.
For example, if you had 5 items, they would be labeled 0, 1, 2, 3, and 4. By keeping the “0” in the variable, you’re telling it to not repeat because we want it to work for every item in the customer’s order summary.
Placing In Product Image
Go back into the line items category in the preview. Under “product”, copy the “src:” (source) line. This is the product image. Then, in the editor, enter down above the product title and add an image. For “image url,” paste in the dynamic variable from the src code. Again, delete “event.extra.line_,” change “items” to “item,” and delete the first “0.”
There’s a second “0” in the source code that you need to leave in place. This tells Klaviyo to pull the first/default image for the product. Change the image width for your preferences.
Testing Preview
You won’t see the image or an image block while editing, but it is in the code. Click done and preview to confirm everything is working as it should. Always be sure to check the mobile version as well to make sure blocks are stacking correctly and aren’t out of whack.
Placing In Tracking URL
Again, you will find this information inside the data. Because this information doesn’t change from product to product, you will copy and paste the code exactly as you find it. Depending on the shipper, you will find code starting with “tracking_url” that you will use. Shopify has an “order_status” that you can pull, but I prefer to use “tracking url.” Paste the code into the URL, and there’s no need to trim anything here.
Additional Shipping Items to Pull
I like to duplicate the CTA of “Track My Order,” and add it beneath the intro copy. Then below that CTA, I pull other information such as “order total,” “shipping to,” etc. You can grab all of that information from the data as before. You can format this inside the email as you like.
I hope you found this helpful in customizing your post-purchase email Klaviyo template. If you have any questions, comments, or video requests, feel free to reach out.
If you need some email inspiration, make sure to check out our design examples here.
If you’re interested in a free email marketing audit of your account with a three-month strategy roadmap on optimizations you can make in your Klaviyo account, schedule a call with me below.

Schedule Your Call
Email Marketing Audit & Free Roadmap
In our meeting together, we will run through your current email marketing setup, the hurdles you are facing, and more. At the end of our call, I’ll be able to detail how my team and I could help.
When booking, you’ll see a few questions that must be answered prior to our call. We are very selective about what brands and clients we work with to ensure we can succeed with your email marketing.