Creating a Browse Abandonment Flow

Last updated at:


Learn how to create a browse abandonment flow for potential customers that have visited a particular product page but did not start or complete their checkout. In browse abandonment emails a visitor doesn't have to add an item to his/her cart to trigger this flow. All a site visitor has to do is view an item and move on.

Visiting a product page doesn’t quite indicate the same level of interest as adding an item to a shopping cart and beginning the checkout process, so we recommend making your browse abandonment emails a "lighter touchpoint" than your abandoned cart flow.

Video about the importance of a browse abandonment flow for your customers that viewed a product but did not start a checkout

Configure Viewed Product Web Tracking

Browse abandonment flows are triggered by the Viewed Product metric. This flow thus requires Viewed Product tracking to be enabled on your website.

For Shopify and BigCommerce Stores

When you first set up your account, the Setup Wizard prompted you to add two web tracking code snippets: home page tracking and Viewed Product tracking.

If you did not complete this step initially, you can go back to the Setup Wizard now by navigating to Account  > Setup Wizard.

Need help installing our web tracking snippets after checking out the Setup Wizard? Click here if you're a Shopify store, and click here if you're a BigCommerce store.

For Magento Stores

Viewed Product tracking for Magento stores was introduced in early 2016. 

To begin tracking product browsing behavior for Magento 1 stores, all you need to do is download the latest extension zipfile.

Similarly for Magento 2, you can begin tracking viewed product behavior by downloading the latest extension for Magento 2

For Spree

Check out our guide to Klaviyo web tracking for Spree stores here.

For WooCommerce

Check out our guide to Klaviyo web tracking for WooCommerce stores here.

For Custom Carts/Ecommerce Platforms

If you've set up your own custom ecommerce integration and would like to create a Browse Abandonment flow (or build segments based on product page browsing data), you'll need to add JavaScript event tracking for a Viewed Product metric. We've built a snippet you can add to your product page template.

Monitor the Viewed Product Metric

When you add web tracking to your site, Klaviyo is only able to track the browsing activity of "known browsers," i.e., browsers who have visited and engaged at least once before. There are two key ways we are able to identify a site visitor: if someone has clicked through a Klaviyo email to your website or if someone has subscribed or opted in through a Klaviyo form. Anonymous browsers are not tracked.

To check on this metric, click into your account's dashboard and navigate to the Activity Feed tab. Here, you will see a dropdown labeled Showing Feed for. Adjust this dropdown to filter for the metric Viewed Product. After viewed product web tracking has been configured for your site, data should begin populating in your account as known visitors browse your product pages.

Click on Activity Feed and then in the dropdown labeled Showing Feed for, choose Viewed Product to pull up this data

If there is no data available, test the metric out yourself by browsing your website and clicking around to view different products. You should see this data begin to flow into Klaviyo.

Get the Klaviyo Browse Abandonment Flow

If your account is currently integrated with Shopify, BigCommerce, or Magento and the browse abandonment flow was not pre-populated in your account, you can grab this flow from the Browse Ideas section of your Flows tab. Here, you can also filter by "browse abandonment" to customize the type of flow you start with — there are several options for different types of browse abandonment flows.

This flow will come with a pre-built Browse Abandonment email template that is designed to dynamically populate with information about the product viewed (the item’s image, name, and price).

Build Your Own Browse Abandonment Flow

To configure a browse abandonment flow on your own, you just need to create a new flow with the triggering action Viewed Product.

You can then add a flow filter such as, has Placed Order zero times since starting this flow AND has Started Checkout zero times since starting this flow. This will ensure that your browse abandonment emails only send to those who viewed a product but then never continued onward to start a checkout or complete a purchase. We recommend adding the filter, has Started Checkout zero times since starting this flow in order to differentiate this flow from your abandoned cart flow.

If you have both an add to cart and a browse abandonment flow, your customers could get the emails for both flows, depending on your Smart Sending settings. To avoid this, add the filter Added to Cart zero times since starting this flow to your browse abandonment flow.

We also highly recommend adding an extra filter to ensure frequent browsers don't receive too many browse abandonment emails — without adding this filter, someone will get a flow email every time they view a different product page. Klaviyo's default browse abandonment flow includes the following extra filter: AND hasn't been in this flow in the last 30 days. This makes sure someone will only get 1 browse abandonment email every 30 days. 

How to Show the Product Viewed in an Email

We do not recommend copying the default abandoned cart message for a browse abandonment flow. Whereas the block for an abandoned cart message should be set to Dynamic, the block for a browse abandonment message should be Static. Simply switching the block type will erase the tags, text, etc. If you already cloned, the default abandoned cart message for your browse abandonment flow, copy the tags before changing the block from Dynamic to Static

Build the Email

Are you using Klaviyo’s new template editor? Head to our new editor resource center.

First, drag a table block into your template. Under Rows, check that the block is set to Static (the default). 

Inside the table block modal, choose a table block style from the panel and drag it over to your email to add

Under Columns

  1. Adjust column 1 to display as an Image
  2. Adjust column 2 to display as Text
  3. Delete column 3

For column 1, select the Placeholder option for the image, and insert event.ImageURL as the placeholder.

When inside the block style modal for your columns block, click on column 1 and choose the image icon, then click placeholder to insert event.ImageURL

For column 2, add {{ event.Name }} where you'd like to insert the product's name, and {{ event.Price }} where you want to insert the product's price. Make sure to click Save Changes. Preview your email and you should see dynamic product data populate into the placeholder variables.


If a customer views multiple products, which one is shown depends on your setup. If you are using hasn't been in this Flow in the last X days, then it'll be the first item the customer viewed. If you're using has viewed product zero times since starting this flow, it'll be the most recent.

Best Practices

There are a few different types of audiences you can target with your custom browse abandonment emails, including:

  • Someone views a product… and has received email from flow zero times in the last X days
    If you're worried that frequent browsers might receive too many browse abandonment emails, you can add this filter to limit how often someone will get an email from this flow. Leaving Smart Sending ON for all browse abandonment emails is also a good idea.
  • Someone views a product...and has placed order equals zero over all time
    This filter allows you to target people that have never purchased before and might be new to your brand. You may want to incentivize these browsers to make a first purchase by including a discount code or promotional offer in your flow email.
  • Someone views a product...and has placed order at least once over all time
    This filter is the inverse of the example above -- if you target browsers that have never purchased before in one flow, you will also want to target customers that are re-visiting your site to potentially buy again through a separate flow. You may not want to include a discount offer here, since these customers have already taken the leap to buy and are back again to browse on their own.
  • Someone views a product…and has viewed product at least Z times since starting this flow
    This filter allows you to target those that are spending a bit of time on your site viewing different products. Adding this filter means as someone begins to browse, the first X number of products viewed will not trigger this flow -- only after Z number of items are viewed will someone receive your flow email, and the email can be configured to show the last item the recipient viewed.
  • Someone views product...where product equals Product X
    This filter allows you to create special offers for those browsing a specific item. Let's say you want to share a special discount for those browsing a more expensive item on your site. You can target those browsing certain items by adding a trigger filter for the specific item you'd like to target.

You can also split your browse abandonment flow based on factors about your recipients. This can include:

  • Purchasers vs. non-purchasers
  • Domestic vs. international
  • Product type or category

By targeting these groups differently, you're able to provide a more relevant experience for each recipient. 

Additional Resources

Check out this article on branching flows

Learn how to build an upsell or cross-sell flow

Was this article helpful?
457 out of 597 found this helpful