Set up Reclaim for Category Views in Klaviyo

Using Reclaim for Category 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 and/or category views/abandonment for both unknown, non-logged in users (Resolve 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 Category Views script. You can find your script in your account under Code Script > View Script.

This feature works for any e-commerce website, we will show examples for Shopify in this tutorial.

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


There are two options for updating your Viewed Product events for Reclaim:

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

1. Locate your Category tracking snippet from Klaviyo. If you are using Shopify, this should be located in the liquid template for the category page(s). The Viewed Category tracking snippet that you need to locate should look something like this:

_learnq.push(['track', 'Viewed Category', categoryItem]);

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

Here’s an example of what a full snippet with category data might look like if there’s an existing Viewed Category Tracking Script:

<script type="text/javascript">
   var _learnq = _learnq || [];
   var categoryInfo = {
     "CategoryName": "Puzzles",
     "CategoryURL": "",
   _learnq.push(["track", "Viewed Category", categoryItem]);

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

<script>geq.event("Viewed Category Reclaim', categoryItem);</script>

So the whole thing should look like this if you have an existing Viewed Category tracking script (we’ve not included the additional details for price, image URL, etc here):

_learnq.push(['track', 'Viewed Category', categoryItem]);
geq.event('Viewed Category Reclaim', categoryItem);

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

{% if product %}
<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 Category Reclaim', categoryItem);
{% endif %}

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


  1. Clone your existing Viewed Category Flow. If you don’t already have one set up, create a new Flow from Scratch.
  2. Change the Trigger metric from Viewed Category (or whatever name you have for the existing metric) to “Viewed Category 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 Category Flow (if applicable)
    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. Recommended. Add a Conditional Split for those who are contacts (ie, unknown, not logged in) and those that are known but not logged in. This will let you compare ROI from Resolve contacts vs Klaviyo’s unknown/unauthenticated customers.
    Note that this requires our Klaviyo integration identifier to be turned on. Contact us if you need this enabled. 

5. Now, add your Viewed Category abandonment emails down each path of the conditional split. Send the same content to each path.