> This page is part of the [Customer.io documentation](https://docs.customer.io). For the complete index, see [llms.txt](https://docs.customer.io/llms.txt).
> Last updated: July 15, 2026

# Delete inactive profiles

If a lead doesn’t convert or a user is inactive for a prolonged period of time, you should delete them to preserve your deliverability metrics and reduce your billable profile count.

You can create an automation that tries to re-engage profiles one last time. If they re-engage, like open the email or click a link, they exit the automation. If they don’t re-engage, the automation deletes them through a webhook action.

## How removing profiles impacts your workspace

You can delete or suppress a profile to remove them from your workspace.

*   **Deleting** a profile removes them from your workspace, but they can be added back with the same identifiers at any time.
*   **Suppressing** a profile removes it from your workspace and prevents you from adding a profile to your workspace with the same identifiers in the future. This is important for GDPR compliance and other regulations.

After you delete or suppress a profile, metrics stay intact but become anonymous. Metrics for deleted profiles are associated with their Customer.io-generated identifier—`cio_id`, while metrics for suppressed profiles become anonymous.

Your current billing cycle counts the profile you removed, but future billing cycles will not. Learn more about calculating profile counts and billing overages in [How we bill](/accounts-and-workspaces/how-we-bill/#understanding-high-watermark-billing).

If you re-add deleted profiles, their historical activity does not show on their new profile. Each profile in your workspace is unique, so historical activity is associated with the deleted profile, not the new one.

For more on the differences between deletion and suppression and other ways to remove profiles from your workspace, check out [Delete profiles and suppress profile IDs](/messaging/profiles/manage/deleting-users/#how-suppressing-ids-works).

## Create an automation to delete profiles

In this recipe, you create an automation that deletes profiles in a dynamic segment, which means that as profiles enter the segment, they trigger your delete automation. This recipe helps you maintain your workspace profile count automatically, so you can set this up once and let your workspace take care of the rest.

To delete profiles from your workspace, create an automation with the following criteria:

1.  **Trigger** criteria that captures profiles that are inactive, didn’t convert, or otherwise should be removed from your workspace
2.  A **message** that notifies them of inactivity or encourages them to re-engage before they’re deleted
3.  A **delay** to give them time to re-engage
4.  A **webhook action** (Also known as the *Send and receive data* block) that deletes the profile if they don’t re-engage

In this example, you create an automation triggered by a segment that groups inactive users, email them to re-engage, then delete them if they don’t.

[![Delete profiles automation recipe](https://docs.customer.io/images/delete-people-campaign-recipe.png)](#bd1b5b219e5805a56b7bd51865e6ca34-lightbox)

### 1\. Create a segment for the profiles you want to delete

In this example, you create a segment that groups inactive users.

1.  Go to **Segments** and click **Create Segment**.
2.  Define the conditions that match the profiles you want to delete. For example, to target unengaged customers, you might set conditions like:
    *   Last active more than 180 days ago
        
        [![Last active more than 180 days ago](https://docs.customer.io/images/last-active-more-than-180-days-ago.png)](#4b70a399dc1b33aa0a71846eaa1e2463-lightbox)
        
    *   Hasn’t opened any emails in the last 90 days
        
        [![Hasn't opened any emails in the last 90 days](https://docs.customer.io/images/hasnt-opened-any-emails-in-the-last-90-days.png)](#97c2908f2e7b4565312906ff632a3321-lightbox)
        
         Click **Describe changes** to ask the Agent for suggested conditions. Remember to review the results and modify as needed before saving.
        
3.  Name your segment something descriptive, like “Unengaged - Delete candidates,” so you can quickly find it when creating your automation.
4.  Review the profiles in your segment before you use it as an automation trigger. Make sure the segment only matches profiles you actually want to delete!

### 2\. Create a segment-triggered automation

Next, assign your segment of inactive users as the trigger of an automation.

1.  Go to **Automations** and click **Create Automation**.
2.  Click **Choose trigger**, then select **Attribute or Segment**.
3.  Choose the segment you created in step 1.

### 3\. Add a “last chance” email

Send inactive users a final nudge encouraging them to re-engage.

1.  Drag an **Email** action onto the canvas, and select **Add Content**.
2.  Write your message. It might include a discount code or other information to encourage profiles to engage with your offerings.
3.  After you save your changes, go back to your workflow, click the email, and select **Settings**. Update the sending behavior from **Queue Draft** to **Send Automatically**. This ensures the email is sent automatically when a profile reaches your email action.

### 4\. Add a delay to give them time to re-engage

Add a Time Delay to give profiles a set amount of time to re-engage before they’re deleted.

1.  Drag a **Time Delay** action under your email action.
2.  Set the delay to the amount of time you want to give profiles to re-engage, like 1 week.

### 5\. Add a webhook action to delete profiles

If profiles don’t re-engage, delete them from from your workspace using a webhook action.

1.  Drag a **Send and Receive Data** action onto the canvas.
2.  Click the webhook action and then click **Add Request**.
3.  Decide whether to delete only, or delete and suppress profiles. [Learn more about the differences](#how-removing-people-impacts-your-workspace). Then add your request method and URL.
    *   To delete a profile, use this Track API call: [Delete a customer](/integrations/api/track/#tag/track-customers/DELETE/api/v1/customers/%7Bidentifier%7D).
        
        [![The method is set to Delete. The URL includes the full track URL. The placeholder `{identifier}` parameter is replaced with the liquid variable `{{customer.id}}`.](https://docs.customer.io/images/webhook-action-delete.png)](#331249d63e353888f419f43d8f18a8d7-lightbox)
        
    *   To delete and suppress, use this Track API call: [Suppress a customer profile](/integrations/api/track/#tag/track-customers/POST/api/v1/customers/%7Bidentifier%7D/suppress).
        
         If your workspace is in the **EU region**, use `track-eu.customer.io` instead of `track.customer.io`.
        
4.  Replace `{identifier}` with the identifier you want to use. You can always use `{{customer.cio_id}}`, an attribute assigned by your workspace, to delete them. Otherwise, check your [workspace settings](https://fly.customer.io/workspaces/last/settings/edit) to see which other attributes are considered identifiers.
5.  Add a Basic Authorization header with your Track API credentials. It must be base-64 encoded. You can ask the Agent to set up your header for you!
    
    [![Basic Authorization header](https://docs.customer.io/images/delete-person-webook.png)](#bda3a9b93b7682b8bccd6ca2f2f18007-lightbox)
    
6.  After you save, go back to your workflow, click the webhook, and select **Settings**. Update the sending behavior from **Queue Draft** to **Send Automatically**. This ensures the webhook fires automatically when a profile reaches this step.

### 6\. Set your exit criteria

To make sure profiles exit your automation if they re-engage, go to your exit criteria.

1.  Click at the top of your automation.
2.  Choose **Exit conditions**.
3.  Set profiles to exit your automation when they stop matching the trigger conditions.

Remember that profiles trigger your automation when they become inactive, so this exit criteria means profiles exit your automation when they become active again, that is, when they leaves your trigger segment.

### 7\. Review and start your automation

1.  Click **Start Automation** to review your automation settings.
2.  Choose between **Current profiles and future additions** or **Future additions only**. If you want profiles currently in your segment to trigger the automation, choose **Current profiles and future additions**.
3.  Schedule the automation or activate it now.

*   *   [How removing profiles impacts your workspace](#how-removing-people-impacts-your-workspace)
    *   [Create an automation to delete profiles](#create-an-automation-to-delete-profiles)
        *   [1\. Create a segment for the profiles you want to delete](#1-create-a-segment-for-the-profiles-you-want-to-delete)
        *   [2\. Create a segment-triggered automation](#2-create-a-segment-triggered-automation)
        *   [3\. Add a “last chance” email](#3-add-a-last-chance-email)
        *   [4\. Add a delay to give them time to re-engage](#4-add-a-delay-to-give-them-time-to-re-engage)
        *   [5\. Add a webhook action to delete profiles](#5-add-a-webhook-action-to-delete-profiles)
        *   [6\. Set your exit criteria](#6-set-your-exit-criteria)
        *   [7\. Review and start your automation](#7-review-and-start-your-automation)

Copy page

Copy page [Download .md](/messaging/send/recipes/delete-profiles.md)

Is this page helpful?

![](https://docs.customer.io/images/export-success.png) ![](https://docs.customer.io/images/export-failure.png)

# How can we make it better?

Close

Do you need help from Customer.io support?  No  
 Yes

What part of Customer.io do you need help with? 

How can we improve this page?

Email (optional):  Please provide a valid email address

 I am not a bot

 

We appreciate your feedback!

Our support team will contact you as soon as possible
