tl;dr
Send us the email address a customer provides when they sign up (e.g. via a newsletter/popup form) as a dedicated event.
We use this to match the signup to a later order event and connect the sessions in between.
Stock Shopify themes need a small snippet in theme.liquid plus a pixel change in Customer Events. Other platforms and other form providers can send the same event with a different trigger.
If a signup event is sent, update your privacy notice to mention the hashed email address.
Integration
Stock Shopify (Klaviyo forms)
If you're on a standard Shopify theme and collect signups through Klaviyo forms, add the following to your theme.liquid:
window.addEventListener('klaviyoForms', function (e) { if (e.detail.type == 'submit') { Shopify.analytics.publish('Klar:signupEvent', { email: e.detail.metaData['$email'] }); } });This listens for a successful Klaviyo form submission and publishes the email address to the Klar pixel via Shopify.analytics.publish.
Then, in Shopify Admin → Settings → Customer events, open the Klar pixel and add:
window._k_u_e_m === 'true'
This tells the pixel to accept and process the incoming signup email.
Other form providers (Shopify)
If you use a different popup/form provider, the setup is the same — you just need to trigger on that provider's own submit event instead of klaviyoForms. Replace the event listener with whatever your provider fires on submit, and make sure the object passed to Shopify.analytics.publish('Klar:signupEvent', { email: ... }) contains the submitted email address. If you're not sure what your provider's submit event or metadata field is called, check their documentation or send us a screenshot of your form setup and we can help you find the right hook.
Not on Shopify
If you're not on Shopify, send the signup event using the same pixel implementation you use for other custom events — see Setting up the Klar Pixel for Shopware 6, Setting up the Klar Pixel for WooCommerce, or Setting up the Klar Pixel via serverside tracking, depending on your platform. The event name and field stay the same:
<script> window._k_q = window._k_q || []; window._k_q.push(["Klar:signupEvent", { email: "[email protected]" }]); </script>Trigger this on whatever your platform considers a successful signup/form submission, passing the email address the customer entered.
Fields you need to pass
Field | Description | Example |
| The email address the customer submitted at signup. |
Update your privacy notice
Once you're sending us the signup email, update the section of your privacy notice covering Klar to mention the hashed email address.
Change:
We use the services of Klar Insights GmbH, Clemensstr. 2, 80803 Munich, Germany, a SaaS provider for business intelligence solutions for eCommerce companies. Klar Insights GmbH collects, processes, and stores data (user and session IDs, IP address, online identifiers (cookie ID, device ID)) on this website and its subpages for reach measurement and statistical analysis on our behalf. For this purpose, we have concluded a data processing agreement with Klar Insights GmbH.
to:
We use the services of Klar Insights GmbH, Clemensstr. 2, 80803 Munich, Germany, a SaaS provider for business intelligence solutions for eCommerce companies. Klar Insights GmbH collects, processes, and stores data (user and session IDs, IP address, hashed email address, online identifiers (cookie ID, device ID)) on this website and its subpages for reach measurement and statistical analysis on our behalf. For this purpose, we have concluded a data processing agreement with Klar Insights GmbH.
Good-to-Know
We never receive or store the plaintext email address — it's hashed before being sent and stored.
Sending the signup event is optional but improves session stitching for customers who sign up before they place their first order.

