Skip to main content
408 Topics
Help Center

How to create a browse abandonment flow

You will learn Learn how to create a browse abandonment flow and show potential customers a product they visited but did not start or complete their checkout. In browse abandonment flows, a visitor doesn't have to add an item to their 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 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 messages a "lighter touchpoint" than your abandoned cart flow. Configure viewed product 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, Viewed Product tracking is enabled by Klaviyo's app embed in Shopify. You can find out more in our guide to getting started with Shopify. For BigCommerce stores, when you first integrated with Klaviyo, the Setup Wizard prompted you to add two onsite tracking code snippets: home page tracking and Viewed Product tracking. If you didn't already complete this step, click into Account > Setup Wizard to finish it now.  For details on adding Viewed Product tracking, click the name of your integration in the list below:  BigCommerce WooCommerce Spree Magento stores For Magento stores, all you need to do is download the latest extension:  Magento 1  Magento 2 Custom carts and ecommerce platforms If you've set up your own custom ecommerce integration and would like to create a browse sbandonment 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 onsite 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 they clicked through a Klaviyo email to your website If they subscribed or opted in through a Klaviyo form Anonymous browsers are not tracked. To check on this metric: Click into your account's dashboard. Navigate to the Activity Feed tab. Adjust the Showing Feed for 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. 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. For Shopify stores: Based on your Customer Privacy settings in Shopify, Klaviyo may not track onsite events for visitors to your Shopify store in the EU, EEA, UK and Switzerland, unless they have provided consent. Thus, your browse abandonment flow will not include non-consented individuals. Are you using Amazon Buy with Prime? If you're using Buy with Prime to power payment and fulfillment for any of the products on your store, make sure to do the following: Integrate Buy with Prime with Klaviyo to bring Buy with Prime data into your Klaviyo account. When you create your browse abandonment flow (either pre-built or from scratch) add the following profile filters to incorporate Buy with Prime data into your flow: Checkout Started (Buy with Prime) zero times since starting this flow AND Placed Order (Buy with Prime) zero times since starting this flow. Use a pre-built browse abandonment flow The pre-built browse abandonment flows are available for Shopify, BigCommerce, and Magento stores.  Klaviyo provides you with pre-built browse abandonment flows. These flows include emails designed to dynamically populate with information about the product viewed (the item’s image, name, and price).  If the flow is not in your account, you can access it be following these steps: Navigate to the Flows tab. Click Browse Ideas. Filter by "browse abandonment" to customize the type of flow you start with. For Shopify, we also offer an abandoned collection flow and an abandoned search flow.  Build your own browse abandonment flow We recommend using one of the pre-built flows, if available, rather than creating your own to ensure all the dynamic variables work properly.  Navigate to the Flows tab. Click Create Flow. Select Create from Scratch. Choose Metric to trigger the flow. Click into the dropdown menu and choose Viewed Product. Add the following profile filters:  Placed Order zero times since starting this flow AND Started Checkout zero times since starting this flowAND hasn't been in this flow in the last 30 daysAND Added to Cart zero times since starting this flow  Only applies if you also have a flow triggered by the Added to Cart metric, as otherwise, customers could get emails from both flows Add in a time delay for at

Help Center

How to add SMS to your browse abandonment flow

