
Blog
August 30, 2025

Blog
August 30, 2025

Blog
August 30, 2025
Set up Klaviyo event tracking in 7 steps. Capture the right actions, segment smarter, and trigger revenue-driving flows with tested, documented best practices.
Why Klaviyo Event Tracking Matters
Missing triggers, blunt segments, fuzzy ROI? The fix is clean, consistent event tracking. In Klaviyo, events record real customer actions as a metric with properties on a profile, which you then use for precise segmentation and flow triggers.
What This Guide Covers
What an event is in Klaviyo, and how metrics, properties and profiles work together.
Standard vs custom events and when to use each.
7-step setup (identify, name, enrich, send, test).
Testing & debugging with the Metrics Activity feed.
Scaling best practices for naming, hygiene, deduping and monitoring.
Pro Tip: Include a profile identifier and a unique_id
on every event. Test in Analytics → Metrics → Activity feed before enabling flows.
What Is Klaviyo Event Tracking and Why It Matters
In Klaviyo, an event is a customer action you record and use to power segmentation, personalisation, and automation. Each event belongs to a specific metric, includes useful properties, and links to the right customer profile.
Core components:
Event
A single action taken by a profile. Every event has exactly one metric (its type) and a timestamp. In the payload, the event links to its metric and profile in the relationships
object.
Metric (event type)
The named type of the action you track, for example, Checkout Started
or Completed Quiz
. When you create an event and provide a metric name, Klaviyo matches an existing metric or creates a new one with a metric_id
.
Properties
JSON properties carry context (e.g., sku, category, coupon, value). Only top-level, non-object properties are segmentable — put anything else in $extra
. Keep payloads lean (max 400 properties per event). For segmentation, 0, null, and empty strings are ignored.
Time
The event timestamp. Klaviyo will default to creation time, but you should send a time
value when backfilling historical actions to keep chronology correct.
Value
An optional numeric amount associated with the event, for example, a price. If the metric historically included a value
, events missing it will default to 0.
Unique ID
A recommended unique identifier to prevent accidental de-duplication. If you omit unique_id
, events with the same metric and profile sent simultaneously can be dropped as duplicates. Use UUIDv4 to ensure that each event is uniquely identified and processed.
Profile
The customer the event belongs to. When creating an event, include at least one profile identifier — id
, email
, phone_number
, or external_id
— along with the metric name. See Create Event.
Note: Events created with @example.com
or @test.com
emails are accepted by the API but silently dropped during processing, so they won’t appear in Klaviyo.
Why it matters
This structure lets you trigger flows the moment someone acts, filter audiences by precise behaviour, and attribute revenue back to specific actions with confidence. Clean, well-named metrics and lean properties are the foundation of reliable reporting and higher conversion.
Standard vs Custom Events
Standard e-commerce + on-site events come via your integration (e.g., Shopify). Anything brand-specific (loyalty, quizzes, wishlists) = custom event via the API.
Standard e-commerce events (Shopify)
What you get out of the box:
Checkout Started
Placed Order
Ordered Product
Fulfilled Order
(plus Cancelled Order, Refunded Order, Fulfilled Partial Order if you need them).
Why it matters: Powers core flows (abandon, confirmation, post-purchase) and reporting with minimal setup.
On-site behavioural events (Shopify)
Enabled by default (with app embed/onsite tracking): Viewed Product, Active on Site.
Toggle on in Shopify → Klaviyo integration (“Track behavioral events”): Added to Cart, Viewed Collection, Submitted Search.
Tip: If a browse event does not appear, follow the Section 5 checklist for on-site tracking and identification tests.
Why it matters: Drives browse/cart abandonment, search follow-ups, and category-based recommendations.
Custom events (API)
Use for brand moments:
Loyalty points redeemed
Wishlist added
Quiz completed (store result)
Back-in-stock clicked
Pre-order reserved, etc.
How to send:
Server: Create Event (or Bulk Create Events).
Browser (public key): Bulk Create Client Events — never use a private API key client-side.
Payload must-haves: Clear metric name, top-level properties you’ll segment on (e.g., category
, value
, quiz_result
), and one identifier (email
, phone_number
, id
, or external_id
).

