Shopify issue: collecting added cart and product data into Klaviyo

  • 7 December 2021
  • 2 replies

Badge +2

Good evening guys, i think i have a communication problem between Klaviyo and shopify.
Klaviyo only tracks startered checkouts but not product page visits or cart additions.
Also, when I go to create a trigger or a conditional, no variable comes out, such as collection, items, discount codes etc ...

What could be causing the problem?


Best answer by alex.hong 7 December 2021, 23:53

View original

2 replies

Userlevel 7
Badge +58

Hi there @Giuseppe8910,

Welcome to the Community! I hope to assist you with your Shopify connection and the data.

Did you happen to create an added to cart event already? 

Klaviyo’s built-in Shopify integration already tracks a Checkout Started event when a customer adds item(s) to their cart and then enters their email during the checkout process. The Checkout Started event is used to trigger the standard abandoned cart flow. With a custom Added to Cart event, you can trigger an abandoned cart flow as soon as a customer adds an item to their cart.

You would have to add this so that Klaviyo will pull in the data from Shopify itself. 

Klaviyo’s Add to Cart function triggers an event when a customer clicks on the add to cart button on your product pages. Because this code works in tandem with the Viewed Product snippet, the Add to Cart code is able to leverages the Viewed Product snippet to identify the product details on what item has been added by your customer. Klaviyo’s default implementation of the Viewed Product and Add to Cart codes are meant to be used on a product page where it would identify the individual product. 

Both the Viewed Product and Add to Cart codes snippets are Track calls, that take advantage of Klaviyo’s Track and Identify API. As such, it wouldn’t be impossible to create your own custom Track calls meant to be used on a collection’s page or a multi-product page to attain similar functions. For this, I would recommend working with a developer to build out this functionality or finding a Klaviyo partner who can assist in creating this function. I would also suggest using and reviewing the following resources Klaviyo offers on APIs and custom work:

In addition, I would make sure you verify your Shopify integration. Here is what you will need to do:

1)Verify your URL and other information in the integration settings page area and then retest. Navigate to your Integration tab. Choose the Shopify integration, and choose the setting page. Verify the information in this area is correct. 

2) If you think your Shopify integration is not syncing data properly, update using the following steps:

  • In Klaviyo, click into your Integrations tab.
  • Find your Shopify integration and click View Settings.
  • Click Update Shopify Settings. If you're not logged into your Shopify store, you will be redirected to Shopify and prompted to log in.
  • Click Update Your Integration Settings. We will re-authenticate with Shopify, and you will be brought back into Klaviyo.  

Here are some links to review this as well:

To find data to use as a trigger or filter, that data must first enter your Klaviyo account for it to be used.

Hope this could help!

Badge +2

Hi @alex.hong, thanks for your help.

I using Pagefly for my product page and for my homepage. 

if I paste the klaviyo web tracking script in the product.liquid, visits to product pages are not tracked.

Now, I entered the script directly in the product pages created with pagefly like html/liquid element and klaviyo can trace the viewed product.

But, when I try you create a trigger or conditional on the klaviyo flows, i don't have any property. 

if i create a trigger or conditional for the placed order, i can't choose any property like items, items count, collection, source name, ecc

What is causing this problem?

I placed an order manually but the problem persists.

I don't know if this information will be useful but, if I try to create a trigger or a conditional for the checkout started, instead placed order, you can choose various properties.