Automatically adding tags in Klaviyo works best when “tags” are treated as profile properties that events, flows, segments, and signup data can update without manual work.
TLDR: Klaviyo does not work like a basic CRM where every customer is simply labeled with visible tags, so most teams use custom profile properties as tag substitutes. A brand can mark a shopper as VIP after three purchases, tag another as Interested in Skincare after viewing five skincare products, or flag a subscriber as At Risk after 90 days without an order. In one common setup, a store with 20,000 profiles may reduce manual targeting work by 60% by letting flows update these properties automatically.
Klaviyo can organize campaigns, flows, lists, and segments with internal tags, but customer-level tagging is usually handled through custom properties. These properties sit on the customer profile and can store values such as VIP Customer, Wholesale Lead, Discount Buyer, or Product Category: Shoes.
The catch is that Klaviyo makes the word “tag” feel simpler than the actual setup. A team may expect one quick customer label system, then spend 20 extra minutes figuring out whether to use a segment, list, or property. The cleanest answer is this: use properties for customer tags, segments for grouping, events for triggers, and flows for automation.
How Customer “Tags” Work in Klaviyo
A customer tag in Klaviyo is usually a custom profile property. This property can be text, a number, a date, a Boolean value, or a list-style value depending on the setup.
For example:
- vip_customer: true
- lifecycle_stage: Repeat Buyer
- favorite_category: Running Shoes
- discount_sensitivity: High
- last_quiz_result: Dry Skin
These properties can then power segmentation, flow splits, campaign targeting, and reporting. Instead of manually searching for customers, the system can update labels as behavior changes.
Method 1: Add Tags with Event-Based Flows
Events are the strongest trigger for automated tagging. Klaviyo tracks actions such as Placed Order, Viewed Product, Added to Cart, Started Checkout, Submitted Form, and custom events passed from a store or app.
A flow can start when one of these events occurs. Then the flow can update a profile property.
Example setup:
- A customer triggers Placed Order.
- The flow checks the order value.
- If the order is over $200, Klaviyo updates high_value_buyer to true.
- If the order includes a skincare product, Klaviyo updates favorite_category to Skincare.
This is useful because events capture real behavior. A shopper does not need to fill out another form. The profile updates based on what the shopper actually does.
Method 2: Add Tags Through Flow Actions
Klaviyo flows include an action called Update Profile Property. This is the main tool for adding automated customer tags.
A team can place this action inside welcome flows, post-purchase flows, winback flows, VIP flows, and quiz follow-up flows. The action can set a new property or change an existing one.
Common flow-based tagging examples include:
- Welcome flow: Set lead_source to Popup Signup.
- Post-purchase flow: Set customer_type to First-Time Buyer.
- Second purchase flow: Set customer_type to Repeat Buyer.
- Winback flow: Set risk_status to At Risk after 90 days of inactivity.
- VIP flow: Set vip_customer to true after lifetime spend passes $500.
Honestly, it feels like Klaviyo should make this more obvious inside the profile screen. But once the property system is understood, it becomes flexible and reliable.
Method 3: Use Segments to Trigger Tagging
Segments can also start flows. When a profile enters a segment, Klaviyo can trigger a flow that updates a property.
For example, a segment could include customers who meet these conditions:
- Placed Order at least 3 times over all time
- Placed Order zero times in the last 120 days
- Opened Email at least once in the last 30 days
When a customer enters that segment, the flow can update customer_status to Lapsing Loyalist. That property can then be used in campaigns, conditional splits, and future segments.
This method is useful when the tag depends on several conditions, not one event. It works well for lifecycle stages, engagement levels, purchase patterns, and loyalty tiers.
Method 4: Add Tags from Signup Forms and Customer Properties
Forms are another clean source of automated tags. A Klaviyo form can collect preferences, quiz answers, birthday data, location, or interest categories. Each answer can be saved as a custom property.
For example, a pet supply brand may ask a subscriber which pet they own. The answers can update profile properties like:
- pet_type: Dog
- pet_size: Large
- food_preference: Grain Free
Those properties can then control future messages. Dog owners receive dog product emails. Cat owners receive cat product emails. Large dog owners may see different product recommendations than small dog owners.
Hidden fields can also help. If a form appears on a landing page for wholesale buyers, the form can automatically set lead_type to Wholesale when submitted.
Best Practices for Naming Klaviyo Tags
Clean naming prevents chaos. Messy properties create duplicate segments, broken logic, and reporting headaches.
Strong naming rules include:
- Use lowercase or a clear naming style, such as vip_customer.
- Avoid creating five versions of the same idea, such as VIP, Vip, and Very Important Buyer.
- Use Boolean values for simple yes or no labels.
- Use text values for lifecycle stages or category preferences.
- Document each property in a shared sheet.
A simple property dictionary can save hours later. It should include the property name, allowed values, where it is updated, and which flows or segments use it.
Example Automation Setup
A furniture store could use automated tagging like this:
- A visitor views three dining table products.
- Klaviyo receives Viewed Product events with product category data.
- A segment identifies profiles with at least three dining table views in 14 days.
- A segment-triggered flow sets interest_category to Dining Room.
- The next campaign sends dining table offers only to that group.
If 8,000 subscribers receive a general sale email with a 1.8% conversion rate, but 1,200 dining-room-tagged subscribers convert at 4.5%, the tagging system has done its job. The audience is smaller, but the message fits better.
Common Mistakes to Avoid
- Using lists as tags: Lists are better for consent and broad subscription groups. Properties are usually better for customer labels.
- Overwriting useful data: A flow may replace favorite_category too often if rules are weak.
- Creating too many properties: Hundreds of messy labels make reporting harder.
- Forgetting removal rules: Some tags need expiration logic, such as At Risk or Recent Buyer.
- Skipping tests: Every tagging flow should be tested with sample profiles before launch.
FAQ
Can Klaviyo automatically add tags to customers?
Yes, but customer tags are usually added as custom profile properties. Flows can update these properties after events, form submissions, or segment entry.
What is the best way to tag customers based on purchases?
The best method is an event-triggered flow using the Placed Order event. The flow can check order value, product category, item count, or total orders, then update a matching profile property.
Can segments add tags in Klaviyo?
Segments cannot always act like direct editing tools, but a segment-triggered flow can update a profile property when someone enters the segment.
Should a business use lists or properties for tags?
Properties are usually better for customer tags. Lists should be kept for subscription status, consent groups, or major audience buckets.
Can tags be removed automatically?
Yes. A flow can update a property to a new value, set a Boolean property to false, or replace an old lifecycle label when customer behavior changes.
What is the safest first tagging setup?
A simple setup can include customer_type, vip_customer, favorite_category, and risk_status. These four properties cover many ecommerce targeting needs.