When to use what
Use standard if it cleanly represents the moment (best-practice flows + reports already expect it).
Go custom when you need a distinct moment or richer context to target/branch (keep properties lean and actionable).
7-Step Setup Guide for Klaviyo Event Tracking
1. Install tracking
Connect your platform (for example, Shopify). Enable the app embed so Viewed Product and Active on Site fire, then switch on Track behavioral events for Added to Cart, Viewed Collection, Submitted Search.

Source: Klaviyo
2. Identify the user
Send at least one profile identifier with every event: email
, phone_number
, id
, or external_id
.

Source: Klaviyo
3. Name the metric clearly
Use action-first names you will recognise in segments and flow triggers (for example, Completed Quiz).
4) Add properties you will use
Include only top-level, non-object properties you will segment on; stash extra detail in $extra.

Source: Klaviyo
5. Send the event
Server: Create Event or Bulk Create Events. Browser: Bulk Create Client Events with your public API key only. Never expose a private key client-side.

Source: Klaviyo
6. Test in Klaviyo
Open Analytics → Metrics → Activity feed to confirm events and properties.


Source: Klaviyo
7. Trigger and monitor flows
Create a metric-triggered flow and add trigger filters as needed.

Source: Klaviyo

Source: Klaviyo
QA tips
Auditing usage: list automations that rely on a metric with Get Flows Triggered by Metric.
Strategic DTC Use Cases for Event Tracking
Turn signals into revenue with targeted flows and segments:
Back in stock
Use the Subscribed to Back in Stock metric to queue shoppers, then send email or SMS when inventory returns. Pull product properties into the message for relevance. See Back in stock flow and how these flows work.
Quiz completed (custom)
Fire a Completed Quiz custom event with a top-level property such as quiz_result = hydration
, then branch your onboarding content and bundles by result. Send via Create Event.
Loyalty redeemed (integration/custom)
Trigger VIP early access or exclusives when points are redeemed. Connect your programme and sync data to Klaviyo, then use those events or profile fields in flows. Start with Smile.io x Klaviyo or Yotpo Loyalty & Referrals integration guides.
Wishlist added (custom)
Send a Wishlist Added event, then follow up with a back-in-stock or a price-based reminder when relevant. Implement with Create Event.
Viewed collection (Shopify)
Enable onsite tracking, then toggle Track behavioral events to capture Viewed Collection and power category-specific recommendations and social proof.
Price sensitivity
Use the native Price Drop flow and set your threshold by amount or percent. Optionally add trigger or profile filters to refine who receives it.
Subscriptions
Pair Recharge → Klaviyo subscription metrics to drive skip, pause, renewal and churn-save sequences. Recharge
Testing & Debugging Events
Validate your tracking before you launch automations. Use Klaviyo’s built-in views to check payloads, identifiers, and timing, then preview messages that depend on those events.
Your testing toolkit
Activity feed: Go to Analytics → Metrics → Activity feed to confirm events are arriving, inspect properties, and see the linked profile and timestamp. This is the fastest way to spot mapping issues.
Preview & test and Inbox testing: From any template or flow message, open Preview & test, choose a profile or an event, and send yourself a test or run Inbox testing to confirm dynamic content resolves from event properties.
API spot checks: If you need to inspect raw records, query Get Events and Get Event Relationships to verify the metric and profile associations and the event timestamp. Klaviyo Developers
Client vs server sends: Browser code must call Bulk Create Client Events with a public key. Server code must use Create Event or Bulk Create Events with private or OAuth credentials.
Common issues and fixes