You will learn Learn how to add SMS to your browse abandonment flow to diversify the type of communication sent to your customers. What’s the difference between browse abandonment and abandoned cart flows?  To enter an abandoned cart flow, someone must add an item to their cart and (in some cases) begin to check out.  As for browse abandonment flows, all they need to do is view an item and move on. Visiting a product page doesn’t 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 messages a lighter touchpoint" than your abandoned cart flow, particularly when using SMS.  Before you begin Before you start adding SMS to your browse abandonment flow: Turn on SMS in your account settings.  Learn how to create a browse abandonment flow if you don’t yet have one in your account. Browse abandonment compliance Always use quiet hours for browse abandonment SMS messages. This feature, which is on by default, prevents SMS from sending too early or late in the day. Most countries forbid sending SMS during certain hours, and quiet hours can help you avoid fines.  Add an SMS action to a browse abandonment flow Navigate to the Flows tab. Click the name of the browse abandonment flow where you want to include SMS. In the flow builder, place a conditional split after the first time delay. Note: the time delay must be within 48 hours of when the flow triggers. Use the following condition:Person is or is not consented to receive SMS > is notThis configuration allows you to add the split to an existing browse abandonment flow without having to rearrange your email path. On the NO path, add an SMS message. Click Configure Content in the left sidebar. Add in your message. For example:“Hey {{ first_name|title|default:'there' }}, did you see something you liked? Time to check it out! {{ event.URL }}”Note: Dynamic content depends on your integration, so the tags in the example may not work for you. Learn more about dynamic content. Drag the rejoin icon below the SMS message onto the email path after the first email. This allows you to continue sending customers emails after sending them an SMS message. Do not turn off either quiet hours or Smart Sending for this message.Quiet hours is an SMS compliance requirement, while Smart Sending is a general best practice.  Set the SMS message live. Enhance your SMS browse abandonment flow See the examples flows below for ways to customize your flow: Item category split If you want to split based on item categories: Add a Trigger Split with the condition:Categories > contains > CategoryName.  Replace “CategoryName” with the name of the category you’d like to split based on. You can add multiple splits for different categories. New vs. returning customers If you want to split based on whether the person browsing has purchased from you before: Add a conditional split with the condition:What someone has done (or not done) > Placed Order > zero times > over all time.  Put your message for new customers in the YES path  Place your message for returning customers in the NO path. Add customers to continue the conversation While you can only send 1 SMS message to a site visitor who abandoned their session, you can ask the customer to continue chatting. If you ask a question and the subscriber responds, you can use flows or 1-on-1 SMS conversations to keep talking. For instance, you can say something like "No longer interested in X? Tell us why! 1 for too pricey, 2 for not my style, 3 for I’ll revisit later." If the subscriber replies, you either respond back via a conversation or set up a flow to trigger for the incoming message, customizing the response based on what the subscriber says. Additional resources Learn how to use SMS in other flows: How to create an SMS welcome flow How to add SMS to your abandoned cart flow How to add SMS to your thank you or order confirmation flow

Help Center

How to configure out-of-stock items for automated flows on Shopify

