A Klaviyo audit is a structured review of what an account is doing, what it’s leaving on the table, and what to fix first. It takes a competent operator about a day, and you can do most of it yourself.
The order matters more than the list. Deliverability gates everything, consent gates who you can reach, and flow filters decide who actually gets a message, so an audit that starts with open rates is reading the symptoms before it’s found the causes.
Here’s the full checklist, in the order we run it.
What does a Klaviyo audit actually check?
Six areas, and the sequence isn’t arbitrary. Each one changes how you read the next.
| # | Area | Why it sits here |
|---|---|---|
| 1 | Deliverability | If mail is not arriving, every other number in the account is measuring the wrong thing |
| 2 | Consent and suppression | Decides who is reachable at all, and whether you are reaching people you should not |
| 3 | Flow coverage | Which moments you respond to, and which you let pass in silence |
| 4 | Flow mechanics | Filters, timing and overlap. Where flows quietly stop working |
| 5 | Campaigns | Frequency, segmentation and whether sends are earning or burning the list |
| 6 | Capture | What you collect at signup, which caps everything downstream |
Most audits you’ll find online cover area 5 and call it a day, because campaigns are the visible part. The money’s almost always in areas 1, 3 and 4.
How do you audit deliverability first?
Start here, every time. An account with a placement problem produces open rates that look like a content problem, and people spend months rewriting subject lines when there’s nothing wrong with them.
- Authentication. A dedicated sending domain, with the DNS records Klaviyo asks for actually in place and verified, not just added.
- Spam complaint rate. Google’s threshold is 0.10% and the hard limit is 0.30%. Anything near the first number is a problem you’ve already got, not one you might get.
- Bounce rate and list hygiene. Hard bounces should be suppressed automatically. If they aren’t, find out why before you touch anything else.
- Whether a sunset policy exists at all. Most accounts we open do not have one, and it is the single cheapest deliverability fix available.
- Engagement by recency band. Compare your last 30 days against 90 and 365. A big gap between them means you’re sending to people who stopped reading.
The test that settles it: send the same campaign to a 30-day engaged segment and to everyone, and compare placement, not opens. If the engaged segment performs far better, you have a reputation problem, not a copy problem.
How do you audit consent and suppression?
This is the quietest section, and it’s the one that creates the most risk.
- Where every list came from. If you can’t say how the profiles on a list opted in, you shouldn’t be mailing it.
- Whether any segment lacks a consent condition. This is worth checking by hand rather than assuming. A segment built on behavior alone will happily include people who never subscribed, and only Klaviyo’s own consent gate stands between them and a send.
- Imported profiles. Importing to a list triggers any list-triggered flow attached to it, so check whether a past import quietly put thousands of people through a welcome series.
- Suppression hygiene. Unsubscribes, hard bounces and spam complaints should all be suppressed, and nothing should be re-importing them.
How do you audit flow coverage?
Not “do we have the main flows”, but which customer moments get a response and which get nothing. The way to see it is a grid: the touchpoints a customer can hit down one axis, and how many times they’ve bought across the other.
Most accounts cover four or five cells out of sixty, and rarely the same four. The holes are predictable, and they’re the same ones every time: failed payment, paused and skipped subscriptions, refunds, and anything aimed at somebody on their third or fourth order rather than their first.
The full grid and all 22 flows sets out what the complete set looks like, so you can mark off what you’ve got and see the gaps instead of guessing.
The three that are almost always missing
| Missing flow | Why it matters |
|---|---|
| Failed payment | Nobody here is unhappy. It is a card, and it is the cheapest revenue in the account |
| Pause, skip and delay | Three separate events that get treated as one, or ignored. None is a cancellation |
| Anything for repeat customers | Almost every account writes for first-time buyers and sends the same thing to people on their fifth order |
How do you audit the flows you already have?
Four checks, in order. The first one finds more broken flows than the other three put together, and it’s the one nobody runs.
1. Filters: trigger or profile?
Open every flow and look at where each condition’s living. Klaviyo evaluates a metric trigger filter only when somebody first enters, and a profile filter at entry and again before every email.
So any condition that can change while the flow runs belongs in a profile filter. Put it in a trigger filter and people stay in the wrong sequence for the rest of its run. That’s the most common flow bug there is, and it’s invisible until you look.
2. Skipped messages, and why
For each flow message, open the performance details, then Recipient activity and the Skipped tab. Klaviyo breaks skips down by reason, and they don’t all mean the same thing.
A high skip count is often correct. An abandoned cart flow should skip heavily, because everyone who goes on to order is filtered out. What you’re looking for is skips you can’t explain, and particularly Smart Sending on time-sensitive messages.
3. Smart Sending
It drops any message to somebody who received another on the same channel recently, and it does it silently. Across eleven accounts we measured, 2.95% of all attempted sends were skipped, with a range from 0.30% to 4.57%. What Smart Sending is doing to your flows has the method and the numbers.
It should be off for anything time-sensitive: abandonment, order and shipping messages, failed payment. Anything where the message is about something the person just did.
4. Overlap
Take one plausible customer journey, somebody who browses, adds to cart, starts checkout and leaves inside ten minutes, and work out how many flows fire. If it’s more than one, the entry filters aren’t mutually exclusive and somebody is getting three sequences about one shopping trip.
If a flow has gone quiet entirely, that’s a different problem with its own checklist: the three layers to check when a flow is not sending.
How do you audit campaigns?
- Who actually receives them. If most campaigns go to the whole list, the account has no segmentation strategy, whatever the segment count says.
- Frequency against unsubscribe rate. Plot them together over twelve months. The point where unsubscribes climb is your real ceiling, not the one you guessed.
- The offer mix. Count how many of the last twenty campaigns carried a discount. Past about half, the list’s learned to wait and your full-price sends stop working.
- Whether anything is tested. Not subject lines. Offers, send frequency and audience, which are the three that move revenue.
How do you audit signup and capture?
It’s last in the order and first in consequence, because it caps everything downstream.
- What you collect beyond an email address. If the answer is nothing, every welcome email has to be written for the average subscriber.
- Whether the forms actually write what they capture. In a multi-step Klaviyo form the button must be set to Submit form, or the answer is never written to the profile and every branch downstream collapses silently.
- Signup rate by form and by page. One badly placed form usually accounts for most of the gap.
- What happens next. The welcome flow is where capture turns into revenue, or doesn’t.
How do you tell what any of it is worth?
This is where most audits, including plenty of paid ones, quietly give up.
Attributed revenue is not evidence. Flows are triggered by people who just did something commercial, so they attribute well whether or not they caused anything. An account can show a huge flow revenue number while the flows themselves are doing very little.
Hold out a random sample. A profile-sample split inside a flow sends a small percentage nothing, and the difference between the two groups is what the flow actually caused. Checking whether a single holdout exists anywhere in the account is the fastest way to find out how seriously it’s been run.
In most accounts we open, the answer is none. Which means nothing in the account has ever been measured, only attributed.
What should the audit produce?
A list of findings isn’t an audit. The output has to be ordered, because fixing things in the wrong order wastes the work.
| The output | What good looks like |
|---|---|
| A score per area | So you can see where the account actually stands, not a verdict |
| An ordered list of fixes | Deliverability before flows, flows before campaigns, always |
| A size on each one | Even a rough range. “Fix this” without “worth this” gets ignored |
| What to leave alone | An audit that finds forty problems has not prioritized anything |
When is it worth having somebody else do it?
You can run everything above yourself, and if you’ve got a day and you know the account, you should. The honest case for an outside pair of eyes is narrower than agencies pretend, and it comes down to two things.
Pattern recognition. Knowing that a 2.95% skip rate is normal and a 12% one is not, or what a healthy failed-payment recovery looks like, comes from seeing a lot of accounts, not one.
The things outside the account. A Klaviyo audit can tell you the flows are well built. It can’t tell you the offer is the thing holding the program back, and in most subscription businesses that’s exactly what’s happening.
If you’d rather not spend the day, our free Klaviyo audit runs this checklist against your account, scores it, and ends with the ordered list of fixes, not a document. You keep it either way, and there’s no call required.
What should you read next?
- All 22 Klaviyo flows and the grid, for the coverage check.
- Why a flow goes quiet, the three layers in order.
- What Smart Sending is doing to your flows, with the skip benchmark across eleven accounts.
- The welcome flow, where capture becomes revenue.
- The post-purchase flow, where the second order is won or lost.
Frequently asked questions
What is a Klaviyo audit?
A Klaviyo audit is a structured review of an account covering deliverability, consent, flow coverage, flow mechanics, campaigns and signup capture, in that order, ending with an ordered list of what to fix first.
How do you audit a Klaviyo account yourself?
Work in order: deliverability first, then consent and suppression, then which flows exist, then how those flows are built, then campaigns, then capture. The order matters because each area changes how you read the next one.
How long does a Klaviyo audit take?
About a day for somebody who knows the account and what to look for. Longer if the account has a lot of flows, because checking filters and skip reasons is the slow part.
What is the most common problem a Klaviyo audit finds?
A condition sitting in a trigger filter that should be in a profile filter. A metric trigger filter is only evaluated at entry, so people stay in the wrong sequence for its whole run and nothing in the interface flags it.
Is attributed flow revenue a reliable number?
No. Flows are triggered by people who have just done something commercial, so they attribute well whether or not they’ve caused the order. The only reliable test is a holdout: send a small random percentage nothing and compare.
Should Smart Sending be on or off?
Off for anything time-sensitive, including abandonment, order and shipping messages and failed payment. Across eleven accounts we measured, it skipped 2.95% of all attempted sends, with a range from 0.30% to 4.57%.
What does a Klaviyo audit cost?
Agencies charge anywhere from nothing to four figures. Ours is free, and you keep the scorecard and the plan whether or not you end up working with us.
How often should you audit a Klaviyo account?
Deliverability and consent are worth checking quarterly. A full review is worth doing annually, or whenever something structural changes such as a platform migration or a new subscription offer.
Sources
- Klaviyo, Understanding flow triggers and filters
- Klaviyo, Troubleshooting why a flow message skipped a profile
- Klaviyo, Understanding Smart Sending
The skip benchmark is from eleven live accounts we run, aggregated. No client, product, category or platform is identified, and no account data beyond the aggregate is published.