Best Practices for Scalable Event Tracking
Naming conventions
Use action-first metric names such as Completed Quiz or Redeemed Reward, with consistent casing and tense. Klaviyo creates a new metric when you use a new name, so clear labels keep segments and dashboards tidy.
Property hygiene
Send only top-level, non-object properties you will segment or analyse, for example category
, value
, sku
. Max 400 properties per event. For segmentation, values of 0, null and empty strings are ignored. Put extra, non-segmentable detail in $extra
.
Deduplication and IDs
Include a stable unique_id
(use UUIDv4) and the correct time
field, especially for backfills.
Server: Create Event or Bulk Create Events.
Client: Bulk Create Client Events with your public key only. Never expose a private key in the browser.
Governance
Maintain a shared metric catalogue with owner, purpose and schema. If your schema changes, create a new metric name, for example Completed Quiz v2, so existing flows and reports remain valid.
Monitoring
Enable metric anomaly monitoring for checkout, purchase and renewal metrics so unusual drops trigger alerts before flows underperform.
Reporting & Lifecycle Segmentation from Event Data
Reporting
Start in Analytics → Metrics to review a metric’s chart, then open the Activity feed for raw events, properties and linked profiles. In campaign and flow reports, choose a Conversion metric and confirm message attribution settings so revenue is counted consistently.
Lifecycle automation
Build metric-triggered flows and refine with trigger filters. Examples:
Win-back from inactivity: has not done Placed Order in 90 days.
Churn prevention: fewer site or message events in a period.
Replenishment: delay from Placed Order by expected usage interval; branch by product or quantity.
Segmentation
Start with frequency + recency logic, then add property filters for precision: “What someone has done → X is at least Y in the last Z days” with filters like category, price band or quiz_result.
Measuring impact
Compare performance by segment or cohort before and after launch, keep the same conversion metric across reports, and align attribution windows so ROI rolls up cleanly.
FAQs
1. Can I create events without an existing profile?
Yes — Create Event can create or update a profile when you include at least one identifier (email/phone/id).
2. What’s the difference between “metric” and “event”?
A metric is the event type (label); an event is a single occurrence of that type associated to a profile + timestamp.
3. How do I tie revenue back to an event-driven programme?
Choose a Conversion metric in campaign or flow analytics and confirm message attribution windows.
4. How do I see if a metric is still firing?
Open Analytics → Metrics → Activity feed for that metric; use anomaly monitoring for alerts on unusual drops.
5. Can I build frequency and recency segments from events?
Yes. Use “What someone has done” conditions, then add property filters for precision.
Conclusion
Good event tracking makes your email and SMS smarter. When Klaviyo records the right actions, you can target people at the right time, with the right message. Use clear names, send only useful properties, and add a unique_id
to every event. Test in the Activity feed before you launch.
Then build segments and flows that match what customers actually do. Keep watching the data and improve each month. You will see cleaner reports, stronger messages, and steadier revenue.
Key takeaways
Identify every event: Include a profile identifier and a
unique_id
to keep data clean.Send lean properties: Use top-level fields you will segment on and store extras in
$extra
.Use the right endpoints: Server uses Create or Bulk Create Events, client uses Bulk Create Client Events.
Test before launch: Validate payloads in Analytics → Metrics → Activity feed to catch mapping issues.
Segment with intent: Build frequency plus recency rules, then add property filters for precision.
Measure correctly: Set a Conversion metric and confirm message attribution windows for reliable ROI.
Worried your Klaviyo events aren’t reliable enough to base decisions on?
We’ll validate your setup, eliminate errors, and help you create data-backed campaigns with confidence. Click here to schedule your free audit and take control of your event data.
Why Klaviyo Event Tracking Matters
Missing triggers, blunt segments, fuzzy ROI? The fix is clean, consistent event tracking. In Klaviyo, events record real customer actions as a metric with properties on a profile, which you then use for precise segmentation and flow triggers.
What This Guide Covers
What an event is in Klaviyo, and how metrics, properties and profiles work together.
Standard vs custom events and when to use each.
7-step setup (identify, name, enrich, send, test).
Testing & debugging with the Metrics Activity feed.
Scaling best practices for naming, hygiene, deduping and monitoring.
Pro Tip: Include a profile identifier and a unique_id
on every event. Test in Analytics → Metrics → Activity feed before enabling flows.
What Is Klaviyo Event Tracking and Why It Matters
In Klaviyo, an event is a customer action you record and use to power segmentation, personalisation, and automation. Each event belongs to a specific metric, includes useful properties, and links to the right customer profile.
Core components:
Event
A single action taken by a profile. Every event has exactly one metric (its type) and a timestamp. In the payload, the event links to its metric and profile in the relationships
object.
Metric (event type)
The named type of the action you track, for example, Checkout Started
or Completed Quiz
. When you create an event and provide a metric name, Klaviyo matches an existing metric or creates a new one with a metric_id
.
Properties
JSON properties carry context (e.g., sku, category, coupon, value). Only top-level, non-object properties are segmentable — put anything else in $extra
. Keep payloads lean (max 400 properties per event). For segmentation, 0, null, and empty strings are ignored.
Time
The event timestamp. Klaviyo will default to creation time, but you should send a time
value when backfilling historical actions to keep chronology correct.
Value
An optional numeric amount associated with the event, for example, a price. If the metric historically included a value
, events missing it will default to 0.
Unique ID
A recommended unique identifier to prevent accidental de-duplication. If you omit unique_id
, events with the same metric and profile sent simultaneously can be dropped as duplicates. Use UUIDv4 to ensure that each event is uniquely identified and processed.
Profile
The customer the event belongs to. When creating an event, include at least one profile identifier — id
, email
, phone_number
, or external_id
— along with the metric name. See Create Event.
Note: Events created with @example.com
or @test.com
emails are accepted by the API but silently dropped during processing, so they won’t appear in Klaviyo.
Why it matters
This structure lets you trigger flows the moment someone acts, filter audiences by precise behaviour, and attribute revenue back to specific actions with confidence. Clean, well-named metrics and lean properties are the foundation of reliable reporting and higher conversion.
Standard vs Custom Events
Standard e-commerce + on-site events come via your integration (e.g., Shopify). Anything brand-specific (loyalty, quizzes, wishlists) = custom event via the API.
Standard e-commerce events (Shopify)
What you get out of the box:
Checkout Started
Placed Order
Ordered Product
Fulfilled Order
(plus Cancelled Order, Refunded Order, Fulfilled Partial Order if you need them).
Why it matters: Powers core flows (abandon, confirmation, post-purchase) and reporting with minimal setup.
On-site behavioural events (Shopify)
Enabled by default (with app embed/onsite tracking): Viewed Product, Active on Site.
Toggle on in Shopify → Klaviyo integration (“Track behavioral events”): Added to Cart, Viewed Collection, Submitted Search.
Tip: If a browse event does not appear, follow the Section 5 checklist for on-site tracking and identification tests.
Why it matters: Drives browse/cart abandonment, search follow-ups, and category-based recommendations.
Custom events (API)
Use for brand moments:
Loyalty points redeemed
Wishlist added
Quiz completed (store result)
Back-in-stock clicked
Pre-order reserved, etc.
How to send:
Server: Create Event (or Bulk Create Events).
Browser (public key): Bulk Create Client Events — never use a private API key client-side.
Payload must-haves: Clear metric name, top-level properties you’ll segment on (e.g., category
, value
, quiz_result
), and one identifier (email
, phone_number
, id
, or external_id
).

