Littledata’s connection to Klaviyo gives brands more identifiable event data about customer behavior, with enhanced accuracy in tracking pre-purchase customer events.
In addition to syncing events with Klaviyo, Littledata automatically integrates with Shopify sites to capture customer touch-points, including sales, marketing, customer, and product performance data.
During the automatic installation process, Littledata adds a data layer and tracking script to all the store pages.
<head>
of each pageLittledata also adds a set of webhooks to your Shopify store. This means that each time a user changes the cart or checkout state our servers can relay that event to Klaviyo.
There are many advantages to this approach:
Server-side tracking is a more accurate way to track actions and attribute them to Klaviyo profiles. In situations where Klaviyo’s tracking script might be blocked by ad blockers or iOS / Safari restrictions, Klaviyo’s server-side Events API can still track events.
Server-side events are linked to a Klaviyo profile in the same way as web events sent via Klaviyo’s tracking script.
Here’s what you can track with Littledata’s Klaviyo integration for Shopify. All the events listed below are tracked by default. You can turn events off within the app settings.
Server-side events
Event name | Description |
---|---|
Added to Cart - Littledata | When a user adds an item to the cart |
Removed from Cart - Littledata | When a user removes an item from the cart |
Viewed Product - Littledata | When a user views a product |
Checkout Started - Littledata | When the user first enters the checkout page on a session |
The cart events designed to be backwards compatible with both the standard Added to Cart and Checkout Started events from Shopify.
Read the full event schema for Klaviyo here.
One major improvement over the Klaviyo standard event schema is the including of the full contents of the cart (Items
) with the Added to Cart and Checkout Started event.
Name | Product name | string |
---|---|---|
ProductID | Product ID | string |
Categories | Category of the product | string |
ImageURL | The URL of the product image | string |
URL | Product URL | string |
Brand | Product brand | string |
Price | Product price at the moment of the trigger. | string |
CompareAtPrice | Original price of the product in case of a sale. | string |
SKU | Product SKU | string |
Quantity | Product quantity | number |
TotalDiscount | Total amount of discount | string |
Discounts | Array of all applied discounts | array |
Grams | Product weight in grams | number |
Taxable | Product is taxable or not | boolean |
VariantTitle | Product variant name | string |
VariantId | Product variant ID | string |
Properties | Array of custom properties set for the item | array |
CheckoutUrl | The URL of the checkout page | string |
CartToken | Shopify cart token | string |
Items | Current products inside of the cart | array |
Items.Name | Product name | string |
Items.ProductID | Product ID | string |
Items.Categories | Category of the product | array |
Items.ImageURL | The URL of the product image | object |
Items.URL | Product URL | string |
Items.Brand | Product brand | string |
Items.Price | Product price at the moment of the trigger. | string |
Items.CompareAtPrice | Original price of the product in case of a sale. | string |
Items.SKU | SKU assigned to the product | string |
Items.Quantity | Product quantity | number |
Items.TotalDiscount | Total amount of discount | string |
Items.Discounts | Array of all applied discounts | array |
Items.Grams | Product weight in grams | number |
Items.Taxable | Product is taxable or not | boolean |
Items.VariantTitle | Product variant name | string |
Items.VariantId | Product variant ID | string |
Items.Properties | Array of custom properties set for the item | array |
Item Count | Total count of different items in the cart (not summed quantity) | number |
Total Discounts | Sum of total discounts in the cart (from applied coupons) | string |
Source Name | Source of the event | string |
Value | Total value of the cart | number |
extra | Extra product details found in the checkout webhook | object |
extra.token | Shopify checkout token | string |
extra.webhook_topic | Type of webhook | string |
extra.responsive_checkout_url | URL of the checkout | string |
extra.checkout_url | URL of the checkout | string |
extra.presentment_currency | Currency code of the presentment currency | string |
extra.line_items | Contents of the cart or checkout | string |
$value | Total value of the cart | number |
Littledata can infer the identity of a visitor on your site with an identity graph that uses several cookie identifiers (from Google, Meta, Klaviyo and Shopify).
One of these is the _kx
parameter, used by Klavyio specifically to recognize users who click on an email or SMS link.
We have a complex logic on our servers that allows us to identify the user by many different identifiers, to make sure the identity resolution is as complete as possible.
Littledata’s tracking is compatible with cookie consent (eg. Shopify cookie banners or OneTrust), and so the solution is GDPR compliant.
Littledata does not send events from their browser session to Klaviyo until the user has opted into tracking.
After you finish your setup, Littledata will automatically create 6 segments for you to use and see the benefits of our app.
Those 6 segments are called Legacy and Combined and contain the following events: Viewed Product, Added To Card and Checkout started.
Legacy segments contain Klaviyo events, while Combined segments contain Klaviyo and Littledata events, thus you can see how many more customers Littledata has tracked for you, on top of Klaviyo's basic tracking.
Klaviyo CDP includes a feature to backfill anonymous visitor events to a Klaviyo profile after the user is identified in the browser. In practice, it is only on the Thank You page, after the checkout is completed, that the backfill script can run.
There are a few limitations of this approach compared with Littledata’s integration: