Littledata

The Ultimate Guide to Klaviyo Flows

by Edward

The Ultimate Guide to Klaviyo Flows

Most brands only ever see a handful of Klaviyo accounts.

So “best practice” tends to mean a template someone copied from a course or what we did at my previous company.

This blog is different.

We analyzed flow triggers, splits, and complexity across 600 Klaviyo accounts to map which flows are popular, what’s actually working at scale, and what your setup is likely missing.

Our goal is to help you answer this question: “Does my Klaviyo account look normal for a brand at my stage? And if not, what’s the shortest path to fixing the gap?”

One caveat before we start: flows are only as good as the signals that trigger them. When your Klaviyo events are inconsistent, you either:

  • Build generic flows (because you can’t trust the trigger context), OR
  • Build complex flows (to patch gaps with logic), and get unpredictable results.

That signal + segmentation dependency shows up in your PnL numbers.

So here are the most common questions Shopify brands ask about Klaviyo flows answered using data from our research.

Learn how to double your Klaviyo flow performance.


1) How many Klaviyo flows should a Shopify brand have?

Most Shopify brands run a compact core of flows—around 12 live flows in Klaviyo is the typical baseline in our analysis of 600 accounts. The average is 19, but that’s because the distribution is skewed: a smaller group of brands run far more flows and pull the mean up. At the extreme end, we saw one outlier with 458 live flows, which usually points to either genuine operational complexity (deep catalogue, multiple regions, many segments) or flow sprawl over time (duplicated logic, legacy tests, and automations nobody owns).

So the practical answer is don’t aim for “19 flows.” Use it as a diagnostic: if you have fewer than ~12 live flows, you’re probably missing fundamentals that protect revenue. If you’re sitting at 50+ live flows, you may be in governance mode, where keeping logic consistent—and avoiding overlap, duplication, and broken segmentation—becomes the real bottleneck. For most brands, the sweet spot is simple: enough coverage to protect revenue, without creating a maintenance job.

Takeaway: Flow maturity is about “do we have the right flows, wired to reliable events?”

If you’re auditing flows, start with the triggers.


2) What are the most important Klaviyo flow triggers to set up first?

Start with the core four triggers that show up in almost every serious Klaviyo setup: Placed Order, Checkout Started, Viewed Product, and Added to Cart. In our dataset, 75% of Shopify brands had flows triggered by Placed Order and Checkout Started, while Viewed Product and Added to Cart were also common but clearly second-tier in adoption. The reason this top tier is so consistent is that it maps neatly to the only three lifecycle moments that reliably matter: intent forming (Viewed Product), intent spiking (Added to Cart / Checkout Started), and value realized (Placed Order). If you get these right, you can recover abandoned revenue and extend LTV. If you get them wrong, everything becomes guesswork.

The more interesting signal sits just behind that core: 33% of brands in our dataset are using Littledata versions of the same events. That isn’t “more triggers.” It’s brands trying to upgrade the quality of the triggers that drive their flows.

And there’s a good reason they bother—because “Added to Cart” sounds simple, but in practice it’s where tracking breaks first. Identity drops (especially across devices and browsers), duplicate events inflate intent, and inconsistent event properties make segmentation fragile. When the trigger is fuzzy, the automation built on top of it becomes fuzzy too: flows end up either overly generic (“nudge everyone”) or overly cautious (“don’t trust the signal enough to personalize”).

Most popular Klaviyo flow metric triggers based on analysis of 600 Klaviyo accounts

Takeaway: If you want Klaviyo flows to behave consistently, you need Shopify-first, server-side signals that don’t quietly drop purchases or identity when the storefront changes.

Learn how Littledata works with Klaviyo.

3) What’s the best way for Shopify brands to personalize Klaviyo flows?

The best way for Shopify brands to personalize Klaviyo flows is by using customer context first, then layering in event context only where it materially changes what you should say. In our analysis, flows using profile property splits (1,384) outnumbered flows using trigger-dimension splits (295) by about 5x, because profile-based personalization is more durable and easier to maintain at scale. Start with stable inputs: consent, country/region, language/locale, and customer type (VIP, B2B, subscriber vs non-subscriber). These properties don’t change minute-to-minute, so flows stay consistent even as catalogs, storefronts, and campaigns evolve.

Trigger dimension splits vs profile dimension splits based on analysis of 600 Klaviyo accounts

Example questions to ask (because profile personalization is more durable):

  • Are you opted in?
  • What country are you in?
  • What language should we use?
  • Are you a subscriber / B2B / VIP?

Learn how to track Klaviyo campaigns in Google Analytics 4 (so you can prove segmentation impact).