When to use what
Use standard if it cleanly represents the moment (best-practice flows + reports already expect it).
Go custom when you need a distinct moment or richer context to target/branch (keep properties lean and actionable).
7-Step Setup Guide for Klaviyo Event Tracking
1. Install tracking
Connect your platform (for example, Shopify). Enable the app embed so Viewed Product and Active on Site fire, then switch on Track behavioral events for Added to Cart, Viewed Collection, Submitted Search.

Source: Klaviyo
2. Identify the user
Send at least one profile identifier with every event: email
, phone_number
, id
, or external_id
.

Source: Klaviyo
3. Name the metric clearly
Use action-first names you will recognise in segments and flow triggers (for example, Completed Quiz).
4) Add properties you will use
Include only top-level, non-object properties you will segment on; stash extra detail in $extra.

Source: Klaviyo
5. Send the event
Server: Create Event or Bulk Create Events. Browser: Bulk Create Client Events with your public API key only. Never expose a private key client-side.

Source: Klaviyo
6. Test in Klaviyo
Open Analytics → Metrics → Activity feed to confirm events and properties.


Source: Klaviyo
7. Trigger and monitor flows
Create a metric-triggered flow and add trigger filters as needed.

Source: Klaviyo

Source: Klaviyo
QA tips
Auditing usage: list automations that rely on a metric with Get Flows Triggered by Metric.
Strategic DTC Use Cases for Event Tracking
Turn signals into revenue with targeted flows and segments:
Back in stock
Use the Subscribed to Back in Stock metric to queue shoppers, then send email or SMS when inventory returns. Pull product properties into the message for relevance. See Back in stock flow and how these flows work.
Quiz completed (custom)
Fire a Completed Quiz custom event with a top-level property such as quiz_result = hydration
, then branch your onboarding content and bundles by result. Send via Create Event.
Loyalty redeemed (integration/custom)
Trigger VIP early access or exclusives when points are redeemed. Connect your programme and sync data to Klaviyo, then use those events or profile fields in flows. Start with Smile.io x Klaviyo or Yotpo Loyalty & Referrals integration guides.
Wishlist added (custom)
Send a Wishlist Added event, then follow up with a back-in-stock or a price-based reminder when relevant. Implement with Create Event.
Viewed collection (Shopify)
Enable onsite tracking, then toggle Track behavioral events to capture Viewed Collection and power category-specific recommendations and social proof.
Price sensitivity
Use the native Price Drop flow and set your threshold by amount or percent. Optionally add trigger or profile filters to refine who receives it.
Subscriptions
Pair Recharge → Klaviyo subscription metrics to drive skip, pause, renewal and churn-save sequences. Recharge
Testing & Debugging Events
Validate your tracking before you launch automations. Use Klaviyo’s built-in views to check payloads, identifiers, and timing, then preview messages that depend on those events.
Your testing toolkit
Activity feed: Go to Analytics → Metrics → Activity feed to confirm events are arriving, inspect properties, and see the linked profile and timestamp. This is the fastest way to spot mapping issues.
Preview & test and Inbox testing: From any template or flow message, open Preview & test, choose a profile or an event, and send yourself a test or run Inbox testing to confirm dynamic content resolves from event properties.
API spot checks: If you need to inspect raw records, query Get Events and Get Event Relationships to verify the metric and profile associations and the event timestamp. Klaviyo Developers
Client vs server sends: Browser code must call Bulk Create Client Events with a public key. Server code must use Create Event or Bulk Create Events with private or OAuth credentials.
Common issues and fixes

