Use the Event Editor with Klaviyo
Littledata sends events server-side to Klaviyo with enhanced identity resolution. The Event Editor lets you change them before they reach Klaviyo: filter who enters your flows, derive new trigger events, and attach data Klaviyo doesn't receive by default.
New to the Event Editor? Start with Getting started. Not sending Littledata events to Klaviyo yet? Follow the installation guide first.
How the Event Editor works with Klaviyo
Littledata sends four server-side events to Klaviyo:
Viewed Product - Littledata
A user views a product
Added to Cart - Littledata
A user adds an item to the cart
Removed from Cart - Littledata
A user removes an item from the cart
Checkout Started - Littledata
A user enters the checkout
Three things to know before you edit them:
Edits apply to Littledata events only. The Event Editor changes what Littledata sends to Klaviyo. Klaviyo's own metrics, including
Placed Orderfrom its Shopify sync, are untouched.Custom events become new Klaviyo metrics. Derive a new event and Klaviyo creates a metric for it the first time it fires. From then on you can use it as a flow trigger like any other metric.
Custom fields become event properties. Map a new field onto an event and it arrives as a property on the Klaviyo event, ready for trigger splits, segments, and template variables.
Reach the right shoppers with Browse Abandonment
Klaviyo's own Viewed Product metric comes only the onsite script running in the browser, so it needs a cookied visitor and it breaks on ad blockers, ITP, and expired cookies. Viewed Product - Littledata is built on Littledata's servers and matched to a shopper with our identity graph, so browse abandonment flows reach people Klaviyo never identified.
Using the Event Editor, you can narrow the targeting of your Browse Abandonment campaigns to only the products that really matter.. Add trigger conditions to keep only the views worth a flow, for example views of products in one collection:
products.collections
contains
skincare
Or give a category its own browse event. Derive a custom event from Viewed Product - Littledata with the same condition, name it something like Viewed Skincare, and leave the original event running. Klaviyo creates a metric for it, so that category gets a dedicated browse flow alongside your general one.
Separate trigger events per Shopify market
Selling into multiple Shopify Markets usually means one flow with branching logic per market. Instead, give each market its own trigger event, so each market gets its own flow with fully localized content.
In the Event Editor, derive a custom event from Checkout Started - Littledata and name it so you recognize it in Klaviyo, for example Checkout Started EU. Add a condition scoping it to the market:
market.handle
equals
eu
Repeat for each market and each funnel stage you run flows on. Find your market handles in Shopify admin under Settings → Markets.
In Klaviyo, each derived event appears as its own metric. Set it as the flow trigger for that market's flow.
Every Littledata event arrives in Klaviyo with a market_handle property, so you can also keep one flow and branch with a trigger split, or exclude a market entirely by applying the same market condition to each Littledata event. Separate metrics keep flows and their reporting cleaner as markets multiply.
Split flows on customer metafields (e.g. quiz responses)
The Event Editor integrates natively with Shopify Metafields. You can attach custom customer data with every event and branch your Klaviyo flows with them.
In the Event Editor:
Expose the customer metafield your quiz app writes, for example a skin type answer, under Custom data sources in the dashboard.
Map it as a custom parameter on each event your flows trigger from:
[Customer metafield]
equals
skin_type
In Klaviyo, branch the flow with a trigger split on the new property.
The Event Editor also works with customer tags. Tags are part of Littledata's standard schema, so skip step 1 and map customer.tags directly. See Build audiences from survey answers for a related pattern.
Trigger cart abandonment only above a cart value
Using discounts to recover abandoned low-value carts costs margin. Two ways to set a floor:
A hard floor for all cart flows: add a trigger condition to Added to Cart - Littledata. Events below the floor never reach Klaviyo. See Send add-to-carts only above a value.
money.total.shop
greater than or equal
50
A separate high-value flow: derive a custom event like High Value Added to Cart with the same condition, and leave the original event untouched. Trigger a dedicated flow with a stronger offer from the new metric, and keep your standard abandonment flow running for everyone else.
Keep staff and test traffic out of flows
Staff browsing the store triggers real abandonment emails and skews flow analytics. Add trigger conditions to each Littledata event, combined with ALL of the following are true:
Staff browsing
properties.email
does not contain
@yourstore.com
Tagged staff profiles
customer.tags
does not contain
staff
Swap @yourstore.com for your team's email domain. See Exclude staff and test orders for more detailed instructions.
Personalize flow content with product metafields
Product attributes like ingredients, material, or care instructions live in metafields, not in your events. Expose them, then map them onto Viewed Product - Littledata and Added to Cart - Littledata:
Your ingredient metafield
key_ingredient
Then use the property two ways in Klaviyo: branch with a trigger split, or print the value in the email itself, for example an ingredient callout in an abandoned cart email.
Full walkthrough: Send product metafields to a destination.
Use your edited events in Klaviyo
Work through the steps that apply to your setup.
Set a Littledata event as a flow trigger
Clone your existing flow, select the matching - Littledata metric as the trigger, and add profile filters so users don't enter both flows. The full walkthrough, including the filters for browse, cart, and checkout abandonment, is in Set up your Klaviyo flows using Littledata's triggers.
Trigger a flow from a custom event
A custom event appears in Klaviyo's metric list after it fires for the first time. If you don't see it yet, trigger it yourself: perform the qualifying action on your store, for example add a qualifying product to the cart.
Then create your flow, choose Build your own, select Metric as the trigger, and pick your custom event from the list.
Branch a flow on a custom property
Use a Trigger split step in the flow builder. Trigger splits branch on properties of the event that triggered the flow, which is where your mapped fields arrive. Select the property, for example skin_type, and define one branch per value.
A Conditional split works on profile data instead, so use it only when you're segmenting on profile properties rather than event properties.
Use custom properties in email and SMS templates
Reference event properties with Klaviyo's event variable syntax. Custom parameters typically arrive at the top level of the event, for example:
{{ event.skin_type }}
Littledata's standard extra fields sit under event.extra, for example the checkout permalink for abandoned cart emails:
{{ event.extra.checkout_url }}
Use Klaviyo's preview with a recent event to confirm the exact property path before you send.
Verify your setup
In Littledata, preview the event and check your conditions and custom fields appear in the payload.
Trigger the event on your store as a test customer.
In Klaviyo, open your test profile's activity feed and confirm the event arrived with the properties you mapped.
For custom events, confirm the new metric exists and wire it into your flow.
Have a Klaviyo setup you'd like documented? Email help@littledata.io and we'll consider it for this guide.
Last updated
Was this helpful?