That’s also why consent dominates real-world flow logic: gating messages by opt-in prevents flows from becoming spam engines, protects deliverability, and makes A/B tests cleaner because engagement metrics aren’t polluted by low-intent recipients. And location/locale shows up so often because international selling is now mainstream—relevance increasingly depends on market context, not just product interest. Once those foundations are in place, you can add event-property personalization (items/collections/value) where it’s worth the complexity—then prove the lift by tracking Klaviyo campaigns in GA4.

Top 12 profile dimensions for splits based on analysis of 600 Klaviyo accounts

4) What are “trigger dimension splits” in Klaviyo, and when should you use them?

Trigger dimension splits are event-property branches—flow logic that uses details attached to the event that started the flow. For example: which product was viewed, what was in the cart, which collection the item belongs to, or the cart/order value. They’re one of the most powerful ways to make a flow feel genuinely relevant, because you’re responding to what someone actually did—not just who they are.

But they’re also the most fragile form of personalization, because they only work well when the underlying inputs are trustworthy. In practice, trigger-dimension personalization depends on stable product naming and taxonomy, consistent event properties, reliable identity resolution, and careful deduplication so you don’t message people based on phantom intent (duplicate “Added to Cart” events are the classic culprit). When those foundations aren’t in place, trigger-dimension splits quickly turn into brittle logic that breaks as catalogs evolve and tracking environments change.

That’s why most brands start with profile-based personalization—consent, tags, country/locale/language—because it’s durable and safe. Once those customer attributes are clean, trigger-dimension splits become a high-leverage upgrade: use them where the content truly changes (product education, cross-sell, replenishment timing), not as a blanket approach for every SKU.

Takeaway: If you want flows to feel relevant quickly, you need cleaner customer attributes to safely branch messaging.

Top 5 trigger dimensions for splits based on analysis of 600 Klaviyo accounts

5) How to segment Klaviyo flows by product category?

Segment Klaviyo flows by product category by branching on Collections or Categories (not individual product names). “Items” splits are often implemented as product-name splits, which is a fast path to relevance (“talk about the exact thing they looked at”) but becomes brittle as your catalog grows and naming conventions drift. The more scalable approach is to route customers based on Collections/Categories—which stay stable as SKUs come and go—and then, where needed, use $value to tier urgency or offer strategy. That gives you category-level relevance without turning your flow library into a maintenance job.

6) How do Shopify brands use Shopify Tags in Klaviyo flows (and why)?

Shopify brands use Shopify Tags in Klaviyo flows as a simple way to branch messaging by market context—most commonly language and subscriber status. In practice, tags like “en”, “newsletter-fr”, and subscriber markers show up as the logic that decides which version of a flow someone should receive.

Brands use tags because they’re easy to set, easy to reason about, and they let you branch flows without duplicating entire automations per language or region. The bigger implication is that Shopify Markets isn’t just a storefront decision. If your lifecycle flows ignore market identity, retention becomes “one-size-fits-none”—even if your storefront is beautifully localized.

Most popular Shopify tag splits based on analysis of 600 Klaviyo accounts

7) Which Klaviyo flows get the most complicated, and why?

The most complicated Klaviyo flows are usually the ones solving the hardest business problem: stopping churn. Flow complexity is an output, not a goal—teams add steps when the problem demands it, or when the signals are trustworthy enough to support richer branching. In our dataset, the highest complexity clustered around subscription retention and cancellation triggers, because a cancellation save flow is essentially a decision tree: the offer, the objection handling, the timing and escalation, and the segmentation by subscriber type all need different paths.

Signal quality shows up here too. Events like “Order Completed – Server” tend to trigger longer, more reliable flows than client-side events, because the trigger is cleaner and identity is more consistent. In practice, stronger-signal triggers correlate with teams being willing to build longer, more branched flows because branching is only safe when the trigger is dependable.

Average step count by metric trigger in Klaviyo based on analysis of 600 Klaviyo accounts

Learn how to set up your Klaviyo flows using Littledata’s triggers.

8) What is an “Active on Site” flow in Klaviyo, and when does it make sense?

An “Active on Site” flow is a Klaviyo automation triggered by general site activity, rather than a specific product or cart action. It’s most useful as a browse-abandon fallback: when brands don’t have reliable product/cart context (or they simply want a lighter, simpler nudge), they trigger off “someone was active” instead. In our dataset, we found 89 flows triggered by the “Active on Site” metric, which shows it’s a common pattern.

