KlaviyoEmail MarketingAutomation

Reactivate Suppressed Klaviyo Profiles Automatically When They Come Back

Andrew BeauchampAugust 3, 20266 min read

If you run a sunset flow, you have a blind spot: the people you suppressed who come back.

It happens more than you'd think. Someone ignores your emails for nine months, gets suppressed, then three months later they're back on your site adding things to a cart. Maybe they got a new job and your product is relevant again. Maybe a friend mentioned you. Doesn't matter why. What matters is that Klaviyo will never email them again, because suppression is permanent until someone reverses it. And nobody is watching for that.

Here's what that looks like on a real profile, reading bottom to top: suppressed in April, back adding to cart in August, a $55 order, and un-suppressed by the flow the same afternoon.

Klaviyo profile activity timeline showing Manually Suppressed from Email Marketing in April, then Added to Cart events, Checkout Started, a placed order, and Manually Unsuppressed from Email Marketing the same day

This post covers the flow that watches for it. It's one segment and a one-step flow, and it makes aggressive list cleaning safe: suppress hard, knowing anyone who comes back gets let back in automatically.

Why This Works

Two Klaviyo behaviors make this possible.

First: suppressed profiles still get tracked. Suppression stops email sends, not data collection. Site visits, product views, carts, and orders all keep flowing into the profile. So you can build a segment that catches suppressed people showing signs of life.

Second: flow emails never send to suppressed profiles, but flow webhook actions still fire for them. That asymmetry is the whole trick. A flow can catch a suppressed profile entering a segment and call Klaviyo's own API to remove the suppression. No human involved.

Step 1: Create a Narrow API Key

In Klaviyo, go to Settings, then API keys, then Create Private API Key. Choose Custom access. Set Subscriptions to Full and leave everything else at No access.

Why so narrow: this key gets pasted into your flow's webhook settings, where anyone with flow access can read it. A key that can only manage suppressions is harmless if it leaks. Don't reuse a full-access key here. And it's Subscriptions, not Profiles. Klaviyo files suppression under subscriptions because it controls sendability. A Profiles-only key gets a 403 on these endpoints.

Klaviyo shows you the key exactly once, on the page right after you create it. Copy it before you leave, or you'll be deleting and recreating it.

Step 2: The Re-Engaging Segment

The fastest path is our free Audience Builder. Select "Suppressed - Re-Engaging (30d)" and it creates the segment in your account with your account's own metric IDs resolved automatically.

Building it by hand instead? Five conditions, all ANDed:

  • Manually Suppressed from Email Marketing at least once over all time. They were suppressed at some point.
  • Manually Suppressed zero times in the last 30 days. A cooldown, so someone your sunset flow suppressed last week doesn't get instantly un-suppressed. Without this, the two flows ping-pong profiles back and forth.
  • Person can NOT receive email marketing. They're currently suppressed. Without this condition the segment would match people who already got reactivated.
  • Placed Order, Added to Cart, Started Checkout, or Viewed Product at least once in the last 30 days. These are ORed together. This is the "signs of life" group.
  • Unsubscribed zero times over all time. An unsubscribe is a consent choice, not a suppression. This flow never touches those people, and neither should you.

Step 3: The Flow (One Webhook, Nothing Else)

Create a new flow triggered by the segment from step 2. Set the flow to allow re-entry. Someone can get suppressed, come back, get reactivated, go quiet, and get suppressed again a year later. There's no harm in letting them through the flow twice, and anyone who unsubscribes can never enter it at all. Then add a single Webhook action.

Do not put an email before the webhook. Suppressed profiles never receive flow emails, so they would never reach a webhook placed after one. Webhook first, or webhook only.

Destination URL:

https://a.klaviyo.com/api/profile-suppression-bulk-delete-jobs

Headers:

  • AuthorizationKlaviyo-API-Key pk_…… (the key from step 1)
  • Content-Typeapplication/json
  • revision2026-01-15

JSON Body:

{
  "data": {
    "type": "profile-suppression-bulk-delete-job",
    "attributes": {
      "profiles": {
        "data": [
          {
            "type": "profile",
            "attributes": {
              "email": "{{ person.email }}"
            }
          }
        ]
      }
    }
  }
}

If you built the sunset flow from our list hygiene guide, this should look familiar. It's the same webhook with two changes: the URL ends in bulk-delete-jobs instead of bulk-create-jobs, and the type says delete-job instead of create-job. Both are POST requests. Klaviyo treats "remove these suppressions" as its own job type rather than a different HTTP method, which is convenient here because flow webhooks can only POST.

Set the flow live. That's the whole build.

Step 4: Test It

  • Manually suppress a test email address you control (Settings, Suppressed profiles, Add).
  • Use the webhook's preview and test option with that profile selected. The test fires the real request, even on a draft flow.
  • Open the profile. You should see a "Manually Unsuppressed from Email Marketing" event in the activity feed, and the suppressed banner gone.

In production you won't need to force anything. Profiles enter through the segment on their own, and the 30-day cooldown means anyone suppressed today won't qualify until 30 days pass. That's by design.

The Fine Print

  • This only reverses manual and API suppressions. Hard bounces and spam complaints stay suppressed, and they should. The delete endpoint can't touch them anyway.
  • Nobody gets resubscribed. The segment excludes anyone who ever unsubscribed, and un-suppression doesn't change consent state. This flow only restores people you silenced who are now showing buying intent.
  • It needs the sunset flow to matter. If you're not suppressing unengaged profiles yet, start with the sunset flow. This is the second half of that system, and it's what makes suppressing 30,000+ profiles feel safe instead of scary.

Want the whole loop built for you, sunset and reactivation both? Reach out. Or grab the segment free from the Audience Builder and build the flow yourself in five minutes.

Want results like these for your brand?

We help ecommerce brands build email and SMS programs that drive real revenue. Let's talk about what we can do for you.