
Depending on your store, you might have different types of subscribers in your Klaviyo account. If your subscribers have profile properties set in Klaviyo, you can use that information to control who can see each block of your email template.
This can be very useful if you want to send a campaign to all of your subscribers, but you want to present slightly different content for the different types of subscribers.
To help you better understand this process let’s make an example. If you own a Pet Shop, your subscribers can be divided into dog owners or cat owners. As long as you have the custom profile property set for your subscribers, you can control which block from the email template will be shown to your subscribers based on that profile property.
This is an example of a profile that has custom profile property with key “PetType” and value for that key is “Dog”.

In this case, when you send a campaign email, you don’t want to promote cat products to dog owners and vice versa. This is where the “Show/Hide” block option can come handy.
You can include both dog and cat products in your email but people will see only one of them based on their custom property.
We can make another example with the location of your subscribers. If you know the location of your subscribers (Country, City or Address), you can show different content in your email based on that information. Let’s say that you have a physical store where people can come and see your products, but you also have an online store. You can use two different blocks in your email where one of them will invite people to visit your physical store and the other one will link them to your online store. Which of the two blocks your subscriber will see in the email they’ll receive, can depend on the “City” where they live in.
Before we start applying the settings we need to explain the 3 different types of properties that can be used in the “Show/Hide” setup.
- Klaviyo Special Properties
- Custom Profile Properties
- Event Variable
Klaviyo Special Properties
Klaviyo Special Properties are default properties in Klaviyo. These properties are the very basic information for each profile, like: Email, First and Last name, Country, Address, Phone Number, Source etc. You can see the full list here: Klaviyo Special Properties.
In practice, you probably won’t have the values for every Klaviyo Special Property of your profiles, but these properties are considered defaults and they can be used in the “Show/Hide” block setup. As example, if you want to set a certain block in your email template to be shown only to people that are from United States, you can do that by applying this line:
person.Country == “United States”
Click on the block, then click on the question mark sign as shown in the image below.

By default, this option is turned off. Click on the “On” button to activate it and in the “Condition” field apply the rule.
In the example above, the block will be shown only to people that are from the United States. There are several logical operators that can be used with Klaviyo Special Properties:
Show the block if property is equal to
person.Country == “United States”
Show the block if property is not equal to
person.Country != “United States”
Show the block if property is not set
not person.Country
Show the block if property is equal to A or B
person.Country == "United States" or person.Country == "Canada"
Show the block if property doesn’t equal to A or B
person.Country != "United States" or person.Country != "Canada"
Show the block if property doesn’t equal to A and B
person.Country != "United States" and person.Country != "Canada"
Show the block if property is set
person.Country
Custom Profile Properties
The Custom Profile Properties are properties that you can manually edit/add to your profiles. These properties can be added in the CSV list before importing to Klaviyo, populated from a survey, from signup forms or even manually edited for each of your subscribers.
The difference between Custom and Klaviyo Properties is that Klaviyo Properties have a built-in “Key” for the properties (Email, Country, First Name etc.) and you can only edit the “value” of those “keys” but not the “keys” themselves. In Custom Properties, you can create a “key” that is not part of the Klaviyo Special Properties, like Gender, PetType, Age, Birthday etc. as we mentioned before.
Which Custom Properties you’ll create for your subscribers depends mostly on your business type.
For companies that sell men and women clothes, the most important custom property can be “Gender”, so they can get better targeting when setting the email template.
On the other hand, if you’re a pet shop owner, the most valuable custom property for your subscribers might be the “PetType” property. If you know what kind of pet your subscriber owns, you can set specific blocks to be shown to people with different pets.
The syntax of setting the “Show/Hide” rules for Custom Profile Properties is slightly different. Let’s use our Pet Shop example to explain how you can set the rules.
Show if “PetType” is “Dog”
person|lookup:'PetType' = 'Dog'
This is how it should look like when the code is applied to the block’s “Show/Hide” settings:

This line of code will tell Klaviyo to look through profile’s custom properties before sending the email to every subscriber. First, Klaviyo will search for the “PetType” key into profile’s custom properties. If there is such key, it will check if the value of that key is “Dog”. If that statement is true, Klaviyo will show the block to that subscriber.
Here are more examples of operators you can use:
Show if “PetType” is “Dog”
person|lookup:'PetType' = 'Dog'
Show if “PetType” is “Cat”
person|lookup:'PetType' = 'Cat'
Show if “PetType” is set
person|lookup:’PetType’
Show if “PetType” is not set
not person|lookup:’PetType’
Show if “PetType” is not “Dog” and is not “Cat”
person|lookup:'PetType' != 'Dog' and person|lookup:'PetType' != 'Cat'
Show if “PetType” is “Dog” or “Cat”
person|lookup:'PetType' = 'Dog' or person|lookup:'PetType' = 'Cat'
Another case where you can use the “or” statement is when you don’t have consistent “value” for the “PetType” key. Because these settings are case sensitive, if you have values as “Dog” and “dog” you can use the “or” statement to capture them both.
Show if “PetType” is “Dog” or “dog”
person|lookup:'PetType' = 'Dog' or person|lookup:'PetType' = 'dog'
In some cases it can happen that the custom property is a list of several values.

In this case, if you want to show the block to people that own a dog you can use this filter:
"Dog" in person|lookup:"PetType"
Klaviyo will check for each profile if the “PetType” list contains “Dog”. If the statement is true, the block will be shown to that person when he receives the email.
Event Variable
This option applies only when you want to set “Show/Hide” blocks in an event triggered Flow (Abandoned Cart, Post Purchase, Browse Abandonment etc.)
When you’re using event triggered Flows in Klaviyo, with each event (e.g.when someone places an order), Klaviyo will receive certain data about that event that can be used in configurations of the “Show/Hide” rules. In our example of the event “Placed Order,” this means that you can show or hide blocks in your email template based on how many items someone purchased, in which collection the product belongs to, or the total value the purchase.
Since every event has its own set of event data based on what properties are available to the event, you need to find what properties are available for each specific event.You can learn how to find the variables you want to use in Klaviyo’s documentation here.
Let’s look into this example with an Abandoned Cart Flow.
Let’s say that you want to offer a free shipping incentive but only if the value of the cart is over $100.
We’ll need to find the “$value” data from the “Checkout Started” event. To find the data, go into your email template in the Abandoned Cart flow and click on “Preview”.
From the new window that pop up, you can see people who triggered the event and the data that was passed in Klaviyo. You can see the “$value” line at the top of the window. If you scroll down you can see a lot more information that you can possibly use.
Click on the “$value” and a code bar should appear that contains this or similar code:
{{ event|lookup:'$value' }}

That is what we need to set the “Show/Hide” block rules. In the block settings click on the question mark, turn the option to “On” and apply this code:
event|lookup:'$value' > 100

For each mail that Klaviyo will send, it will first check the total value of the abandoned cart. If the value is over 100, it will show the block.
NOTE: This is one of the options to send different content in Abandoned Cart flow based on cart value. You can also use the “Conditional Split” based on cart value and create 2 entirely different emails for events with value below and above the threshold. Check our tutorial on “How to Split Abandoned Cart Flow Based on Cart Value”
There are a couple of other conditions that are commonly used, like:
If item is part of collection:
"Dog Food" in event.Collections
If item is not part of collection:
not "Dog Food" in event.Collections
If item is in the event’s items list:
"Dog Food" in event.Collections
If item is not in the event’s items list:
not "Dog Food" in event.Collections
Recent Posts
How to Disable or Enable the Double Opt-in Process in Klaviyo
What is "Double Opt-in" and how to disable it in Klaviyo.
How to A/B Test the Sending Time of Campaigns in Klaviyo
Learn how to A/B test the sending time of campaigns in Klaviyo.
How to A/B Test Subject Line and Content in Campaign Emails in Klaviyo
Learn how to A/B test your campaigns in Klaviyo.