Because the trigger is generic, the personalization has to come from somewhere else—and the split logic makes that obvious. These flows lean heavily on profile-level safeguards and light context: consent gating (to ensure opt-in), overlap prevention (“In-Flow”), basic interest hints (“Shopping For”), and then region/language for market relevance. That’s exactly what you’d expect: when the event doesn’t tell you much, the flow uses the profile to avoid spamming and to add just enough relevance to justify the message.

Profile dimensionFlow countUsage context
marketing_consent11Ensuring the user is opted in before sending.
properties[‘In-Flow’]10Custom logic to prevent overlapping with other active automations.
properties[‘Shopping For:’]6Personalizing based on self-identified interests (e.g., Men vs Women).
location[‘region’]5Geographic targeting or shipping-specific messaging.
properties[‘Language’]3Localization/Translation logic.

The subject lines used in these flows follow a “soft reminder” or “helpful nudge” pattern. Here are the most common themes:

ThemeCommon subject lines
The nudgeStill thinking about it?Did you see something you liked? We saw you stopping by We Caught You Lookin’
Helpful/QuizNeed Help?Not sure where to start?Exploring Options? Start Here.{{ first_name }}, have you explored enough?
IncentivesYour 10% discount is about to expire! 10% OFF – Thanks for Checking Us Out!Get 10% off your purchase!
Trust/Social ProofReal Feedback. Real Results.Our Best Sellers Are Flying Off the ShelvesDon’t take our word for it…

Flows triggered by “Active on Site” are significantly less complex than “Abandoned Checkout” flows. They are primarily used as a general re-engagement tool with simple personalization based on profile-level data rather than specific event data.

9) What are the best post-purchase flows in Klaviyo to increase repeat purchases?

The best post-purchase Klaviyo flows are the ones that change what you say based on what the customer bought—because post-purchase is where segmentation is most justified. If you’re trying to increase repeat purchases (and LTV), this is the most under-priced lever: the customer has already converted, identity is usually stronger, and the event payload is richer—so you can branch safely without guessing.

In our analysis, post-purchase logic most commonly branches on Collections (417) and Items (350) first (because the follow-up content should differ by product), then layers in country (220 – shipping expectations, currency, localized promises), marketing consent (86 – whether you’re allowed to continue messaging), and Shopify Tags (68 – customer type like VIP/wholesale/first-time). That hierarchy is the playbook: start with product context, then add market and customer context.

Dimension keyFlow countUsage context
Collections417Sending specific content based on the collection purchased.
Items350Product-specific follow-ups (e.g., instructions for a specific item).
location[‘country’]220Shipping expectations or localized language/currency.
marketing_consent86Checking if the buyer opted into marketing during checkout.
properties[‘Shopify Tags’]68Segmenting by customer types (e.g., VIP, Wholesale, First-time).

The messaging patterns reflect that maturity too. The most common post-purchase subject line categories cluster into four jobs: gratitude & confirmation (reassurance and relationship), cross-sell / product recs (pairing and next order), retention & feedback (closing the loop and prompting return intent), and customer education (help the customer get value, which reduces regret and increases repeat rate). If you build those four flows—and branch them primarily by collection/item, with light market/customer overlays—you get repeat purchases without turning your flow library into a maintenance job.

CategoryTop subject lines
Gratitude & ConfirmationThank you for your purchase!Wow, thank you again!Thank you for your order!Welcome to the Family!
Cross-sell / Product RecsWe’ve found your perfect pairing Discover Your Ideal PairingReady to complete your collection?You might also like…
Retention & FeedbackIt’s been a while…We’ve missed you.So, what’d you think?How did we do?
Customer EducationUncomfortable earplugs? We won’t hear of it! Have you tried out my interactive content yet?You’re almost done with your jar!

How to audit and improve Klaviyo flows using this research?

Start with the pattern that shows up consistently across real Klaviyo accounts: most brands run a compact core of flows, and the real difference between “basic” and “advanced” isn’t volume—it’s whether the triggers are trustworthy and the segmentation is maintainable.

That’s why profile-based personalization shows up so much more than trigger dimension branching. Consent, language, and market context stay stable, while cart and browse signals are where identity drops, duplicates creep in, and event properties drift.

Our recommendation for Shopify brands is: audit your flows in this order: first, check whether your highest-leverage triggers (Checkout Started and Placed Order) are complete, deduplicated, and identity-safe. Then check whether your segmentation relies on durable attributes (consent, country/locale, customer type) before you add fragile event-property branching. The goal is simple: make sure the right people enter the flow with the right context, so your flows can be confidently specific—without becoming brittle or turning into a maintenance job.


Appendix

Top 40 Most Popular Metric Triggers

This table shows which event metrics are most commonly used to start flows and what percentage of total Klaviyo accounts utilize them.