You will learn Learn how to make sure out-of-stock items are not displayed in abandoned cart or browse abandonment emails by updating the way dynamic content is populated in your emails. If you often sell out of popular items, it's possible that a customer will place an item in his/her cart one minute and come back hours later to find the same item out-of-stock. While abandoned cart and browse abandonment flows can drive significant revenue to your business, fast selling inventory can make it challenging to send reminders that don't fall flat. Encouraging customers to return to a cart full of out-of-stock items can lead to a frustrating customer experience. Before you begin If you have not already, read our guide on getting started with Shopify for step-by-step instructions on integrating, before continuing with this article. Before following the steps in this article, it's important to note the following: Klaviyo will only "un-publish" out-of-stock items for Shopify stores if you do not allow customers to purchase products when they go out-of-stock. If you have multiple variations of an item, all variations must be out-of-stock in order for Klaviyo to consider the entire item out-of-stock and unpublish it. The abandoned cart flow Klaviyo's default abandoned cart email templates (for our abandoned cart flow triggered by Checkout Started) feature a dynamic table that is used to populate each email with the specific items the recipient left behind in their abandoned cart. If you would like an abandoned cart email to automatically be canceled if it is going to feature one or more items that have since gone out-of-stock, you will need to adjust the image section of the existing dynamic table in a given template. In Klaviyo, open the abandoned cart flow email template you wish to edit.  Click on your dynamic table. Under Content, you'll see Column 1 currently selected. If Column 1 is currently set to Image, switch it to Text. Under Cell Content, click the Source code icon.  Copy and paste the following snippet into the source code text box: {% catalog item.product_id unpublished="cancel" %} <a href="{{ event.extra.responsive_checkout_url }}"> <img alt="" src="{{ catalog_item.featured_image.thumbnail.src }}" style="width: 200px;" width="200px" /></a> {% endcatalog %} Once you've finished, click Done in the upper left.  Save your template.  This code will ensure that: Before a given email in your flow is scheduled to send, Klaviyo will look up each item that will dynamically populate in the individual email. If any one item is "unpublished" in your catalog at time of lookup, the entire email will get skipped. For a given flow email, you can navigate to Analytics > Recipient Activity > Other and see a category labeled: Skipped: Catalog Item Unavailable. This is where you can view all emails that were canceled - i.e. skipped - because an item featured in the email was out-of-stock or otherwise unavailable (if the item is no longer in your catalog). It is not possible to remove a single out-of-stock item from an email and send the rest of the email as scheduled. If at least one item in a cart has gone out of stock, the entire email will be canceled. Responsive checkout page in Shopify If you're having trouble with the "Return to Cart" button in your abandoned cart flow emails linking to the correct page, you may have to change the link that your button is pointing to.  In Klaviyo, open the abandoned cart flow email template you wish to edit.  Click on the "Return to Cart" button to edit the link URL. Change the Link URL from {{ event.extra.checkout_url }} to the following: {{ event.extra.responsive_checkout_url }} The image below shows an example. The browse abandonment flow Klaviyo's default browse abandonment email template features a dynamic table block that is used to populate each email with the specific item a recipient browsed your website. If you would like browse abandonment emails to automatically be canceled if they are going to feature an item that has since gone out-of-stock, you will need to adjust the image section of the existing table in a given template. In Klaviyo, open the browse abandonment flow email template you wish to edit. Click on your dynamic table. Under Content, you'll see Column 1 currently selected. If Column 1 is currently set to Image, switch it to Text. Under Cell Content, click the Source code icon.  Copy and paste the following snippet into the source code text box: {% catalog event.ProductID unpublished="cancel" %} <a href="{{ catalog_item.url }}"><img src="{{ catalog_item.featured_image.full.src }}" style="width: 200px;" width="200px" /></a> {% endcatalog %} Once you've finished, click Done in the upper left.  Save your template.  This will ensure that: Before a given email in your flow is scheduled to send, Klaviyo will look up the item that will dynamically populate in the individual email. If this item is "un

Help Center

How to create an abandoned site flow with email and SMS

You will learn Learn how to create an abandoned site flow with email and SMS. This flow is the first step in the customer journey, sending before even a browse abandonment flow. It includes anyone who visited your website, but didn’t look at or buy any products.  These site abandoners are likely on the search for deals or are browsing quickly. To convince them to come back, create a site abandonment flow to show these shoppers fantastic deals, share new arrivals, or provide assistance.  You can set up a similar flow for push notifications. However, you need a custom metric, such as Opened app, to set as the trigger.  Before you begin There are a few things to note before building a site abandonment flow (also called a site bounce flow): You must already have Klaviyo onsite tracking for your website (which is automatically installed for most ecommerce stores).  If using SMS, stay compliant by:  Only including 1 SMS per recipient in this flow.  Sending the SMS within 48 hours of someone abandoning the site.  Create an abandoned site flow Navigate to Flows > Create Flow > Build your own.  In the modal that appears, name the flow (e.g., “Abandoned site”). Select Create flow.  In the flow builder, select Metric from either the Recommended or All triggers tab. To select the metric, open the dropdown menu and select Active on site. Click Add flow filter > Add flow filter. Add the following filters:  What someone has done (or not done) > Active On Site zero times since starting this flow What someone has done (or not done) > Viewed Product zero times since starting this flowAND What someone has done (or not done) > Started Checkout zero times since starting this flowAND What someone has done (or not done) > Placed Order zero times since starting this flowAND Has not been in this flow > in the last 30 days Shopify and BigCommerce users: if you enabled Added to Cart tracking, use the following filter, along with the AND condition. What someone has done (or not done) > Added to Cart zero times since starting this flow Select Save.  Put a time delay directly after the trigger and set it to wait 15 minutes.  Add an email after the time delay.  Create the content for your message that incentivizes browsers to come back and buy something (e.g., “Want a great deal?”) as well as shows off new or popular products. Below the email, add a time delay that waits 1 day.  Drag in a split below the 1-day time delay and set it to: If someone is or is not consented to receive SMS > is. On the YES path, add an SMS.  Create the content for the SMS and remind the user of the incentive from the first email. (e.g., “Don’t miss out on your 15% off! Use code GET15 before it’s gone for good”).  On the NO path, place an email. In the second email, craft the content to remind recipients of the incentive from the first email and talk about your mission, offer assistance, etc.  Select Review and turn on to set the flow live.  You’ll see a high number of skips from this flow. This is expected, as you don’t want this flow to send to anyone who views an item, adds it to their cart, or purchases. Instead, you’ll want those people to enter in your browse abandonment, abandoned cart, and post-purchase flows, respectively.  Additional resources Learn how to create other flows:  Product review Price drop 

