How It Works

Find out how our solution helps you turn browsers into buyers.


From Shopify to Klaviyo, explore over 80 integrations.


Access guides, troubleshooting, and expert assistance.

About Us

Hear our origin story and meet our team.


Become an official Partner.

Affiliate Program

Learn more about our Affiliate Program.


Explore career opportunities with


See upcoming events we’re hosting or attending.


Got a referral? Let us know here.

Product Support


Set up Reclaim for Product Views in Klaviyo

Using Reclaim for Product Views

We must enable this feature for you. If you've not already spoken with someone on our team, please ensure you request that we enable this for you.

This feature can identify product views for both unknown, non-logged in users (Grow contacts) and known, non-logged in customers (emails in your suppression list). 

To use this feature, you must first ensure that you’re using the most recent version of our script on your website. The base script must fire before the Product Views script. You can find your script in your account under Code Script > View Script.

Click here for a link to all our tutorials on how to add the script to your site, in case you need a refresher.


After you setup our custom Shopify Integration app:

  1. Clone your existing Viewed Product Flow in Klaviyo, eg: "Viewed Product Reclaim." If you don't already have one set up, check out Klaviyo's recommendations for setting this up.
  2. Change the Trigger metric from Viewed Product to "Viewed Product Reclaim."

    If you're starting from scratch, Create a New Flow and choose "Metric" as your flow trigger, then Viewed Product Reclaim:

  3. Next, add the following recommended Flow Filters:

    Are not in the original Viewed Product Flow
    Placed Order zero times since starting this flow
    Started Checkout zero times since starting this flow
    hasn't been in this flow in the last 7 days
    Added to Cart zero times since starting this flow (assuming you are using the Added to Cart metric)

4. Now, add your Viewed Product abandonment emails.

Flow Filter for Viewed Product Flow

If you are not using our recommended Viewed Product name (Viewed Product Reclaim) and instead folding all our events into your existing Viewed Product flows, you will need to add this flow filter to measure the results properly.

We attach an event identifier with every event we send called:

EventSource: Reclaim

After you have implemented the script on your site and events are flowing, you will need to adjust the flow to add a Trigger Filter.

  1. Open your existing Viewed Product flow.
  2. Add a Conditional Split after the Viewed Product trigger.
  3. For the Yes path, set it to:
    What someone has/has not done
    Person has Viewed Product
    where EventSource
    equals Reclaim
    at least once
    in the last
    1 days

You will also need to adjust your existing active browse abandonment/viewed product flow to prevent contacts from receiving duplicate emails from both your current flow and the new Reclaim flow.

What someone has done (or not done) > Person has Received Email
where Flow > equals [Viewed Product Retention] > zero times > since starting this flow


There are two options for updating your Viewed Product events for Reclaim if you aren't using our custom Shopify Integration app:

  1. RECOMMENDED, our instructions will use this method. You can create a new Viewed Product event name that will be unique to Reclaim. For example, "Viewed Product - Reclaim." You will create a cloned/unique flow for these events.
  2. You can update your existing Viewed Product events to include those coming from Reclaim and add them to all other Viewed Product events. If you do this you'll need to ensure you add a filter to your existing Viewed Product flow to prevent duplicates. Jump to "Flow Filter for Viewed Product Flow" for instructions.

1. Locate your Viewed Product tracking snippet from Klaviyo. If you are using Shopify, this should be located in the liquid template for the product page(s).

The Viewed Product tracking snippet that you need to locate looks like this:

_learnq.push(['track', 'Viewed Product', item]);

Here's an example of the full snippet with an item's image URL, price, etc:

{% if product %}
<script type="text/javascript">
   var _learnq = _learnq || [];
   var item = {
     "ProductName": "The Wonderful Wizard of Oz",
     "ProductID": "1111",
     "Categories": ["Fiction", "Children"],
     "ImageURL": "",
     "URL": "",
     "Brand": "Kids Books",
     "Price": 9.99,
     "CompareAtPrice": 14.99
   _learnq.push(["track", "Viewed Product", item]);
{% endif %}

Note: If you do not have a Viewed Product tracking snippet installed, skip to Step 3 below.

2. Add the following script to the your existing Viewed Product tracking snippet in Klaviyo:

<script>geq.event('Viewed Product Reclaim', item);</script>

So the whole thing should look like this (we've not included the additional details for price, image URL, etc here):

_learnq.push(['track', 'Viewed Product', item]);
geq.event('Viewed Product Reclaim', item);

3. If you do not have an existing Viewed Product tracking script, add this to your theme:

<script type="text/javascript">
    var item = {
        Name: {{ product.title|json }},
        ProductID: {{|json }},
        ImageURL: "https:{{ product.featured_image.src|img_url:'grande' }}",
        URL: "{{ shop.secure_url }}{{ product.url }}",
        Brand: {{ product.vendor|json }},
        Price: {{ product.price|money|json }},
        CompareAtPrice: {{ product.compare_at_price_max|money|json }}
geq.event('Viewed Product Reclaim', item);

Once this script update has been implemented properly, and the event is triggered, you will see this new metric populate in Klaviyo.