TL;DR: A Klaviyo profile is the single permanent record of one person. A list is a static consent group that profile can join. Segments are dynamic and update in real time. Klaviyo bills on active profiles, not list members, so Shopify-synced contacts who never subscribed still cost you money. Divide billable profiles by subscribed list members. If that ratio tops 1.3, audit and suppress the ghosts.
A Klaviyo profile is the permanent record of one person with every event and property attached, while a list is a static consent group that profile can join, and since billing counts active profiles, a Shopify brand pays for contacts no list contains. That settles the Klaviyo profile vs list debate in one line. The details still matter, because they show up on your invoice every month. Get the model wrong and you overpay Klaviyo while underusing your own data.
Most store owners treat their profile count and their list count as the same number. They never match. Shopify pushes checkout-starters and past customers into Klaviyo whether or not those people ever subscribed, and every one of them can become billable. This guide breaks down what a profile actually stores, how lists gather consent, where segments fit, and why your profile count outruns your subscriber count. You'll leave with a two-minute audit ratio that tells you if you're paying for contacts who will never buy.
What is a Klaviyo profile?
A Klaviyo profile is the single, permanent record of one person in your account. Every order, site visit, email open, and custom property attaches to it. Klaviyo keeps exactly one profile per contact, so a customer on three lists still exists once.
Klaviyo's guide to understanding profiles is explicit about this: one contact, one profile. Put that person on three lists and Klaviyo copies nothing. It records all three memberships on the same record.
Open a profile and you'll see the full timeline: Placed Order events, Viewed Product history, email and SMS consent status, predicted next order date, and any custom properties your forms or integrations write.
Active profiles come in two types. Subscribers gave explicit consent and sit on a list. General engagement profiles never opted in and sit on no list, yet they still live in your account. Klaviyo's profiles glossary draws that exact split, and it matters later, because both types can be billable.
What is a list in Klaviyo?
A list in Klaviyo is a static group of profiles who gave explicit consent to hear from you. People join when they subscribe and leave when they unsubscribe or you remove them. A list never updates itself.
Profiles land on a list four ways: signup forms and popups, integrations that pass consent, CSV imports, and the API. Forms do the heavy lifting for most Shopify brands, which is why a tuned popup and email capture setup can triple form submissions on the same traffic.
Two settings shape every list. First, opt-in mode is set per list. Single opt-in adds people the moment they submit. Double opt-in holds them until they click a confirmation email, trading a little volume for cleaner consent. Second, imports carry a hard rule straight from Klaviyo's docs: only import contacts who agreed to hear from you.
Best practice is one main list per channel. One master email list, one SMS list. Your welcome flow triggers off the main list, and your forms feed it. Extra lists multiply confusion without adding targeting power, because targeting is a segment's job.
Klaviyo profile vs list table
Here's the whole relationship at a glance.
| Profile | List | |
|---|---|---|
| What it is | Permanent record of one person | Static consent group |
| How many per person | Exactly one | Unlimited memberships |
| How it grows | Any tracked activity or sync | Subscribes only |
| How it shrinks | Suppression or deletion | Unsubscribe or removal |
| Affects billing | Yes, when messageable | No, membership is free |
| Stores data | Every event and property | Only who belongs |
The second row is the one to remember. A profile can join unlimited lists, or none at all, and Klaviyo never duplicates it either way.
List or segment: which one?
Neither replaces the other. Lists are static and consent-based. Segments are dynamic groups built from conditions, and Klaviyo re-evaluates them in real time as behavior changes. The rule we run every account on: lists collect consent, segments do the sending.
| List | Segment | |
|---|---|---|
| Membership | Static | Dynamic |
| How people join | They subscribe | They match conditions |
| Updates | Never on its own | Real time |
| Best for | Consent capture, welcome flow trigger | Campaign targeting, exclusions |
| Consent | Built in | Only if you filter for it |
So use a list to store opt-ins and fire your welcome flow. Use segments for everything else: campaign targeting, VIP tiers, winback windows, and exclusions. A segment like "placed order at least once in the last 180 days" updates itself the second someone buys. A list would just sit there.
Why more profiles than subs?
Because Shopify feeds Klaviyo contacts who never subscribed. Anyone who starts a checkout, creates an account, or syncs over from a past platform gets a profile. Most never join a list. So your active profile count almost always tops your subscriber count, and that's normal.
This catches nearly every Shopify brand. The integration creates profiles from orders, started checkouts, and account signups because that history powers your flows and segments. It's useful data. A store with 8,000 subscribers can easily carry 15,000 profiles. The gap only becomes a problem when those never-opted-in profiles quietly turn billable, which is exactly what happens next.
Klaviyo profile vs list math
Here's the part most guides skip, and it's the part that costs you. Klaviyo's billing documentation defines your bill by active profiles: anyone eligible to receive at least one marketing channel, regardless of list membership, and regardless of whether you ever message them.
Pricing climbs in tiers. Free covers up to 250 profiles. At 500 active profiles you pay about $20 a month, roughly $60 at 2,500, $100 at 5,000, and $150 at 10,000. Cross a tier and Klaviyo upgrades you automatically. Those Shopify-created ghosts push you up tiers without adding a single subscriber.
Run the ghost ratio
Divide billable active profiles by subscribed list members. Close to 1.0 means you pay mostly for real subscribers. Well above 1.3 means you're funding ghosts: checkout-starters and synced customers who never opted in and never will. This is the first number we pull in a Klaviyo account audit, because it converts directly into wasted spend.
Suppress, don't delete
Suppression is Klaviyo's own recommended cost lever for long-inactive profiles. A suppressed profile can never receive marketing, even with consent on file, and never counts toward email or SMS billing. It also keeps its full history. Deleting erases that history, and a later Shopify sync can recreate the contact anyway. One caution: unsuppress a profile and you can't re-suppress it for 90 days, which means roughly three billing periods of paying for it.
The cold CSV double tax
Importing a cold or purchased CSV into a list hits you twice. The moment it lands, every address inflates your active profile count and your bill. Then those never-engaged addresses start dragging down your sender reputation, because mailbox providers judge you by how recipients respond. You pay more to deliver worse.
Send to engaged segments only
Your list is not your send list. Klaviyo's list-cleaning guidance is blunt about why: never-engaged profiles do more damage to sender reputation than any other group. Blasting the full list, or worse, the full account, teaches Gmail and Yahoo to route you to spam.
The fix is an engaged segment. Build one around profiles who opened or clicked in the last 30 to 90 days and point campaigns there, never at the raw list. The unengaged stay in the account for history and suppression. They just stop receiving campaigns.
Klaviyo's benchmarks show why the discipline pays. Campaigns average about 31% opens and a 1.69% click rate, while flows hit 5.58% clicks, because targeting beats volume every time. Across the Shopify stores we manage at CartStrings, engaged-segment sending is a big reason our email campaigns hold a 39% average open rate with 99.8% inbox delivery. If your opens are sliding or spam complaints are creeping up, deliverability repair starts with exactly this send-list surgery.
The one-line rule to keep
Profiles are the record. Lists collect consent. Segments do the sending. Billing follows messageable profiles wherever they sit. Hold those four facts and every Klaviyo decision gets easier.
Your checklist from here: keep one master list per channel, turn on double opt-in where volume allows, point every campaign at an engaged segment, run the ghost ratio quarterly, and suppress whatever fails it. That's the difference between paying Klaviyo for data and paying Klaviyo for dead weight.
If your ratio came back ugly, or you'd rather have a team that does this daily handle it, book a call with CartStrings. We'll walk through your account, show you what the gap is costing, and leave you with a cleaner bill either way.
Frequently Asked Questions
Is a list just a segment?
No. A list is static: people join by subscribing and leave by unsubscribing or manual removal. A segment is dynamic: Klaviyo rebuilds it in real time from conditions you set. Collect consent with lists, then target your sends with segments.
What is an active profile?
An active profile is any profile eligible to receive at least one marketing channel from you. It counts toward your Klaviyo bill whether it sits on a list or not, and whether you ever message it. Active profiles split into subscribers, who opted in, and general engagement profiles, who never did.
Do profiles cost money?
Yes, whenever they're messageable. Klaviyo bills on active profiles, not list membership, so a checkout-starter synced from Shopify with zero list memberships still raises your count. Suppressed profiles are the exception. They cost nothing.
Can a profile join many lists?
Yes. One profile can belong to unlimited lists at once, and Klaviyo records every membership on that single profile instead of duplicating it. A profile can also sit on zero lists and still be active and billable.
Suppress or delete profiles?
Suppress. A suppressed profile drops off your bill, keeps its purchase and engagement history, and can never be emailed by mistake. Deleting wipes the history, and a Shopify sync can recreate the contact later. Plan carefully either way, since unsuppressing locks you out of re-suppressing for 90 days.
.avif)



