Help · Settings

Why most people arrive held

Consent comes with your Klaviyo people, but proof that their address still works usually does not. This chapter explains the held pool and every way out of it.

Most Klaviyo profiles arrive held: imported and counted, but not emailed until something shows their address still works. Anyone Klaviyo reached in the last 90 days is freed by itself once your import has finished, at no cost.

This is the part that surprises people, so it is worth reading before you start rather than afterwards.

A profile arrives here held unless something vouches for the mailbox. An ordinary Klaviyo profile carries no such fact — it says the person is subscribed, and often when and where they signed up, but nothing about whether the address is still good. So on a real migration the great majority of your people land in the held pool: imported, visible, counted in your reports, and not emailed yet.

Your email history is what changes that, and most of it costs you nothing. Anyone Klaviyo was still reaching in the last 90 days has a working address by the only measure that counts — a mail server accepted a message — and that frees them with no check to pay for. On a list you have mailed in the last few months that is most of it. If somebody's last message did not get through, we hold them back instead. A message that bounced because the mailbox was full, followed by one that arrived, does not count against them; any other bounce keeps the address on hold even if a later message arrived.

It happens by itself, once your import has finished. There is nothing to press and nothing to ask for, and it costs nothing. It runs again after every later import, so people Klaviyo reached after your first one are freed too, and imports that finished before this began working were gone through as well. Once it has run, your migration report says how many people it freed and how many are still waiting. Ninety days rather than for ever because mailboxes close: a message that got through last spring says nothing about today.

That leaves a remainder — people Klaviyo had not mailed lately, or had stopped being able to reach. Held is not a refusal and it is not lost work. It is this app saying it has no evidence about that mailbox yet — and emailing only addresses that are known to work is how the deliverability you built there comes with you.

People who agreed in Klaviyo and are still reading your email are confirmed for you, too. Klaviyo often records that somebody agreed without saying where — the method reads "API" and nothing more — and we email an address only when its record says when and where. For those people, your history is the record: if they are subscribed in Klaviyo and your store's email reached them in the last 180 days, with no hard bounce, spam complaint or unsubscribe since, or they clicked one of your emails in the last year, we confirm them by ourselves, once your import has finished. A message that bounced because the mailbox was full, followed by one that arrived, does not count against them. Their profile then says Confirmed automatically: received your email recently or clicked one of your emails. Nothing about their consent changes — they had already agreed.

A mistyped address never reaches anybody, so settling these is a small, quick win for your deliverability. On the Import tab, Possible typos lists every imported address that looks like a mistyped copy of another where nothing on record shows which one is real. Each shows the imported address beside your store's record, with each one's name and consent, and a link to both. Choose one:

An imported address that looks like a slip with nothing beside it — say name@ail.com, when your store has nobody at name@aol.com — offers Use as is, which confirms it the same way, or Open profile to delete, which opens its profile, where you can delete it. Every imported address at a misspelled big provider that still agrees to your email is listed, whatever else is holding it — no history yet, or a mailbox not proven yet — so you never have to go looking for one. Addresses that unsubscribed, complained, are blocked from your email or were blocked by an address check are not listed: they are not emailed either way.

Your choice is final. Once you choose, that pair never comes back to the list, and your history never decides it again — even if you import again. Only the store owner can choose; everybody else on your team can see the list. The same list is on Audience → Profiles: choose Possible typos under Identity.

When your import has finished, What happened to your people counts everyone it imported by where they stand today — whether your store can email them now, not what the import did with their row. Each person is counted once, and the rows add up to everybody the import took in:

When a Klaviyo record disagrees with your store's own record (for example, it says somebody is subscribed and your store says they unsubscribed), we keep your store's and change nothing for that person. There is nothing for you to decide. They are counted in the row their store record puts them in, and one quiet line says how many: 3 had a different record in Klaviyo. We kept your store's. The number opens those people.

A contact with no email address at all — in Klaviyo, often a text-only contact — is not imported, and it is not something to fix: one quiet line says how many, 25 had no email address, so they were not imported.

