> ## Documentation Index
> Fetch the complete documentation index at: https://docs.upstackdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Complete Guide to Setting Up Upstack Abandonment Flows in Klaviyo

> Set up Upstack-enhanced abandonment flows in Klaviyo — clone standard flows, swap triggers, add cross-flow exclusions, and recover 30-50% more browse, cart, and checkout abandonment revenue.

<Tip>
  **Quick Summary**

  * In Klaviyo, enable account-wide UTM tracking under **Account → Settings → Other → UTM Tracking**
  * Locate the **standard abandonment flow** in **Flows**
  * **Enable UTM tracking for every Email and SMS node** inside the standard flow
  * **Clone** the standard flow
  * Rename the clone with the **` - Upstack Data`** suffix → switch trigger to the corresponding `*- Upstackified` Klaviyo metric
  * Open the standard and Upstack copies of the flow **side-by-side**
  * **Add a 30-minute delay** to the Upstack copy
  * Set cross-flow exclusion filters to **7 days** (or 14 days if preferred)
  * Adjust re-entry timing to **7 days**
  * Set the Upstack copy of the flow to **Live**
  * **Match the live/draft status of every step** in the Upstack copy to the standard flow
</Tip>

## Prerequisites

Before you start, you need:

* The **Klaviyo destination configured in Upstack Data** ([learn how](/guides/klaviyo/how-to-configure-klaviyo-destination-in-upstack-data))
* Existing **standard abandonment flows** in your Klaviyo account (Browse, Cart, Checkout, Site)
* **Admin (manager) access** to the store's Klaviyo account
* Confirm the following Upstack-emitted events appear in Klaviyo under **Analytics → Metrics**:
  * **Viewed Product - Upstackified**
  * **Added to Cart - Upstackified**
  * **Started Checkout - Upstackified**
  * **Active on Site - Upstackified**

## Important Terms

<Note>
  * **Standard flow** → the existing abandonment flow already in the brand/store's Klaviyo account.
  * **Upstack copy of the flow** → the cloned and modified version triggered by Upstack Data's `*- Upstackified` events. Always identifiable by the ` - Upstack Data` name suffix.
</Note>

## Configuration Steps

