Skip to content

Klaviyo guide

Klaviyo Audit Checklist: How to Review Your Account Step by Step

A working order for auditing a Klaviyo account, from the store events it receives to consent, segments, flow logic, campaigns and reporting, with what to look for at each step and why it matters.

  1. Store data
  2. Consent and lists
  3. Segments
  4. Flows
  5. Overlap
  6. Campaigns
  7. Reporting
Audit in the order the data travels, not in the order the menus appear

What should a Klaviyo audit check?

A Klaviyo audit checks whether the account receives the right store data, whether consent and lists are handled correctly, whether segments describe real customer states, and whether flows and campaigns act on that data without contradicting each other. Reporting comes last, because you can only judge the numbers once you trust what feeds them.

Most people start an audit by opening the flows tab, because that’s where the emails are. It’s the wrong place to start. A flow is only as good as the event that triggers it and the filters that decide who gets through. If Added to Cart was never tracked, no amount of copywriting fixes the cart flow, because there isn’t one.

This guide walks through the account in the order the data travels. Set aside a few hours, use an admin login, and keep notes as you go. When you reach the flows, the Klaviyo flow checklist gives you a printable version of the per-flow checks.

Step 1: Confirm which store events actually arrive

Go to Analytics > Metrics and look at what’s there. You’re answering two questions: which events exist, and are they still being received?

For an ecommerce store, the metrics you’d normally expect include:

  • Viewed Product, from Klaviyo’s onsite tracking (on Shopify, through the Klaviyo app embed)
  • Added to Cart, which on Shopify only appears if the integration setting Track behavioral events is checked
  • Started Checkout (shown as Checkout Started on Shopify-sourced data in many accounts)
  • Placed Order and Ordered Product, one event per order and one per line item respectively
  • Fulfilled Order, Cancelled Order and Refunded Order, depending on the integration

Open each one and check the date of the most recent event. A metric that stopped receiving data three months ago usually means a theme change removed a snippet or an app embed was switched off. The flows built on it keep showing “Live” while sending nothing.

Look for duplicates as well. Accounts that changed platforms, or ran a subscription app alongside the store, sometimes have two different Placed Order metrics. One flow uses the first, a segment uses the second, and the customer counts never match.

A short scenario: a store moves from a page-builder theme to a new Shopify theme in spring. The Klaviyo app embed isn’t re-enabled. Viewed Product stops on that day, browse abandonment goes quiet, and because the revenue dashboard only shows totals, the gap isn’t noticed until someone asks why browse revenue is zero for the quarter.

Next, look at how profiles join and what they’ve agreed to.

For each list, note how people are added (forms, checkout consent, imports, API or app integrations) and whether it uses single or double opt-in. A list keeps the opt-in setting it had when it was created, so two lists in the same account can behave differently. That affects when list-triggered flows like the welcome series start, which our welcome flow guide covers in detail.

Then check consent on a sample of profiles. Email consent shows as Subscribed, Unsubscribed or Never subscribed, and suppression is a separate flag. Customers who checked out without ticking a marketing box usually arrive as Never subscribed. Find out whether any campaign or flow is reaching that group. Klaviyo’s segment condition If someone can or cannot receive marketing checks whether a profile is eligible, and adding the “because person > Subscribed” filter narrows it to people who actually opted in. If the account sends to everyone who is merely eligible, write that down as a finding, along with the regions you sell into.

SMS consent is separate from email consent and should be checked on its own.

Step 3: Check that segments describe real customer states

Segments are where customer state lives in Klaviyo. A healthy account can answer, from segments alone: who is a first-time customer, who has bought more than once, who is lapsing, and who is engaged enough to receive campaigns.

What to look for:

  • Behavioral groups held in lists. A “Customers” list imported once and never updated is wrong within weeks. Customer groups belong in segments built on Placed Order.
  • The engaged segment definition. Find the segment campaigns are sent to and read its conditions. If it relies on Opened Email alone, Apple Mail Privacy Protection opens will inflate it. Klaviyo marks these with the Apple Privacy Open property, which you can filter to false.
  • Time frames that no longer fit. “Opened or clicked in the last 365 days” might have suited a weekly sender with a slow buying cycle. It doesn’t suit a brand that sends four times a week.
  • Orphan segments. Dozens of segments named “test”, “copy of VIP” or a past promotion, used by nothing. They aren’t harmful in themselves, but they make the right segment hard to find.

Our Klaviyo segmentation guide goes deeper into how to build these.

Step 4: Build a flow inventory

Before judging any single flow, list them all. For each live flow, record:

  • the trigger (list, segment, metric, date property, price drop and so on)
  • trigger filters and profile filters, written out in full
  • the number of messages, their delays and channels
  • the status of each message (Live, Manual or Draft)
  • whether Smart Sending is on for each message
  • any discount codes and where they come from

This table is often the most useful output of the whole audit. It shows things you can’t see from inside a single flow: three flows on the same trigger, a message stuck in Manual since last year, an SMS step in a flow whose audience mostly hasn’t given SMS consent.

Pay attention to message status in particular. A flow can be Live while some of its messages sit in Manual or Draft, and those messages never send.

Step 5: Read each flow’s logic, not just its emails

Now go flow by flow. The questions are about logic, not design.

Are trigger filters and profile filters used correctly?

Trigger filters check data on the event that started the flow, such as the product viewed or the order value, and for metric-triggered flows they’re only checked when someone enters. Profile filters check who the person is or what they’ve done, and Klaviyo checks them at entry and again before each flow action. Trigger filters are only available on metric-triggered, custom object and price drop flows.

