Set up your Klaviyo flows using Littledata's triggers
How to set up your Klaivyo flow triggers to correctly use Littledata's server-side events and measure the impact over client-side events.
Congratulations! You've set up the Littledata Klaviyo integration. Before you can start enjoying the better performance benefits our enhanced identity resolution and server-side tracking brings, you will need to set up your Klaviyo flow triggers to use Littledata's events.
Don't have the Littledata Klaviyo integration set up yet? Follow our installation guide to do so.
Littledata's events available for use as Klaviyo triggers
Littledata sends the following server-side events to Klaviyo which you can use as triggers for your Klaviyo flows. These are meant to be 1-to-1 replacements over Klaviyo's client-side triggers. Their schemas are compatible with Klaviyo's so you don't need to remap any dimensions in your flows to get the benefits from our server-side tracking.
Klaviyo event
Matching Littledata event
Viewed Product
Viewed Product - Littledata
Added to Cart
Added to Cart - Littledata
-
Removed from Cart - Littledata
Checkout Started
Added to Cart - Littledata OR Checkout Started - Littledata *
* Klaviyo's flow templates use Checkout Started for abandoned cart flows. If you want a true abandoned cart flow we recommend using Added to Cart - Littledata.
If you are using custom triggers then consult our tracking schema to find and match the equivalent dimensions needed.
Validating Littledata's performance by cloning your existing Klaviyo flows
You can validate Littledata's impact by running flows in parallel: your original flow (Klaviyo triggers) and a cloned flow using Littledata triggers.
Both flows run simultaneously, but the original flow takes priority:
Profiles tracked by Klaviyo client-side will enter the original flow
Profiles missed by Klaviyo but captured by Littledata server-side will enter the cloned flow
The emails and revenue generated by the Littledata flow represent incremental uplift — users who would not have been captured otherwise.
This setup should be temporary. Running parallel flows adds complexity, especially with multiple splits. Once validated, pause the original flow and remove the profile filters.
For all filters below, make sure that the metric you choose is Klaviyo's default metric and does not include the word "Littledata". This ensures the Littledata cloned flow only captures profiles that Klaviyo's client-side tracking missed.
Browse Abandonment (Viewed Product - Littledata)
Find your Browse Abandonment flow based on the native Viewed Product event, click Clone, and in the clone window select Viewed Product - Littledata as the matching Littledata trigger. Rename the flow to distinguish it from the original, then click Clone Flow.


In the cloned (Littledata) flow, add the following filters:
The Viewed Product filter ensures a user doesn't pass through both browse abandonment flows simultaneously.
The Added to Cart, Checkout Started, and Placed Order filters exclude users who have moved deeper into the purchase funnel — those users will be handled by the Cart or Checkout Abandonment flows, or have already converted.
Cart Abandonment (Added to Cart - Littledata)
Find your Cart Abandonment flow based on the native Added to Cart event, click Clone, and in the clone window select Added to Cart - Littledata as the matching Littledata trigger. Rename the flow to distinguish it from the original, then click Clone Flow.


In the cloned (Littledata) flow, add the following filters:
The Added to Cart filter ensures a user doesn't pass through both cart abandonment flows simultaneously.
The Checkout Started and Placed Order filters exclude users who have moved deeper into the purchase funnel — those users will be handled by the Checkout Abandonment flow, or have already converted.
There is no need to filter out Viewed Product here — by the time a user reaches this flow, they have already passed the browse stage.
Checkout Abandonment (Checkout Started - Littledata)
Find your Checkout Abandonment flow based on the native Checkout Started event, click Clone, and in the clone window select Checkout Started - Littledata as the matching Littledata trigger. Rename the flow to distinguish it from the original, then click Clone Flow.


In the cloned (Littledata) flow, add the following filters:
Condition
Metric
Frequency
Timeframe
What someone has done (or not done)
Checkout Started
zero times
in the last 1 hour
What someone has done (or not done)
Placed Order
zero times
since starting this flow
The Checkout Started filter ensures a user doesn't pass through both checkout abandonment flows simultaneously.
The Placed Order filter excludes users who have already completed a purchase.
There is no need to filter out Viewed Product or Added to Cart here — by the time a user reaches this flow, they have already passed both of those stages.
Once you are satisfied with Littledata's performance, disable your original flows. You do not need to remove the filters you've set, but it is harmless to do so.
Using Checkout URLs
Creating personalized checkout experiences for your abandoned cart email campaigns can enhance customer engagement and recovery rates. Littledata adds a checkout_url permalink for the Added to Cart event, so you can direct customers back to the checkout with ease. This uses a cart permalink, and should work even when users click through into a new browser — when Klaviyo's checkout URL will not work.
Any utm parameter appended to the link pointing straight to checkout will NOT be "seen" by GA4. Instead, all the server-side events that occur in such a session will be attributed to the previous available session source from the same user.
You can access the checkout URL in a Klaviyo email or SMS template by using:
{{ event.extra.checkout_url }}
You can also customize these checkout URLs to include specific payment options, discount codes — or direct the customer to the cart page instead of the checkout page.
To initiate a checkout powered by Shop Pay, append the payment=shop_pay URL parameter:
{{ event.extra.checkout_url }}?payment=shop_pay
So the checkout URL is dynamic, but the payment method is always the same. Or to include a discount code, add the discount URL parameter followed by the discount code. For a discount code 15off, the URL would look like this:
{{ event.extra.checkout_url }}?discount=15off
Then you could combine them both like this:
{{ event.extra.checkout_url }}?payment=shop_pay&discount=15off
Next steps
You can set up a custom report in Klaviyo. This is helpful in helping you assess the performance of your flows.
Last updated
Was this helpful?