Help Center

How to create a product-specific flow

You will learn Learn how to create several types of product-specific flows. You must have metrics in your account in order to split or filter by a product. If there's no metrics, the dimension fields will not populate any products. When setting up an abandoned cart, browse abandonment, or post-purchase flow, you may want to filter or split your flow based on the specific item someone left in their cart, viewed, or purchased. This can be useful if you want to offer instructions or messaging around a specific product or products. This practice works best if you only offer a handful of products and would like to offer very tailored information on each (or only one) of them. This can also be a useful technique if you would like to target people who are purchasing specific items together and tailor the post-purchase experience to this combination of products. Filter or split a flow based on one specific product Post-purchase In our post-purchase flow example, let's say that we just released a new product (a lip balm) and would like to reach out to customers who bought this item to provide feedback. Keep in mind that the trigger filters and splits available for you to use will depend on the event that triggers the flow in the first place. Not all flow triggers will be filterable by product. In this example, our flow will be triggered by placing an order. Then, we're going to want to get more granular and identify the specific item someone bought. To configure this, we'll need the following flow trigger and trigger split conditions: Trigger: Placed Order Trigger Split Filter 1: Item Count equals "1"AND Trigger Split Filter 2: Items contains "lip balm" We only want to identify customers who bought one item because we want to assume that the lip balm is the only item they purchased. If we would like to target anyone who bought lip balm, regardless of whether or not they bought something else, we can remove this filter. You can use this configuration as a trigger filter as well in case you would like to create entirely separate flows for whenever someone purchases a specific product (and only that product). Browse abandonment In our browse abandonment flow example, let’s say you want to offer a discount to only those who view the product with the highest margin or price (matte gloss). Select a browse abandonment flow from the Flow Library and then add a trigger split. To configure this split, we’ll need the following flow trigger and trigger split conditions: Trigger: Viewed Product Profile Filter: Placed Order zero times since starting this flowAND Profile Filter: Started Checkout zero times since starting this flow Profile Filter: Has not been in flow in the last 30 days Trigger Split Filter 1: Name contains “matte gloss” Abandoned cart In our abandoned cart flow example, let's say we have excess inventory and want to offer shoppers a discount to buy a specific product (matte gloss), but only that product. We're going to start with the default abandoned cart flow and then drag in a Trigger Split to isolate this specific item. To configure this, we'll need the following Flow Trigger and Trigger Split conditions: Trigger: Started Checkout Profile Filter: Placed Order zero times since starting this flow  Trigger Split Filter 1: Items contains "matte gloss" AND Trigger Split Filter 2: Item Count equals "1" Filter or split a flow based on a combination of products There may be cases in which you would like to filter or split your flow based on a combination of products. Let's say that we'd like to offer specific advice to people who buy two items at the same time (a lip balm and a certain lip gloss). To configure this, we'd follow the same steps as above, but change the following: Flow Trigger: Placed Order Trigger Split Filter 1: Items contains "lip balm"AND Trigger Split Filter 2: Items contains "matte glossAND Trigger Filter 3: Item Count equals "2" Additional resources Learn how to create different types of flows: How to create a post-purchase flow How to create a browse abandonment flow How to create an abandoned cart flow Learn more about trigger filters and splits:  Understand flow triggers and filters How to add a trigger split to a flow Understand flow branching See how to create a upsell or cross-sell flow