Understanding channel affinity in Klaviyo
Learn about using channel affinity to better personalize your marketing. Channel affinity gives you information on a profile’s expected engagement with different marketing channels.
Before you begin
Criteria for channel affinity differ from other Predictive Analytics features, and you can qualify for it independently. You will only see channel affinity on profiles if your account meets the following conditions:
- You have at least 2 activated channels that meet the requirements below.
- Each channel has delivered at least 1 message to at least 1,000 profiles.
- You have at least 5,000 campaign deliveries on each channel in the last 6 months.
- You have at least 1 engagement with the delivered campaigns on each channel.
- Email and SMS require paid plans to be included in channel affinity. WhatsApp and push must be set up in your account.
The 1,000-profile requirement counts recipients for each channel, not all profiles in your account. Those recipients do not all need to have opened or clicked a message.
Even if you have a channel activated on your account, if there is not enough data for it yet, it will not be included in the channel affinity model.
About channel affinity
Channel affinity in Klaviyo is based on a machine learning model that predicts the likelihood of engaging with your next message through a specific channel.
Channel affinity properties are re-evaluated and updated every 2 weeks. The prediction model used to evaluate your account is updated every 4 weeks.
To see a profile’s channel affinity preferences, open their profile and select Metrics and insights. Find the Predictive analytics card.

Channel affinity is only available for accounts with multiple channels enabled. Additionally, profiles will only have channel affinity data for channels they are currently consented to and can receive marketing on.
On this card, you can see:
- Channel
Any channel that you enabled and that the profile has consented to. - Engagement preference
A ranking of channels for a profile based on expected engagement.
What is expected engagement?
Expected engagement refers to the probability that a profile will engage through a particular channel. To identify a profile’s probability of engagement through a channel, Klaviyo considers:
- Campaign engagement counts and rates
- Active on site counts and recency
- Channel subscription recency
Channel engagement preference
Channel engagement preference (i.e., the Engagement preference column) ranks channels based on expected engagement from the profile.
The possible values for this property are:
- First
The corresponding channel that a profile is expected to be most engaged with. - Second
The corresponding channel that a profile is expected to have the 2nd most engagement with. - Third
The corresponding channel that a profile is expected to have the 3rd-highest engagement with. - Fourth
The corresponding channel that a profile is expected to have the least engagement with.
Using channel affinity properties
Segment builder
You can build segments using Engagement preference to group customers based on their channel preferences.
To build a segment using these conditions:
- Navigate to the Lists & segments page in Klaviyo.
- Select Create > Segment.
- Enter a name for your segment. If a Create segment dialog opens, enter the name there and click Create segment to open the builder.
- Select Predictive analytics about someone > Predicted Channel Affinity. The measurement is Engagement Preference.
- Select a specific channel for these properties to evaluate and set your desired condition values.
- Click Create segment to save the segment.

Profile filters in flows
Profile filters are applied when people enter your flow, as well as before every message in the flow is sent. If someone fails a profile filter at entry, they do not enter the flow. If they fail it before a message, that message is skipped, but they can continue to later steps and are checked again before later messages. You can set up profile filters based on channel affinity properties.
To set profile filters for the entire flow:
- Set your trigger, if you haven’t already.
- Select your trigger and click Add or Edit next to Profile filters in the right sidebar.
- Select Predictive analytics about someone > Predicted channel affinity > Engagement preference.
- Select a specific channel for these properties to evaluate and set your desired condition values.
- Click Save. If prompted, review and confirm changes to affected A/B tests.

To add profile filters to individual flow messages:
- Select the individual flow message.
- Scroll to Settings > Additional filters in the message details panel.
- Select Predictive analytics about someone > Predicted channel affinity > Engagement preference.
- Select a specific channel for these properties to evaluate and set your desired condition values.
- Click Save. If prompted, review and confirm changes to affected A/B tests.
Conditional splits in flows
You can also use channel affinity properties in conditional splits to send profiles down different paths in a flow based on their channel preferences.
To add a new conditional split into a flow series:
- Drag the conditional split component from the left sidebar and drop it where you would like to create this split.
- Click on the split to view the details panel.
- Unconfigured splits display a yellow warning label.
- Notice that Yes and No paths are automatically added below the split.
- If you insert a conditional split midway into a flow, all components below that point are placed on the Yes path by default.
- If you'd like to automatically swap all components on the Yes and No paths of your split, click the settings icon (3 dots) and choose Flip split. Review the confirmation dialog and click Flip split to apply the change. If active A/B tests are affected, choose how to handle them before confirming.
- In the details sidebar, define the logic for your conditional split.
- Select Predictive analytics about someone > Predicted channel affinity > Engagement preference.
- Select the channel and the engagement preference you want to match.
- Click Save. If prompted, review and confirm changes to affected A/B tests.

Frequently asked questions
What happens when I activate a new channel?
When you add a new channel, your account will be evaluated for channel affinity eligibility.
- If you are eligible, Klaviyo will generate a prediction model and populate profiles with channel affinity properties. It can take up to 1 day to populate results.
- If you aren’t eligible yet, your account must meet the conditions above before results can appear. Klaviyo rechecks eligibility weekly for 30 days after you add or remove a channel. After that, eligibility is checked as part of the 4-week model update cycle.
What happens when a profile subscribes to a new channel?
If you have channel affinity active for your account, profiles who have only provided consent for 1 channel will show that channel as their first preference under Engagement preference.
- If the new channel is included in your account’s channel affinity model, it is added to the profile’s properties with the first channel engagement preference.
- If multiple channels are added, they will be prioritized by WhatsApp > SMS > Email > Push.
- These channel affinity values for the channel will hold until the customer has received 7 messages on that channel or 30 days has passed, whichever comes first. This is checked every 2 weeks.
How is channel engagement measured?
To measure engagement, Klaviyo's model considers the following information:
- Campaign engagement counts and rates (i.e., delivery/open/click counts and rates) over the past 7, 30, and 90 days.
- Count of Active on site events over the past 7, 30, and 90 days.
- Most recent Active on site event.
- Whether the customer subscribed to the channel in the past 30 days.
Machine opens and bot clicks are excluded from engagement measurements.
Additional resources
- Understanding Klaviyo's predictive analytics
Learn more about the different types of predictive analytics data displayed in your account, the various ways Klaviyo computes this, and guidelines for how you can utilize this data.
- How to set up SMS in Klaviyo
Learn how to enable SMS in Klaviyo. These steps apply if you have already set up email in your Klaviyo account. If you are going through the setup wizard for both email and SMS, the steps may be different.
- How to set up iOS push notifications
Learn how to set up push notifications in your Klaviyo account. After you've completed the steps in this article you'll be able to send push notifications in your flows and campaigns.