Klaviyo & EmailMarch 5, 2025

Conditional Content Blocks in Klaviyo

How to use Klaviyo's conditional content blocks to personalize emails based on customer data. Show different products, copy, and CTAs to different segments — all in one email.

Mark Cijo

Mark Cijo

Founder, GOSH Digital

Conditional Content Blocks in Klaviyo

Here's the situation: you want to send one email to your list but show different content to different people. Not different emails. Different content inside the same email. VIP customers see a 20% offer. Regular customers see 10%. First-time buyers see a welcome message. Repeat buyers see a loyalty message. All from one campaign.

That's what conditional content blocks do in Klaviyo. And they're one of the most underused features on the platform.

Most stores send the same email to everyone or create four separate campaigns for four different segments. Both approaches are wrong. The first misses the personalization that drives clicks. The second creates operational chaos and data fragmentation.

Conditional content blocks solve both problems. Let me show you how to use them.

What Conditional Content Actually Is

A conditional content block in Klaviyo is a section of your email that only shows to people who meet specific criteria. Everyone else either sees nothing or sees a different version.

Think of it like an "if/then" statement inside your email template:

  • IF customer has purchased 3+ times, SHOW the VIP offer block
  • IF customer has never purchased, SHOW the social proof block
  • IF customer's last purchase was a skincare product, SHOW skincare recommendations
  • IF customer is in the "High Value" segment, SHOW the exclusive early access block

The email sends to your full list (or a broader segment), but the content adapts to each recipient. One send. Personalized experience. Cleaner reporting.

Setting It Up

In Klaviyo's email editor, any content block can be made conditional. Here's the step-by-step:

  1. Open your email template in the drag-and-drop editor
  2. Click on any content block (text, image, button, section — anything)
  3. In the block settings panel on the left, scroll down to "Display Options"
  4. Click "Show this section based on a condition"
  5. Set your condition using profile properties, list membership, segment membership, or event data

The condition builder works the same way as Klaviyo's segment builder. You can use properties like:

  • Profile properties: Location, custom properties (like VIP status, quiz results, preferences)
  • Segment membership: "Person is in segment X"
  • List membership: "Person is in list Y"
  • Metric-based conditions: "Person has placed order at least 2 times" or "Person has not placed an order in the last 90 days"

You can stack multiple conditions with AND/OR logic. "Person is in VIP segment AND last order was more than 30 days ago" — that kind of thing.

Practical Use Cases

Let me give you the setups we build for clients all the time.

1. Tiered Discount Offers

Instead of sending three separate campaigns with three different discounts, send one email with conditional blocks:

  • Block A (visible to VIP segment): "20% off your next order — because you're a VIP"
  • Block B (visible to 2+ purchase segment, NOT VIP): "15% off your next order"
  • Block C (visible to 1 purchase or 0 purchases): "10% off your next order"

Each block has the same visual design but different copy and a different discount code. The recipient only sees their version.

Why this matters for reporting: instead of comparing three separate campaigns with different send sizes and trying to normalize the data, you have one campaign with one set of metrics. You can then drill into the performance by segment within that campaign.

2. Product Recommendations by Category

You sell multiple product categories. Your last email campaign recommended products from across your catalog. Some people opened. Most didn't care because the products weren't relevant to them.

With conditional content:

  • Block for skincare buyers: Show new skincare arrivals
  • Block for supplement buyers: Show new supplement arrivals
  • Block for fitness apparel buyers: Show new fitness apparel

Use Klaviyo's "Person has ordered product from collection X" condition to determine which block shows. If someone has bought from multiple categories, they see multiple blocks. If they've only bought skincare, they only see skincare.

3. New Customer vs. Returning Customer Messaging

Your weekly newsletter goes out to your full engaged list. But a first-time buyer on day 3 needs different context than a customer who's been with you for two years.

Add a conditional block at the top of the email:

  • For people who placed their first order in the last 14 days: Show a "Welcome to the family" message with a quick brand story and a reminder of their order status
  • For people with 5+ orders: Show a "Thanks for being loyal" message with an exclusive preview or early access to new products
  • For everyone else: Show the standard newsletter intro

Same email. Different opening experience. Dramatically different engagement.

4. Location-Based Content

