Skip to content

Verify your Klaviyo email list before you send

Integration Sending and campaigns

Klaviyo email verification in three steps: export your profiles, verify the file in PricklyMails, then suppress the addresses to remove.

There is no native Klaviyo connector: you export the list, PricklyMails verifies it, and you bring the result back into Klaviyo. New addresses can go through the API before they ever reach Klaviyo.

Verify for free

Step by step

Clean your list in three steps

  1. In Klaviyo

    Export your profiles from Klaviyo

    Before you start

    Only users with the Owner, Admin or Analyst role can export a list or segment.

    1. Go to Audience then Lists & segments.
    2. Click the list or segment you want to verify.
    3. Open the Manage list or Manage segment drop-down.
    4. Choose Export list to CSV or Export segment to CSV.
    5. Choose to export only specific properties rather than all of them: the lighter the file, the faster it downloads.
    6. Wait a few minutes for the file to download in your browser. If it does not show up, find it under Settings then Other then Downloads, which keeps your exports for 30 days.

    Tip

    To verify every profile Klaviyo can still email rather than a single list, create a segment with the condition If someone can or cannot receive marketing then can receive then email marketing and export it the same way: suppressed profiles already receive no marketing email.

    Tip

    PricklyMails only needs the addresses: in a spreadsheet, keep the Email column alone before moving on.

  2. In PricklyMails

    Verify the file in PricklyMails

    1. In the dashboard, open Batches and click New batch.
    2. Drop the file you exported from Klaviyo: a .csv or .txt with one address per line, no header row and no quotes. A header row would count as an address in the estimate, though it is never billed, and a quoted address would not be verified: the report lists both as malformed. You can also paste the list.
    3. The dashboard counts the addresses and shows the estimated cost in tokens before anything is sent, then you click Submit batch. A batch holds at least 20 addresses, and your plan sets the largest list it can hold.
    4. The list is verified in the background. Once the batch is done, open it and click Download report: you get a CSV with a row for each address of your file, giving its verdict, its reason, its score and its recommendation, with the dashboard's labels.

    Note

    Download the report from the browser that sent the list: that browser is what keeps the addresses, for the 16 most recent batches at most. Our servers, in Germany, only keep a one-way fingerprint of each one.
    What the report says

    Every address gets a recommendation: the action to take. The report writes it with the dashboard's label; the API returns a short form of it.

    Send
    The address is valid, or hosted by a large provider that accepts every address without confirming any. Send as usual.
    Review
    A domain that accepts any address (catch-all), a generic address such as contact@, a full mailbox, or a server that never answered, or refused to. Take a look before you send.
    Remove
    The address does not exist, its domain cannot receive mail, or it is disposable, mistyped or malformed. Take it out.

    Note

    A malformed address is never verified: the batch counts it under "Malformed addresses", and the report still lists it, with the verdict "Invalid", the reason "Malformed address" and the recommendation "Remove", so you take it out of Klaviyo with the others. A duplicate, counted under "Duplicates removed", appears only once.

    Behind each recommendation sit a verdict (Valid, Risky, Invalid or Not verifiable), a reason and a score from 0 to 100, each in its own column of the report. When a server never answers, the address comes back "Not verifiable" and the checks that got no answer are refunded.

  3. In Klaviyo

    Bring the result back into Klaviyo

    Open the report in a spreadsheet and filter the Recommendation column.

    Remove

    They get suppressed: a suppressed profile receives no marketing email and stops counting toward your plan.

    Klaviyo takes a file of addresses straight onto its suppression list: the profiles stay in your account, with their data, but stop receiving your emails.

    1. Copy them into a new CSV file: a single column under an Email header, one address per row.
    2. In Klaviyo, go to Audience then Profiles.
    3. Click View suppressed profiles, in the upper right.
    4. Select Import and upload your file.
    Review

    They deserve a look before your next campaign. To find them in Klaviyo, import them into a dedicated list with Manage list then Import contacts, and don't select Yes when Klaviyo asks whether these contacts subscribed: that answer adds their consent.

    Send

    They stay in your lists: nothing to do.

Verify each address before it reaches Klaviyo

Does your signup form or sync script create or update profiles through Klaviyo's API, with the Create or Update Profile (opens in a new tab) call? Ask PricklyMails first. If the recommendation is remove, don't send the address to Klaviyo.

One call starts the verification and already flags a likely typo, a second one reads the verdict. Depending on your plan, a signed webhook can also send it to you as soon as it's ready.

Request
curl -s https://api.pricklymails.com/api/verify \
  -H "Authorization: Bearer pm_live_9f3a..." \
  -H "Content-Type: application/json" \
  -d '{ "email": "ana.silva@gmail.con" }' \
  | jq '{job_uuid, suggestion}'
Response
{
  "job_uuid": "8f1c2a9e-4b7d-4e2a-9c61-3d5f0b7a2e18",
  "suggestion": "ana.silva@gmail.com"
}
Request
curl -s https://api.pricklymails.com/api/verify/$JOB_UUID \
  -H "Authorization: Bearer pm_live_9f3a..." \
  | jq '.verifications[0] | {status, reason, score, recommendation}'
Response
{
  "status": "invalid",
  "reason": "no_mx_records",
  "score": 0,
  "recommendation": "remove"
}
Read the API docs

Frequently asked questions

Klaviyo already suppresses bounced addresses, so why verify first?

Klaviyo's help center says it suppresses an address once it has hard bounced, or soft bounced more than 7 times in a row: by then the email has gone out and the bounce has counted. It also recommends removing invalid emails from a list before importing it, ahead of your first send, and warns that continuing to send campaigns with high hard bounce rates hurts your sending reputation and can get you removed from Klaviyo. Verifying first takes those addresses out before they bounce.

Does Klaviyo charge for suppressed profiles?

Not on its email plans: Klaviyo prices them on active profiles, and a suppressed profile is not one. Your plan must cover your active profiles, or Klaviyo may upgrade it at the next billing cycle. Suppressing does not move you to a lower tier on its own, though: unless your account downgrades automatically, select the lower tier yourself under Account then Billing then Email Billing. Klaviyo CDP, billed separately, counts every profile, suppressed ones included.

Should I suppress or delete the addresses to remove?

Suppress them: Klaviyo's help center says you should generally aim to suppress rather than delete. A deleted profile loses all its data and can come back as a new profile, for example by submitting a sign-up form, while a suppressed profile keeps its history for your segments and analysis. Klaviyo advises deleting only when you are certain you no longer need the data, or when a person asks for their data to be deleted.

Does PricklyMails connect to Klaviyo directly?

No, there is no native connector: you go through a file export, as above. You can also call the PricklyMails API from your own code before an address reaches Klaviyo.

These trademarks belong to their respective owners. Naming them implies no partnership.

Check your list before your next send.

1,000 tokens free when you sign up, no credit card. After that, you only pay for answers.