Best Practices for Scalable Event Tracking
Naming conventions
Use action-first metric names such as Completed Quiz or Redeemed Reward, with consistent casing and tense. Klaviyo creates a new metric when you use a new name, so clear labels keep segments and dashboards tidy.
Property hygiene
Send only top-level, non-object properties you will segment or analyse, for example category
, value
, sku
. Max 400 properties per event. For segmentation, values of 0, null and empty strings are ignored. Put extra, non-segmentable detail in $extra
.
Deduplication and IDs
Include a stable unique_id
(use UUIDv4) and the correct time
field, especially for backfills.
Server: Create Event or Bulk Create Events.
Client: Bulk Create Client Events with your public key only. Never expose a private key in the browser.
Governance
Maintain a shared metric catalogue with owner, purpose and schema. If your schema changes, create a new metric name, for example Completed Quiz v2, so existing flows and reports remain valid.
Monitoring
Enable metric anomaly monitoring for checkout, purchase and renewal metrics so unusual drops trigger alerts before flows underperform.
Reporting & Lifecycle Segmentation from Event Data
Reporting
Start in Analytics → Metrics to review a metric’s chart, then open the Activity feed for raw events, properties and linked profiles. In campaign and flow reports, choose a Conversion metric and confirm message attribution settings so revenue is counted consistently.
Lifecycle automation
Build metric-triggered flows and refine with trigger filters. Examples:
Win-back from inactivity: has not done Placed Order in 90 days.
Churn prevention: fewer site or message events in a period.
Replenishment: delay from Placed Order by expected usage interval; branch by product or quantity.
Segmentation
Start with frequency + recency logic, then add property filters for precision: “What someone has done → X is at least Y in the last Z days” with filters like category, price band or quiz_result.
Measuring impact
Compare performance by segment or cohort before and after launch, keep the same conversion metric across reports, and align attribution windows so ROI rolls up cleanly.
FAQs
1. Can I create events without an existing profile?
Yes — Create Event can create or update a profile when you include at least one identifier (email/phone/id).
2. What’s the difference between “metric” and “event”?
A metric is the event type (label); an event is a single occurrence of that type associated to a profile + timestamp.
3. How do I tie revenue back to an event-driven programme?
Choose a Conversion metric in campaign or flow analytics and confirm message attribution windows.
4. How do I see if a metric is still firing?
Open Analytics → Metrics → Activity feed for that metric; use anomaly monitoring for alerts on unusual drops.
5. Can I build frequency and recency segments from events?
Yes. Use “What someone has done” conditions, then add property filters for precision.
Conclusion
Good event tracking makes your email and SMS smarter. When Klaviyo records the right actions, you can target people at the right time, with the right message. Use clear names, send only useful properties, and add a unique_id
to every event. Test in the Activity feed before you launch.
Then build segments and flows that match what customers actually do. Keep watching the data and improve each month. You will see cleaner reports, stronger messages, and steadier revenue.
Key takeaways
Identify every event: Include a profile identifier and a
unique_id
to keep data clean.Send lean properties: Use top-level fields you will segment on and store extras in
$extra
.Use the right endpoints: Server uses Create or Bulk Create Events, client uses Bulk Create Client Events.
Test before launch: Validate payloads in Analytics → Metrics → Activity feed to catch mapping issues.
Segment with intent: Build frequency plus recency rules, then add property filters for precision.
Measure correctly: Set a Conversion metric and confirm message attribution windows for reliable ROI.
Worried your Klaviyo events aren’t reliable enough to base decisions on?
We’ll validate your setup, eliminate errors, and help you create data-backed campaigns with confidence. Click here to schedule your free audit and take control of your event data.
Set up Klaviyo event tracking in 7 steps. Capture the right actions, segment smarter, and trigger revenue-driving flows with tested, documented best practices.
Why Klaviyo Event Tracking Matters
Missing triggers, blunt segments, fuzzy ROI? The fix is clean, consistent event tracking. In Klaviyo, events record real customer actions as a metric with properties on a profile, which you then use for precise segmentation and flow triggers.
What This Guide Covers
What an event is in Klaviyo, and how metrics, properties and profiles work together.
Standard vs custom events and when to use each.
7-step setup (identify, name, enrich, send, test).
Testing & debugging with the Metrics Activity feed.
Scaling best practices for naming, hygiene, deduping and monitoring.
Pro Tip: Include a profile identifier and a unique_id
on every event. Test in Analytics → Metrics → Activity feed before enabling flows.
What Is Klaviyo Event Tracking and Why It Matters
In Klaviyo, an event is a customer action you record and use to power segmentation, personalisation, and automation. Each event belongs to a specific metric, includes useful properties, and links to the right customer profile.
Core components:
Event
A single action taken by a profile. Every event has exactly one metric (its type) and a timestamp. In the payload, the event links to its metric and profile in the relationships
object.
Metric (event type)
The named type of the action you track, for example, Checkout Started
or Completed Quiz
. When you create an event and provide a metric name, Klaviyo matches an existing metric or creates a new one with a metric_id
.
Properties
JSON properties carry context (e.g., sku, category, coupon, value). Only top-level, non-object properties are segmentable — put anything else in $extra
. Keep payloads lean (max 400 properties per event). For segmentation, 0, null, and empty strings are ignored.
Time
The event timestamp. Klaviyo will default to creation time, but you should send a time
value when backfilling historical actions to keep chronology correct.
Value
An optional numeric amount associated with the event, for example, a price. If the metric historically included a value
, events missing it will default to 0.
Unique ID
A recommended unique identifier to prevent accidental de-duplication. If you omit unique_id
, events with the same metric and profile sent simultaneously can be dropped as duplicates. Use UUIDv4 to ensure that each event is uniquely identified and processed.
Profile
The customer the event belongs to. When creating an event, include at least one profile identifier — id
, email
, phone_number
, or external_id
— along with the metric name. See Create Event.
Note: Events created with @example.com
or @test.com
emails are accepted by the API but silently dropped during processing, so they won’t appear in Klaviyo.
Why it matters
This structure lets you trigger flows the moment someone acts, filter audiences by precise behaviour, and attribute revenue back to specific actions with confidence. Clean, well-named metrics and lean properties are the foundation of reliable reporting and higher conversion.
Standard vs Custom Events
Standard e-commerce + on-site events come via your integration (e.g., Shopify). Anything brand-specific (loyalty, quizzes, wishlists) = custom event via the API.
Standard e-commerce events (Shopify)
What you get out of the box:
Checkout Started
Placed Order
Ordered Product
Fulfilled Order
(plus Cancelled Order, Refunded Order, Fulfilled Partial Order if you need them).
Why it matters: Powers core flows (abandon, confirmation, post-purchase) and reporting with minimal setup.
On-site behavioural events (Shopify)
Enabled by default (with app embed/onsite tracking): Viewed Product, Active on Site.
Toggle on in Shopify → Klaviyo integration (“Track behavioral events”): Added to Cart, Viewed Collection, Submitted Search.
Tip: If a browse event does not appear, follow the Section 5 checklist for on-site tracking and identification tests.
Why it matters: Drives browse/cart abandonment, search follow-ups, and category-based recommendations.
Custom events (API)
Use for brand moments:
Loyalty points redeemed
Wishlist added
Quiz completed (store result)
Back-in-stock clicked
Pre-order reserved, etc.
How to send:
Server: Create Event (or Bulk Create Events).
Browser (public key): Bulk Create Client Events — never use a private API key client-side.
Payload must-haves: Clear metric name, top-level properties you’ll segment on (e.g., category
, value
, quiz_result
), and one identifier (email
, phone_number
, id
, or external_id
).