If you ship internationally or have location-specific offers:

  • For US customers: Show US shipping rates, USD pricing, US-relevant promotions
  • For UK customers: Show UK shipping info, GBP pricing, UK-specific offers
  • For everyone else: Show international shipping details

Use the "Country" profile property in Klaviyo (populated automatically from Shopify order data) as your condition.

5. Restock Reminders Within Campaigns

If you sell consumable products (supplements, coffee, skincare), you can add conditional restock reminders to any campaign:

  • For people who last ordered your 30-day supply vitamin pack 25+ days ago: Show "Running low? Reorder before you run out" with a one-click reorder button
  • For everyone else: Don't show this block at all

This turns every campaign into a potential restock trigger without creating a separate flow.

Advanced Patterns

Stacking Conditions

You can get granular by combining conditions:

"Show this block IF person is in the VIP segment AND has not opened an email in the last 30 days AND has a predicted CLV above $500."

This would show a re-engagement offer specifically designed for high-value customers who are going quiet. Very targeted. Very effective.

Default Blocks

Always have a default block that shows when no conditions are met. If you build a conditional block for US customers and UK customers but forget about your Canadian buyers, they see nothing. That's a broken email.

Pattern: build your conditional blocks for specific segments, then have a final block with no conditions (or a "catch-all" condition) that shows for everyone who didn't match the earlier conditions.

Testing Conditional Content

This is where people get tripped up. You can't just preview the email and see all variations. In Klaviyo's preview, use the "Preview as specific profile" feature to check each variation:

  1. Find a profile that matches Condition A. Preview as that profile.
  2. Find a profile that matches Condition B. Preview as that profile.
  3. Find a profile that matches no conditions. Preview as that profile. Make sure the default shows correctly.

Send test emails to internal team members who match different conditions. Verify that each person sees the right version before sending to your full list.

Common Mistakes

Too many conditions in one email. Three to five conditional blocks per email is plenty. Beyond that, you're creating a maintenance nightmare and the email becomes impossible to QA.

Conditions that overlap. If Block A shows for "VIP customers" and Block B shows for "customers with 5+ orders," and all your VIPs have 5+ orders, they see both blocks. That might be fine, or it might create a weird duplicate experience. Map out your conditions before building.

Not testing edge cases. What happens for a brand new subscriber who hasn't made a purchase yet? What happens for a customer with no location data? Test the "no data" scenario. Klaviyo will evaluate the condition as false if the property doesn't exist, which means the block won't show. Make sure your default block catches these people.

Conditional content in flows vs. campaigns. Conditional content works in both flows and campaigns, but the behavior is slightly different. In flows, the conditions are evaluated at the time the email sends (not when the person entered the flow). So if someone enters your welcome flow and makes a purchase before email 3 sends, email 3's conditional content will reflect the purchase.

Using conditional content when you should use conditional splits. If the ENTIRE email should be different (not just one or two blocks), use a conditional split in your flow instead. Conditional content is for variations within an email. Conditional splits are for routing people to entirely different emails.

Performance Impact

We consistently see conditional content outperform generic emails:

  • Click-through rates improve 15-30% when product recommendations are category-matched
  • Revenue per recipient jumps 20-40% with tiered, personalized offers
  • Unsubscribe rates drop because people see content that's relevant to them

The effort to set up conditional content is front-loaded. Building the template with conditions takes 2-3x longer than a standard email. But once the template is built, you can reuse the structure for future campaigns. And the performance lift compounds over time.

The Bottom Line

Conditional content blocks are the bridge between "batch and blast" and true one-to-one personalization. You don't need to create 10 different campaigns for 10 different segments. You need one well-structured email with smart conditions.

Start simple. Add one conditional block to your next campaign — maybe a tiered offer or category-specific product recommendations. Measure the impact. Then expand.

If you want help building personalized email templates with conditional content that drives real revenue, book a call with our team. We do this every day.

Mark Cijo

Written by Mark Cijo

Founder of GOSH Digital. Klaviyo Gold Partner. Helping eCommerce brands grow revenue through data-driven marketing.

Book a free strategy call →

Want results like these for your brand?

Book a free call. We'll look at your data and show you what's possible.

Pick a Time

15 minutes. No pitch deck. Just your data and our honest take.