RankMetric TriggerAccount Count% of Accounts
1Placed Order31374.7%
2Checkout Started31374.7%
3Viewed Product26463.0%
4Added to Cart18844.9%
5Fulfilled Order12630.1%
6Subscribed to Back in Stock11427.2%
7Active on Site8219.6%
8Subscribed to SMS Marketing7116.9%
9Delivered Shipment378.8%
10Ordered Product368.6%
11Ready to review307.2%
12Subscription cancelled on ReCharge256.0%
13Eligible for Okendo Review Request184.3%
14Subscription started on ReCharge174.1%
15Swell Customer Birthday174.1%
16Order upcoming on ReCharge153.6%
17Subscribed to List153.6%
18Viewed Collection143.3%
19Wonderment – Out for Delivery133.1%
20Swell Tier Earned133.1%
21Marked Out for Delivery133.1%
22Wonderment – Shipment Delivered133.1%
23Swell Referral Completed133.1%
24Subscribed to Email Marketing133.1%
25Confirmed Shipment122.9%
26Skio: Subscription Cancelled122.9%
27Checkout Started Reclaim112.6%
28Eligible for Judge.me Review Request112.6%
29Swell Referral Share112.6%
30Viewed Product Reclaim102.4%
31Wonderment – Carrier Picked Up102.4%
32Skio: Billing Reminder Notification102.4%
33Swym-backinstock102.4%
34Swell Redemption Reminder92.1%
35Wonderment – Shipment Stalled92.1%
36Wonderment – Attempted Delivery92.1%
37Skio: Billing Attempt Failed92.1%
38Fulfilled Partial Order92.1%
39Skio: New Subscription Created92.1%
40Filled Out Form81.9%
41Form submitted by profile81.9%

Flow Split Analysis

Split Distribution

  • Total flows using Trigger Dimension splits: 295
  • Total flows using Profile Property splits: 1,384

Top 20 Trigger Dimensions for Splits

Trigger dimensions are properties of the event that started the flow (e.g., the specific product in a “Viewed Product” event).

RankDimension KeyFlow Count
1Items55
2$value53
3Collections51
4Categories51
5Name24
6message_step9
7tags8
8cancellation_reason6
9Source Name6
10CollectionName4
11cancellationReason4
12Price4
13pick_up_until4
14Item Names3
15order_type_tag3
16Brand3
17Item Count3
18Variant Name3
19Product Name3
20merchant3

Top 20 Profile Dimensions for Splits

Profile dimensions are properties of the customer (e.g., their country or historical tags).

RankProfile PropertyFlow Count
1marketing_consent489
2properties[‘Shopify Tags’]157
3location[‘country’]119
4properties[‘$locale_country’]44
5properties[‘$locale_language’]42
6location[‘region’]41
7properties[‘coupon_code’]41
8properties[‘rc_active_subscriber’]38
9properties[‘$source’]37
10properties[‘$locale’]37
11properties[‘Language’]32
12email32
13properties[‘skio_hasActiveSubscription’]30
14properties[‘Langue’]29
15properties[‘$loop_active_subscriber’]25
16properties[‘blackcrow_identified’]23
17location[‘address1’]21
18location[‘zip’]19
19properties[‘$language’]18
20properties[‘Latest Postscript Coupon’]18

Shopify Tags Splits

A total of 35 brands are using Shopify Tags to split their flows. Here are the most common tag values being used across their automation logic:

RankShopify Tag ValueOccurrences in Flows
1en (Likely for English language segmenting)166
2Active Subscriber34
3newsletter-es (Spanish newsletter)28
4newsletter-fr (French newsletter)17
5active_subscriber (Variation of Rank 2)10
6b2b10
7inactive_subscriber9
8hascustomeraccount8
9English-Speaking7
10Trade7

Average Step Count by Metric Trigger

This analysis highlights which flow triggers result in the most complex automations. Subscription-related events (cancellations and starts) consistently drive the highest step counts.

RankMetric Trigger NameAvg StepsFlow CountMax Steps
1ordergroove.subscription.cancel27.836147
2Loop Subscription Cancelled20.731163
3Order Completed – Server20.56959
4Created Subscription19.00843
5Loop Subscription Paused16.80528
6shipment_delivered16.332132
7Activated Subscription16.001229
8Added to Cart Reclaim16.00833
9Quiz Completed13.80517
10Subscription started on ReCharge13.5728291
11Added to Cart13.15230134
12Viewed Product Reclaim13.001030
Edward
Edward

Founder & CEO

Founder & CEO of Littledata. Marketing data nerd. Strategy advisor. Cautious AI maximalist.