When to use what
Use standard if it cleanly represents the moment (best-practice flows + reports already expect it).
Go custom when you need a distinct moment or richer context to target/branch (keep properties lean and actionable).
7-Step Setup Guide for Klaviyo Event Tracking
1. Install tracking
Connect your platform (for example, Shopify). Enable the app embed so Viewed Product and Active on Site fire, then switch on Track behavioral events for Added to Cart, Viewed Collection, Submitted Search.

Source: Klaviyo
2. Identify the user
Send at least one profile identifier with every event: email
, phone_number
, id
, or external_id
.

Source: Klaviyo
3. Name the metric clearly
Use action-first names you will recognise in segments and flow triggers (for example, Completed Quiz).
4) Add properties you will use
Include only top-level, non-object properties you will segment on; stash extra detail in $extra.

Source: Klaviyo
5. Send the event
Server: Create Event or Bulk Create Events. Browser: Bulk Create Client Events with your public API key only. Never expose a private key client-side.

Source: Klaviyo
6. Test in Klaviyo
Open Analytics → Metrics → Activity feed to confirm events and properties.


Source: Klaviyo
7. Trigger and monitor flows
Create a metric-triggered flow and add trigger filters as needed.

Source: Klaviyo

Source: Klaviyo
QA tips
Auditing usage: list automations that rely on a metric with Get Flows Triggered by Metric.
Strategic DTC Use Cases for Event Tracking
Turn signals into revenue with targeted flows and segments:
Back in stock
Use the Subscribed to Back in Stock metric to queue shoppers, then send email or SMS when inventory returns. Pull product properties into the message for relevance. See Back in stock flow and how these flows work.
Quiz completed (custom)
Fire a Completed Quiz custom event with a top-level property such as quiz_result = hydration
, then branch your onboarding content and bundles by result. Send via Create Event.
Loyalty redeemed (integration/custom)
Trigger VIP early access or exclusives when points are redeemed. Connect your programme and sync data to Klaviyo, then use those events or profile fields in flows. Start with Smile.io x Klaviyo or Yotpo Loyalty & Referrals integration guides.
Wishlist added (custom)
Send a Wishlist Added event, then follow up with a back-in-stock or a price-based reminder when relevant. Implement with Create Event.
Viewed collection (Shopify)
Enable onsite tracking, then toggle Track behavioral events to capture Viewed Collection and power category-specific recommendations and social proof.
Price sensitivity
Use the native Price Drop flow and set your threshold by amount or percent. Optionally add trigger or profile filters to refine who receives it.
Subscriptions
Pair Recharge → Klaviyo subscription metrics to drive skip, pause, renewal and churn-save sequences. Recharge
Testing & Debugging Events
Validate your tracking before you launch automations. Use Klaviyo’s built-in views to check payloads, identifiers, and timing, then preview messages that depend on those events.
Your testing toolkit
Activity feed: Go to Analytics → Metrics → Activity feed to confirm events are arriving, inspect properties, and see the linked profile and timestamp. This is the fastest way to spot mapping issues.
Preview & test and Inbox testing: From any template or flow message, open Preview & test, choose a profile or an event, and send yourself a test or run Inbox testing to confirm dynamic content resolves from event properties.
API spot checks: If you need to inspect raw records, query Get Events and Get Event Relationships to verify the metric and profile associations and the event timestamp. Klaviyo Developers
Client vs server sends: Browser code must call Bulk Create Client Events with a public key. Server code must use Create Event or Bulk Create Events with private or OAuth credentials.
Common issues and fixes

