1a. Is it normal for “active on site” to trigger without triggering “viewed product”? If yes, then;
1b. Is there a way to extract product category information from active profiles that only have “Active on site” activity? Or is there a way to install a code for “active on site” to return to klaviyo the product category (or any product info) or page url.
I’m working on creating profile segments based on product categories and my current approach is creating filters within “viewed products”, “started checkout” and “placed order”, where the respective product category is present.
However, I noticed there’re lots active profiles that visited product pages but only triggered “active on site” and not “viewed product”, even though the “active on site” URL clearly shows a product page visit.
It's a little frustrating because there's no way to dynamically get information on which product/product category the profile visited. I can only get that information when a product is viewed (that is when “viewed product” or ”Started checkout” or “placed order” is triggered).
Best answer by caroline
Thanks for sharing with the Community! Great questions.
1a. If a customer has not viewed a product page but has been cookied, then yes, it is expected for that customer to trigger “Active on Site” without triggering “Viewed Product” (since the customer has not viewed a product). You might find out Help Center article, “Guide to Klaviyo Web Tracking,” helpful.
1b. Segmenting based on the URL included in Active on Site metrics is a popular feature request and I will let our Product team know that an additional customer would like to see this implemented. Fortunately, you can add code to your website to track additional viewing activity so that you are able to segment based on URL. Klaviyo’s Track API can be used to trigger an event such as “Viewed Category” or simply “Browsed Site” and you could pass the URL, category name, etc. as part of the payload.
For example, the following snippet would track a custom Viewed Page metric which includes the URL of the viewed page.
var _learnq = _learnq || ;
var page = window.location.href;
_learnq.push(['track', 'Viewed Page',
Hope this helps!