How to Automatically Suppress Profiles in Klaviyo Using a Webhook

Time is money. And one of the biggest wastes of time in email marketing is downloading and uploading segments of profiles to suppress. Luckily, Klaviyo has a solution.

Klaviyo’s Suppression Webhook allows you to automatically suppress profiles within a flow using a simple API request. This way, you can remove unengaged or invalid contacts from your list without lifting a finger. 

We’ll show you how to configure the suppression webhook, explain what key inputs you need, and how to test your setup to keep your email list clean without manual intervention. No technical background, API experience, or coding skills required. This guide is all you’ll need. 

What is a Suppression Webhook and why do I need one?

Think of a webhook as an event-driven API connection. It automatically sends data to a specified endpoint the moment an event occurs. Unlike a traditional API that often requires setup outside Klaviyo’s infrastructure, these webhooks function seamlessly within Klaviyo flows. Think of it like sending an email, but instead of delivering it to a customer, the webhook sends instructions directly to your Klaviyo account to execute a specific task in real-time. 

A Suppression Webhook automates list hygiene: contacts who should no longer receive emails are automatically removed. This helps improve deliverability by reducing bounce rates and minimising spam complaints, keeping your emails in inboxes where they belong. 

Automating suppression also saves time, eliminating the need for manual list maintenance so you can focus on other efforts (like engaging the contacts who are actually interested in your brand).

Setting up a Suppression Webhook

To integrate the webhook into your Klaviyo flow, follow these steps:

1. Add a webhook to your flow

  • In Klaviyo, navigate to the flow where you want to suppress profiles. For example, at the end of your sunset flow.

  • Head to the left sidebar of the flow builder, click on the Webhook action and drag into your flow.

Destination URL: 

Use the following endpoint to send the suppression request:

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

Headers:

Include the necessary headers to authenticate the request and define the data format:


Replace PRIVATEKEYHERE with your Full Access API Private Key in Klaviyo. However, make sure to keep Klaviyo-API-Key unchanged before your key.

Note: Setting it up to “Full Access” is the easiest option, but if you want custom access, you can set your webhook to “Edit Only Profiles and Subscriptions”. 

2. JSON body for suppression

The following JSON payload needs to be sent as part of the webhook request:

{

  "data": {

    "type": "profile-suppression-bulk-create-job",

    "attributes": {

      "profiles": {

        "data": [

          {

            "type": "profile",

            "attributes": {

              "email": "{{person.email}}"

            }

          }

        ]

      }

    }}}


Inputting {{person.email}} dynamically brings the contact's email address to call the API and suppress the profile.

Testing the webhook

Before activating the webhook, it’s important to test it to make sure it works correctly.

  1. Click on the "Preview" button above the Destination URL input field in Klaviyo.

  2. Click "Send Test Request" and wait for the response.

  3. If successful, a green banner confirms the suppression request was processed. Then, you can open the profile, and a new event record will read “Manually Suppressed”.


Final Thoughts

Managing email suppression can be tedious, especially when dealing with large lists or automation. Klaviyo’s Suppression Webhook automates list cleaning effortlessly, ensuring better inbox placement and engagement. 

Need help optimising your email deliverability? Reach out, and we’ll help make sure your emails land where they’re meant to. 



Previous
Previous

How to Use Klaviyo Internal Alerts to Keep Your Team in the Loop (Without Lifting a Finger)

Next
Next

Reviving Relationships: The Anatomy of a Winback Flow