Best Practices for Scalable Event Tracking
Naming conventions
Use action-first metric names such as Completed Quiz or Redeemed Reward, with consistent casing and tense. Klaviyo creates a new metric when you use a new name, so clear labels keep segments and dashboards tidy.
Property hygiene
Send only top-level, non-object properties you will segment or analyse, for example category
, value
, sku
. Max 400 properties per event. For segmentation, values of 0, null and empty strings are ignored. Put extra, non-segmentable detail in $extra
.
Deduplication and IDs
Include a stable unique_id
(use UUIDv4) and the correct time
field, especially for backfills.
Server: Create Event or Bulk Create Events.
Client: Bulk Create Client Events with your public key only. Never expose a private key in the browser.
Governance
Maintain a shared metric catalogue with owner, purpose and schema. If your schema changes, create a new metric name, for example Completed Quiz v2, so existing flows and reports remain valid.
Monitoring
Enable metric anomaly monitoring for checkout, purchase and renewal metrics so unusual drops trigger alerts before flows underperform.
Reporting & Lifecycle Segmentation from Event Data
Reporting
Start in Analytics → Metrics to review a metric’s chart, then open the Activity feed for raw events, properties and linked profiles. In campaign and flow reports, choose a Conversion metric and confirm message attribution settings so revenue is counted consistently.
Lifecycle automation
Build metric-triggered flows and refine with trigger filters. Examples:
Win-back from inactivity: has not done Placed Order in 90 days.
Churn prevention: fewer site or message events in a period.
Replenishment: delay from Placed Order by expected usage interval; branch by product or quantity.
Segmentation
Start with frequency + recency logic, then add property filters for precision: “What someone has done → X is at least Y in the last Z days” with filters like category, price band or quiz_result.
Measuring impact
Compare performance by segment or cohort before and after launch, keep the same conversion metric across reports, and align attribution windows so ROI rolls up cleanly.
FAQs
1. Can I create events without an existing profile?
Yes — Create Event can create or update a profile when you include at least one identifier (email/phone/id).
2. What’s the difference between “metric” and “event”?
A metric is the event type (label); an event is a single occurrence of that type associated to a profile + timestamp.
3. How do I tie revenue back to an event-driven programme?
Choose a Conversion metric in campaign or flow analytics and confirm message attribution windows.
4. How do I see if a metric is still firing?
Open Analytics → Metrics → Activity feed for that metric; use anomaly monitoring for alerts on unusual drops.
5. Can I build frequency and recency segments from events?
Yes. Use “What someone has done” conditions, then add property filters for precision.
Conclusion
Good event tracking makes your email and SMS smarter. When Klaviyo records the right actions, you can target people at the right time, with the right message. Use clear names, send only useful properties, and add a unique_id
to every event. Test in the Activity feed before you launch.
Then build segments and flows that match what customers actually do. Keep watching the data and improve each month. You will see cleaner reports, stronger messages, and steadier revenue.
Key takeaways
Identify every event: Include a profile identifier and a
unique_id
to keep data clean.Send lean properties: Use top-level fields you will segment on and store extras in
$extra
.Use the right endpoints: Server uses Create or Bulk Create Events, client uses Bulk Create Client Events.
Test before launch: Validate payloads in Analytics → Metrics → Activity feed to catch mapping issues.
Segment with intent: Build frequency plus recency rules, then add property filters for precision.
Measure correctly: Set a Conversion metric and confirm message attribution windows for reliable ROI.
Worried your Klaviyo events aren’t reliable enough to base decisions on?
We’ll validate your setup, eliminate errors, and help you create data-backed campaigns with confidence. Click here to schedule your free audit and take control of your event data.
Join our newsletter list
Sign up to get the most recent blog articles in your email every week.
Other Blogs
Other Blogs
Check our other project Blogs with useful insight and information for your businesses
Other Blogs
Other Blogs
Check our other project Blogs with useful insight and information for your businesses
Other Blogs
Other Blogs
Check our other project Blogs with useful insight and information for your businesses