Every number is a link. It opens the Profiles screen showing exactly those people, with a chip at the top naming the group — Imported from Klaviyo · agreed, waiting to be confirmed — and, on each row, where that person stands. The list is always the length of the number you pressed. Remove the chip with its × to see every profile again. The same goes for every count on the addresses-on-hold card and every line of its breakdowns.

The card is about one group: the people who agreed and are not yet confirmed. Its heading counts them. The first part says why they are on hold, in two groups, each with its count and one sentence. See the breakdown under a group lists the reasons inside it.

The second part, Ways off hold, is where you act. It is the tinted panel, free ways first and the paid one last. Each way is one row with its cost — Free or the checking service's price per address — where it stands, and one button:

When the check is over, whoever pressed the button gets an email — Your address check for your store is done — with the count, what it cost, and one line for each kind of answer, and its button opens this import screen. The same lines stay on the card under The last check: how many can now be emailed; how many are blocked because the mailbox is disabled or does not exist — marked Do not email for good; how many are blocked because the mailbox is full — they come back on their own when they shop with you again; and how many are still waiting, and why. The page What an address check does covers every answer in full.

When a re-check or a test group takes the last address off hold, the card stays long enough to say so — Everyone who can come off hold has. 12 came off in this re-check.

And one way needs nothing from you: the person does something on your store. An order, a checkout, a form — any of these makes the person verified, and they come off hold by themselves.

None of this appears until your import has finished. While it is still running, the whole card is folded away behind a triangle, with one sentence inside it saying why: until the import is over we do not yet know which addresses are on hold, so any number we showed you would be a number of a pool still filling.

Plenty of stores paid a checking service before they moved. That result is usually saved on each profile as a field of your own — often a word like passed and a note beside it like "The address passed all tests" — and it travels over with everything else. We read it. You paid for that answer and there is no sense in paying for it twice.

We need one thing from you, and only one: when was that check run? It is on Settings → Imports → Klaviyo, under the block that counts who arrived held, and it asks in so many words: When were these addresses checked? Nothing in your old account records it, so you are the only one who knows — the month is close enough.

The card says the rest itself: Your profiles carry a check result but no date. A check is trusted for one year. If you are not sure, leave it blank: those addresses stay on hold and come off hold through an order, a recent delivery, or the test group. Before you answer, it also tells you how many addresses are waiting on it, so you can see the size of what the date does.

Saving applies the date to the imports that were waiting on it, however many imports you have run, and the card says so when it is done. There is no second button to press. Re-check these addresses, under Ways off hold on the card below, is for anything that arrives later — a file of results you import afterwards — and it is the one to press if the card tells you the re-check did not finish.

A date you correct later reaches only the addresses still on hold. Once an address comes off hold it stays off hold: that is how holding works everywhere in this product, and it is not undone by a second answer. So if you type 2026 where you meant 2019, correct it and the addresses still waiting are put back where they belong — but anyone the wrong date already let out is out, and you can see who on the Profiles screen. Take the extra second on the first answer; the month is close enough, and a month you are sure of beats a year you are not.

It is asked only where the answer does something: if your profiles carried no check result, or you have already answered, you will not be asked. The store's owner records it, because it is their statement about their own list; everyone else reads it.

Until you tell us, those results hold. That is a deliberate choice and we would rather explain it than have you wonder. A result with no date is a statement about a mailbox at an unknown moment. If the check was last month it is worth a great deal; if it was in 2019 it describes addresses that have since closed, and emailing them is the single fastest way to get a store blocked — not throttled, blocked. Guessing on your behalf would be us spending your sending reputation on an assumption. So we ask, once, and the moment you answer, every person whose result still stands comes off hold. Nothing is re-imported and nothing is paid for.

A check older than a year does not count, whichever way we learned the date.

What each result does is the same on this path as on a file, and it is set out in full on the import page: a dated pass comes off hold; an inconclusive, catch-all, greylisted, full-mailbox or role-address result is not a failure and those people stay in the two free doors above; a dead address is set aside; and a note saying somebody is on your own do-not-mail list sets them aside too without changing anything about what they agreed to — that is the do-not-email file's job and nothing else's.

Your own field keeps its name and its value, exactly as you spelled it, so the segments you built on it still work.