<Steps>
  <Step title="Sign in to Klaviyo">
    Sign in to **[Klaviyo](https://www.klaviyo.com/login)**.
  </Step>

  <Step title="Enable account-wide UTM tracking">
    In Klaviyo, click your **profile icon** in the bottom-left navigation and go to **Settings → Other → UTM Tracking**, then ensure UTM tracking is toggled on.

    Detailed walkthrough: [How to enable UTM tracking in Klaviyo](/guides/klaviyo-abandonment-flows/how-to-enable-utm-tracking-in-klaviyo).
  </Step>

  <Step title="Locate the standard abandonment flows">
    * In Klaviyo, go to **Flows** in the left navigation.
    * Use the search bar and type **`abandon`**.
    * Identify the four standard abandonment flows:
      * **Cart Abandonment**
      * **Browse Abandonment**
      * **Site Abandonment**
      * **Checkout Abandonment**

            <img src="https://mintcdn.com/upstackdata-afbed50d/40dgTTn1PLjePhJa/images/intercom/e2fb4aab0054b9cd.png?fit=max&auto=format&n=40dgTTn1PLjePhJa&q=85&s=cf20507a7f014b72c915cdf2398c085a" alt="" width="3456" height="806" data-path="images/intercom/e2fb4aab0054b9cd.png" />
  </Step>

  <Step title="Enable UTM tracking on every Email and SMS node">
    <Note>
      Before cloning, make sure **Enable UTM Tracking** is checked on **every Email and SMS node** inside the standard flow. The setting is copied into the clone, so enabling it now saves rework.
    </Note>

    * In **Flows**, open the standard flow.

          <img src="https://mintcdn.com/upstackdata-afbed50d/r7kPU9Z0Ocj96UFU/images/intercom/b696d28566fbfa80.png?fit=max&auto=format&n=r7kPU9Z0Ocj96UFU&q=85&s=40ef0a43742e977c8bfba1b0897ed013" alt="" width="3456" height="809" data-path="images/intercom/b696d28566fbfa80.png" />

    * Click an **Email** or **SMS** node.

    * In the right-hand details panel, check **Enable UTM Tracking**.

    * Click **Save**.

          <img src="https://mintcdn.com/upstackdata-afbed50d/a7q81tQDxtvowAUn/images/intercom/5fbc6756a6c12ecf.png?fit=max&auto=format&n=a7q81tQDxtvowAUn&q=85&s=ec3c8cb4f62a408dc22fab498ab37857" alt="" width="3456" height="1779" data-path="images/intercom/5fbc6756a6c12ecf.png" />

    <Warning>
      Repeat this step for **every Email and SMS node** inside the standard flow.
    </Warning>
  </Step>

  <Step title="Clone the standard flow">
    Clone each standard flow and rename the clone with the ` - Upstack Data` suffix (for example, `Abandoned Cart - Upstack Data`). When cloning, change the trigger to the corresponding `*- Upstackified` event:

    * Browse Abandonment → **Viewed Product - Upstackified**
    * Cart Abandonment → **Added to Cart - Upstackified**
    * Checkout Abandonment → **Started Checkout - Upstackified**
    * Site Abandonment → **Active on Site - Upstackified**

    Detailed walkthrough: [How to clone your standard flows in Klaviyo](/guides/klaviyo-abandonment-flows/how-to-clone-your-standard-flows-in-klaviyo).
  </Step>

  <Step title="Open the standard and Upstack copies side-by-side">
    To make comparing settings easier, keep:

    * The **standard flow** in one browser tab.
    * The **Upstack copy of the flow** in another tab.
  </Step>

  <Step title="Add a 30-minute delay to the Upstack copy">
    In the **Upstack copy of the flow**, add **+30 minutes** to the first wait step compared to the standard flow.

    *Example: `1 hour` → `1 hour 30 minutes`*

    <img src="https://mintcdn.com/upstackdata-afbed50d/r7kPU9Z0Ocj96UFU/images/intercom/8465117c50deca4d.png?fit=max&auto=format&n=r7kPU9Z0Ocj96UFU&q=85&s=3ff681e6fc8dd1c397dd1fbb0a612eac" alt="" width="1920" height="866" data-path="images/intercom/8465117c50deca4d.png" />
  </Step>

  <Step title="Add cross-flow exclusion filters">
    <Note>
      **Purpose:** Prevent someone from entering both the standard and Upstack copies within a 7-day window, which would result in duplicate emails.
    </Note>

    Add a filter on each flow's trigger:

    * On the **standard flow**: **Has received email 0 times in last 7 days where Flow = `[Upstack copy of the flow]`**
    * On the **Upstack copy of the flow**: **Has received email 0 times in last 7 days where Flow = `[Standard flow]`**

    Detailed walkthrough: [How to add cross-flow exclusion filters in Klaviyo](/guides/klaviyo-abandonment-flows/how-to-add-cross-flow-exclusion-filters-in-klaviyo).
  </Step>

  <Step title="Turn on the Upstack copy of the flow">
    * Open the **Upstack copy of the flow**.

    * In the top-right of the page, click the **Review and turn on** button.

          <img src="https://mintcdn.com/upstackdata-afbed50d/a7q81tQDxtvowAUn/images/intercom/1a60bcb1c0e3bf67.png?fit=max&auto=format&n=a7q81tQDxtvowAUn&q=85&s=c4a537793e38eeeed85f4c744fdef2c7" alt="" width="1926" height="387" data-path="images/intercom/1a60bcb1c0e3bf67.png" />

    * In the right-side panel that appears, set **Flow status** to **Live**.

    * Select **Update status now**.

    * Click **Save**.

          <img src="https://mintcdn.com/upstackdata-afbed50d/r7kPU9Z0Ocj96UFU/images/intercom/72b701bdff11606a.png?fit=max&auto=format&n=r7kPU9Z0Ocj96UFU&q=85&s=3cbc1c68b8d676b0fb879a0d59d96e7f" alt="" width="1346" height="864" data-path="images/intercom/72b701bdff11606a.png" />
  </Step>

  <Step title="Match step statuses to the standard flow">
    * In the **standard flow**, note which steps are **Live** vs **Draft / Manual**.
    * In the **Upstack copy of the flow**, set each corresponding step to the **same status**.
    * Double-check that every step's status matches the standard flow before continuing.
  </Step>

  <Step title="Verify the setup">
    * Confirm the Upstack copy of the flow is **Live** and that step statuses mirror the standard flow exactly.
    * In Klaviyo, open **Analytics → Metrics** and confirm the corresponding `*- Upstackified` event is recording activity (within minutes of live traffic).
    * In **Flows**, open the Upstack copy and check the **Analytics** tab over the first 24–48 hours to confirm profiles are entering the flow.
    * Spot-check a recipient profile to confirm they did **not** also receive the standard flow's email within the same 7-day window.
  </Step>
</Steps>

## Best Practices

* Always confirm timing and messaging changes between the standard flow and the Upstack copy.
* Test triggers to ensure the `*- Upstackified` events are firing correctly.
* Monitor reporting weekly after launch to assess performance.

<Warning>
  **Repeat every step** for **each** standard abandonment flow: Cart, Browse, Site, and Checkout Abandonment.
</Warning>

<Note>
  **Need help or found an issue?**

  If you encounter any issues or have questions while following this guide, you may reach out to us at **[support@upstackdata.com](mailto:support@upstackdata.com)**
</Note>