The practical consequence: anything that should stop a message after entry, such as “has placed an order”, has to be a profile filter or a split, not a trigger filter.

Does every conversion flow check for the conversion?

Every abandonment flow should check whether the person bought since entering. The usual profile filter is Placed Order zero times since starting this flow. Without it, buyers keep getting reminders for something they’ve already paid for.

Do splits route people where you expect?

Klaviyo’s multi-branch split replaced the older conditional and trigger splits, so you may see both styles in one account. In a multi-branch split, paths are evaluated in order, a profile goes down the first path it qualifies for, and everyone who matches nothing goes to Everyone else. Reordering paths changes who goes where. Use the flow preview with a real profile to confirm the route.

Is Smart Sending set deliberately?

Smart Sending skips a marketing message if the profile received one recently. The default window for email is 16 hours, and for SMS 24 hours. Skipped messages are not rescheduled. That’s fine for a third browse reminder and a problem for an email that delivers a promised discount. Check each message and note any where the setting looks accidental.

Can people re-enter?

Metric-triggered flows usually limit re-entry with a profile filter such as “has not been in this flow in the last 30 days”. List and segment triggers have their own re-entry settings. If a flow has no limit, find out how often the same person has received it.

Step 6: Test for overlap between flows

This is the step most audits skip, and it’s where most customer-facing problems come from. Flows don’t know about each other unless you tell them.

Take a test profile, or a real profile with a busy activity feed, and trace one realistic journey on paper. Someone subscribes, views two products, adds one to the cart, starts checkout, leaves, and buys the next day with the welcome code. For each event, which flows would they enter? Which messages would they receive, and in what order?

Browse, cart and checkout abandonment are the usual collision. Klaviyo’s own recommended filters handle it: browse abandonment excludes people who added to cart or started checkout since entering, and cart abandonment excludes people who started checkout. If those filters are missing, a shopper who goes all the way to checkout can get three abandonment emails about the same product. The browse abandonment and cart abandonment guides explain the exact setup.

Write down a priority order for when a profile qualifies for two flows at once. Checkout beats cart, cart beats browse, and a purchase ends all three.

Step 7: Look at who campaigns go to

Open the last ten campaigns and note the audience, the excluded segments and the send frequency.

The pattern to look for is a store that sends every campaign to its whole list, including people who haven’t opened, clicked, visited or bought in a year or more. That habit affects inbox placement for everything else, flows included. Also check whether recent buyers are excluded from heavy discount campaigns sent in the days after their order, and whether Smart Sending on campaigns is quietly holding back flow messages.

Step 8: Check the sending basics

You don’t need a full deliverability review here, but confirm a few things:

  • the account sends from a branded sending domain on your own domain, with the DNS records verified
  • SPF, DKIM and a DMARC record exist for that domain
  • bounce, unsubscribe and spam complaint rates by campaign, looking for any outliers
  • whether a sunset flow or process exists for long-term non-engagers

If any of these look wrong, our Klaviyo deliverability guide and the DMARC guide go further.

Step 9: Understand what the reporting is telling you

Klaviyo attributes a conversion to a message if it happens within an attribution window after a qualifying interaction. For new accounts, the defaults are 5 days for email opens and email clicks, and 5 days for SMS clicks. Check what your account actually uses under the attribution settings, and whether bot clicks and Apple privacy opens are excluded.

With open-based attribution, a customer who would have bought anyway can be counted as flow revenue simply because their mail app loaded an image. That doesn’t make the number useless. It’s good for comparing flows and messages with each other. It isn’t proof that a flow caused a sale. Add measures that don’t depend on attribution: placed order rate by segment, the share of first-time buyers who order again, and time to second order.

How to prioritize what you find

An audit usually produces thirty or forty findings. Sort them into three groups:

  1. Broken or risky. Missing metrics, flows triggering on dead events, marketing to people without consent, buyers receiving reminders. Fix these first.
  2. Overlapping or contradictory. Missing cross-flow filters, unclear flow priority, Smart Sending set by accident. Fix these next, because they affect customers every day.
  3. Missing or underdeveloped. No post-purchase flow for second orders, no win-back, no segment for lapsing customers. These are improvements, not repairs.

The order matters. Adding a new win-back flow on top of a segment that’s built on the wrong Placed Order metric just spreads the original problem further. For the wider version of this method beyond Klaviyo, see how to audit your CRM.

How long does a Klaviyo audit take?

A focused self-audit of a small account with a handful of flows can be done in an afternoon. Accounts with many flows, several integrations, SMS and years of segments take longer, mostly because tracing overlap between flows is slow work.

Should I turn flows off while I audit them?

Usually not. Set individual messages to Manual only if they’re actively causing harm, such as sending discounts to recent buyers. Otherwise audit live flows as they are, because you need to see real behavior.

What’s the most common problem a Klaviyo audit finds?

Missing cross-flow filters, so browse, cart and checkout flows send to the same shopper about the same product. Close behind is campaigns going to the whole list instead of an engaged segment.

Do I need Klaviyo’s predictive analytics for an audit?

No. Predictive fields are useful for segmenting once a store has enough order history, but an audit is about whether the basic data, consent and flow logic are correct.

Want the checklist in a form you can tick off?

The Klaviyo flow checklist turns the flow review in this guide into a printable list you can work through one flow at a time.