Skip to main content
Solved

Missing Started Checkout events

  • February 18, 2025
  • 2 replies
  • 21 views

Forum|alt.badge.img

We are using javascript SDK to pass events and attributes but for last couple of months we saw a decline in our events and after adding extensive logging to our code we found out that klaviyo is missing events randomly i.e on daily basis around 20% users don’t have the events on klaviyo dashboard but the log we have to see that we fired the event is there. 

Also we are firing events to other services aswell which are also present. Is this something which is a known bug or what ?

 

if (subEvent) {  window.klaviyo.push([event, subEvent, data.dataToSend]);  logEvent("log_klaviyo", "sendDataToKlaviyo", subEvent);} else {  window.klaviyo.push([event, data.dataToSend]);  logEvent("log_klaviyo", "sendDataToKlaviyo", event);}

Best answer by retention

Hi ​@aliinsurify, welcome to the community.

Are you using the old API calls (_learnq.push) as opposed to the updated one klaviyo.track?  I can’t tell because you wrapped the functions, but it seems to suggest that you might be using the old V1/V2 “push” events instead of the new approach which has better async callback and promises so you can log the event when you know it has occurred to compare to your own “logEvent” method.  

Here’s a thread that might explain it a bit more:

 

Also, make sure that you know the users is properly identified as that is implied for the tracking to work.  A user is identified when these actions occurr:

You can also fire the klaviyo.identify function if/whenever you know who the user is (e.g. your own cookies, or upon a user logging in, or registering, etc). 

Outside of that, as you know, Javascript is messy with timing and race conditions so making sure klaviyo.js is loaded earlier/sooner, or if your logging event has some delays, perhaps the user already moved on to the next page load, etc.  Sorry, I can’t be more helpful without digging into the code, but maybe it’ll give you some places to start

View original
Did this topic or the replies in the thread help you find an answer to your question?

2 replies

retention
Partner - Platinum
Forum|alt.badge.img+62
  • 2025 Champion
  • 944 replies
  • Answer
  • February 18, 2025

Hi ​@aliinsurify, welcome to the community.

Are you using the old API calls (_learnq.push) as opposed to the updated one klaviyo.track?  I can’t tell because you wrapped the functions, but it seems to suggest that you might be using the old V1/V2 “push” events instead of the new approach which has better async callback and promises so you can log the event when you know it has occurred to compare to your own “logEvent” method.  

Here’s a thread that might explain it a bit more:

 

Also, make sure that you know the users is properly identified as that is implied for the tracking to work.  A user is identified when these actions occurr:

You can also fire the klaviyo.identify function if/whenever you know who the user is (e.g. your own cookies, or upon a user logging in, or registering, etc). 

Outside of that, as you know, Javascript is messy with timing and race conditions so making sure klaviyo.js is loaded earlier/sooner, or if your logging event has some delays, perhaps the user already moved on to the next page load, etc.  Sorry, I can’t be more helpful without digging into the code, but maybe it’ll give you some places to start


MANSIR2094
Problem Solver IV
Forum|alt.badge.img+17
  • Problem Solver IV
  • 235 replies
  • February 18, 2025

Hello ​@aliinsurify , It sounds like some events aren’t reaching Klaviyo, even though they’re logged successfully. This could be due to browser restrictions, ad blockers, or network issues dropping requests before they reach Klaviyo’s servers. You can try adding a retry mechanism for failed events, ensuring the SDK is fully loaded before firing events, and checking if any browser extensions are interfering. If the issue persists, consider server-side event tracking for more reliability. Let me know if you need help implementing a fix!