Skip to contentSkip to navigationSkip to topbar
Page tools
Useful for sharing or LLM
Accelerate development with AI

On this page
Looking for more inspiration?Visit the

Profiles Sync deletions


FREE x
TEAM x
BUSINESS ✓
ADDON ✓

Profiles Sync deletions let you propagate profile deletion requests from Segment downstream to your connected data warehouse.

This ensures that when Segment permanently deletes a profile from its internal systems, all associated data in your Profiles Sync tables, including identifiers, traits, and events, is also deleted. By deleting data in your downstream tables, you can maintain compliance and data integrity.

(information)

Profiles Sync deletions support permanent deletion

Profiles Sync deletions remove profiles from your tables rather than appending a deleted_at field to your existing profiles.


How Profiles Sync deletions work

how-profiles-sync-deletions-work page anchor

When Segment receives a deletion request (such as a GDPR "Right to be Forgotten" request), the process occurs in two high-level phases:

  • Identification and staging: Profiles Sync securely captures the deletion signals and prepares the corresponding Segment IDs for processing. This step ensures that Segment doesn't retain any personally identifiable information (PII) about your user during the deletion process.
  • Execution: On a scheduled basis, Profiles Sync runs batch deletion operations directly within your connected data warehouse to remove all traces of the deleted profiles from your managed tables. This includes materialized views (like user_traits and user_identifiers) and append-only raw tables (like event tables and ID graphs). To clear the value of an individual trait, use null trait propagation.
(information)

When do profile deletions run?

Segment runs the deletion job once per week in production environments. This weekly sync lets the deletion job handle both bulk requests and sporadic bursts of requests without impacting your warehouse's performance during standard incremental syncs.

Profile reintroduction

profile-reintroduction page anchor

If a previously deleted user returns to your site or app (for example, after a 90-day inactivity deletion), Segment creates a new profile for that user.

Segment takes the following steps:

  1. Detect the returning user as a new entity.
  2. Assign a new canonical Segment ID to the user.
  3. Ensure that no historical data from the previously deleted profile is restored or linked to the new record in your warehouse.

This feature is available for all warehouses supported by Profiles Sync:

  • Snowflake
  • Redshift
  • BigQuery
  • Azure
  • Postgres
  • Databricks

Set up Profiles Sync deletions

set-up-profiles-sync-deletions page anchor

You can set up Profiles Sync deletions on a per-warehouse basis. This gives you control over which connected warehouses receive deletion requests.

To set up deletions for a warehouse:

  1. From your Segment workspace, go to Unify > Profiles Sync.
  2. Select the Profiles Sync connection you want to configure and click the Settings tab.
  3. Under Basic settings, locate the Sync status section.
  4. Turn on the Sync Profile deletions to Warehouse toggle.
(warning)

Profiles Sync deletions aren't subject to the 30-day deletion SLA

Profiles Sync deletions aren't subject to the core 30-day GDPR deletion request Service Level Agreement (SLA). These deletions occur on external, customer-owned infrastructure, so factors such as warehouse availability, concurrent workloads, and provisioning impact processing time.


Factors that affect deletion speed

factors-that-affect-deletion-speed page anchor

The following factors can impact the speed of a deletion request:

  • Very large Profiles Sync tables without indexing: Without an index to jump directly to matching rows, the delete has to perform a full table scan. Because deletions run against the same warehouse compute as your regular incremental syncs, a long-running deletion job can also compete for that shared compute and delay concurrent incremental syncs.
  • Schemas with an unusually high table count: The deletion process has to check every table in scope, even ones with no matching rows. Schemas with tens of thousands of tables can mean a single weekly run doesn't finish a full pass, so deletion for that warehouse spreads across multiple weekly cycles.
  • Warehouse-specific limits: Warehouses that have daily data-processing quotas that your deletion requests can exceed, or that have too little memory, can have long deletion times. For example, BigQuery enforces daily data-processing quotas that can come under pressure if a warehouse has both a large table count and a large backlog of pending deletions. For warehouses hosted on Amazon Relational Database Service, like Postgres, an instance with too little memory or Input/Output Operations Per Second (IOPS) can have disproportionately long deletion times.