Skip to contentSkip to navigationSkip to topbar
Page toolsOn this page
Looking for more inspiration?Visit the

Profile Limits


FREE x
TEAM x
BUSINESS
ADDON

Profile limits are system-wide guardrails on Segment's Customer Data Platform that protect the performance and reliability of profile processing for all workspaces. This page covers:


Why profile limits?

why-profile-limits page anchor

Segment's profile data pipeline processes events, traits, and identity signals across millions of profiles simultaneously. Without guardrails, a small number of profiles with unusually high event throughput, thousands of identifiers, or deeply nested merge cycles can monopolize shared pipeline resources. This can cause delayed Audience evaluation, stale Computed Traits, slower Profile Sync propagation, and Journeys that fall behind real-time.

Profile limits protect Segment uptime by enforcing consistent, predictable resource consumption per profile and per workspace. This ensures every customer benefits from fast, reliable profile processing, regardless of the content of any one profile.


These limits apply on a per-profile basis.

Limit dimensionDefault value
Profile throughput25 events/second
Traits per profile6,000
Identifiers per profile1,000
Links per profile500
(information)

These are default limits

If your use case requires higher thresholds, contact your Customer Success Manager.


Limit dimensionEnforcement behavior
Profile throughput (measured in events per second (EPS))Events above 25 EPS for a single profile are queued. Sustained excess beyond the queue threshold results in event drops. Dropped events are not retried.
Account throughput (EPS)Events above 100 EPS in aggregate across the workspace are queued or dropped following the same policy.
Traits per profileOnce a profile reaches 1,000 traits, new trait writes are silently dropped. Existing traits are not affected.
Traits per accountOnce an account profile reaches 1,000 traits, new trait writes are silently dropped. Existing traits are not affected.
Identifiers per profileOnce a profile reaches 1,000 identifiers, new identity signals are not merged into the profile.
Links per profileOnce a profile has 500 links to group or account profiles, new group() calls that would create additional links are ignored.
(warning)

Dropped traits, identifiers, and links are not recoverable by retrying the source event

To resume successful writes, the profile's trait, identifier, or link count must first be reduced below the threshold.


Throughput: Events Per Second (EPS)

throughput-events-per-second-eps page anchor

EPS measures how many events a single profile or your entire workspace processes per second.

  • Profile-level (25 EPS): Applies to a single, resolved user profile. Common per-profile ETS violations come from real-time clickstreams, Internet of Things (IoT) signals, and server-side automation loops.
  • Account-level (100 EPS): Applies across all profiles in your workspace. Common account-level violations occur from batch imports or misconfigured automations.

Best practices to avoid throughput limits

best-practices-to-avoid-throughput-limits page anchor

To avoid hitting throughput limits, Segment recommends the following:

  • Batch or debounce high-frequency events upstream before sending to Segment. Segment is optimized for behavioral and transactional events, not telemetry streams.
  • Avoid server-side loops that emit an event for every state change on one profile.
  • In latency-sensitive workflows, use server-side sources where you control emission rate rather than relying on client-side SDKs.

Troubleshoot EPS violations

troubleshoot-eps-violations page anchor
  • Review the Errors & Violations Search for workspaces showing sustained account-level EPS violations. These often indicate a misconfigured batch import job or a source emitting at an unintended rate.

Traits are key-value attributes stored on a user profile: for example, plan_type, lifetime_value, or last_purchase_date. Each profile can have up to 1,000 traits.

Hitting trait limits can be a result of:

  • Sources writing event properties directly as profile traits without a deliberate schema
  • Computed Traits or enrichment pipelines generating high-cardinality derived attributes
  • Multiple sources writing overlapping or redundant trait schemas to the same profile

Best practices to avoid trait limits

best-practices-to-avoid-trait-limits page anchor
  • Design your trait schema intentionally. Create high-signal, stable traits (plan tier, lifecycle stage, aggregate scores) rather than raw event-level attributes.
  • Use Computed Traits to derive aggregated values rather than writing every intermediate state as a separate trait.
  • Namespace traits by source or domain if multiple teams write to the same profile: for example, crm_plan_type vs. app_plan_type, to make auditing easier.

Troubleshoot trait limits

troubleshoot-trait-limits page anchor
  • Use the Profile Insights Dashboard to identify profiles with high trait counts and review which sources are contributing the most traits.
  • Deprecate and remove traits that are no longer used in Audiences, Journeys, or downstream destinations before they consume quota.

Traits stored on group/account profiles are subject to the same limit as user profile traits: 1,000 per profile.

It is common to hit account trait limits in business-to-business (B2B) workspaces where customer relationship management (CRM) enrichment, product usage data, and billing data are all written to the same account profile from separate sources.

Best practices for account-level trait limits

best-practices-for-account-level-trait-limits page anchor

Segment recommends taking the following steps to avoid hitting account-level limits:

  • Consolidate redundant account-level traits across CRM, billing, and product sources before they accumulate on the same account profile.
  • Create aggregate or computed account traits: for example, total_seats, arr, or health_score, rather than granular event-level attributes.

Troubleshoot account-level trait limits

troubleshoot-account-level-trait-limits page anchor

Audit account profiles in the Profile Insights Dashboard for trait count distribution. B2B workspaces with many data sources per account are most at risk for account-level trait limits.

Identifiers are the data points used to stitch events and records into a unified profile: user_id, email, anonymous_id, device_id, phone numbers, and any custom external IDs.

Each profile is limited to 1,000 identifiers.

Identifier accumulation is most often caused by:

  • Anonymous IDs from sessions that are never resolved in Identity calls, causing a single resolved profile to accumulate hundreds of orphaned anonymous IDs.
  • Identity resolution merge cycles where profiles merge, split, and re-merge, generating a growing chain of historical identifiers.
  • Device ID proliferation in mobile apps with high uninstall and reinstall rates.

Best practices for identifier-level limits

best-practices-for-identifier-level-limits page anchor
  • Call Identify promptly after a user authenticates to associate the anonymous session with a known user_id. This prevents the resolved profile from accumulating unbounded anonymous IDs.
  • Audit your identity graph configuration for merge rules that could trigger cyclic merges. Cyclic merges, where profile A merges into B and B merges back into A, rapidly inflate identifier counts.
  • Avoid emitting anonymous events from contexts where resolution is unlikely: like internal tooling, bots, and test environments.

Troubleshoot identifier limits

troubleshoot-identifier-limits page anchor
  • Follow the best practices in the Handle anonymous profiles section to avoid orphaned anonymousIDs.
  • Review identity resolution rules in your Unify space and eliminate merge conditions that cause cyclic merges.

Handle anonymous profiles

handle-anonymous-profiles page anchor

Best practices for anonymous profiles

best-practices-for-anonymous-profiles page anchor

Segment recommends taking the following steps to handle anonymous profiles:

  • Resolve sessions promptly: Call Identify immediately after authentication. Segment's identity graph merges the anonymous session into the resolved profile, associating the anonymous_id with the user_id so future events route to the correct profile.
  • Limit anonymous event emission from non-converting contexts: Suppress anonymous tracking from bots, internal tooling, test environments, and crawlers. These sessions will never resolve and consume profile quota without providing business value.
  • Review unresolved anonymous profiles: Use the Profile Insights Dashboard to identify anonymous profiles with high identifier counts. These often represent sessions from shared devices, kiosks, or test suites rather than real users.
  • Check identity resolution rules: If anonymous profiles are not merging into resolved profiles after you call Identify, review your identity graph merge rules. A misconfigured rule can leave anonymous and resolved profiles permanently separated, causing identifier divergence.

Profile limit observability

profile-limit-observability page anchor

Segment provides two complementary UIs for monitoring profile limit health: the Profile Insights Dashboard for aggregate and profile-level analysis, and the Errors & Violations Search for event-level investigation.

Profile Insights dashboard

profile-insights-dashboard page anchor

The Profile Insights dashboard provides both workspace-level aggregate views and granular per-profile drill-downs for all profile limit dimensions.

To access the Profile Insights dashboard, go to Unify > Profile Insights.

The aggregate view of the Profile Insights dashboard gives workspace administrators a high-level picture of profile limit health across all profiles.

Profile LimitDescription
Profiles at EPS limitThe number of user profiles that reached or exceeded 25 EPS in the selected time window
Profiles at trait limitThe number of of user profiles with 6,000 traits, percentage of total profile population
Profiles at identifier limitThe number of user profiles with 1,000 or more identifiers
Profiles at link limitThe number of user profiles with 500 or more links
Limit violation trendTime-series showing violation counts per dimension over the last 7, 30, or 90 days

Use the aggregate view to:

  • Identify whether limit violations are growing, stable, or declining over time
  • Prioritize which limit dimension needs the most attention
  • Report on overall identity graph health to engineering and data teams

Granular (per-profile) view

granular-per-profile-view page anchor

Select any limit dimension in the aggregate view to see a ranked list of profiles ordered by their current count or violation frequency. Select any individual profile to open the per-profile detail view.

Per-profile counts available:

CountDescription
Profile EPSCurrent and peak events per second for the selected profile, with a time-series chart
Traits per profileCurrent trait count with a breakdown by source showing which sources contributed which traits
Traits per accountCurrent trait count on the associated account profile
Identifiers per profileCurrent identifier count with a type breakdown: user_id, email, anonymous_id, device_id, and custom IDs
Links per profileCurrent link count with a list of linked account and group profile IDs

In the granular view, you can take the following actions:

  • View the full profile
  • API endpoints for deletion
errors-and-violations-search page anchor

The Errors & Violations Search UI provides event-level visibility into individual limit violations. Use it to debug specific profiles, sources, or time windows and to identify the root cause of dropped data.

To access the Errors and Violations search, go to Unify > Errors & Violations.

What the errors and violations search surfaces

what-the-errors-and-violations-search-surfaces page anchor

Each violation event includes:

FieldDescription
TimestampWhen the violation occurred (UTC)
Violation typeOne of: profile_eps_exceeded, account_eps_exceeded, trait_limit_reached, account_trait_limit_reached, identifier_limit_reached, link_limit_reached
Profile IDThe Segment profile ID of the affected profile
SourceThe source that emitted the event that triggered the violation
Event typeThe Segment event type: Identify, Track, Group, or Page
Dropped payloadWhether data was dropped as a result of this violation. If data was dropped, this field includes the entities that were dropped
Current countThe profile's count at the time of violation (for trait, identifier, and link violations)

Filter violations by:

  • Violation type: narrow to a specific limit dimension
  • Time range: last 1 hour, 24 hours, 7 days, or custom range
  • Profile ID: investigate a specific profile

Respond to limit violations

respond-to-limit-violations page anchor

When a profile limit is reached, Segment recommends that you take the following steps to resolve the profile limit:

For any profile limit reached:

  1. Open Profile Insights and identify which profiles are at or above 100% of any limit.
  2. Open Errors & Violations Search and filter by the relevant violation type. Note which sources are contributing violations and whether data is being dropped.
  • For EPS violations: Identify the source emitting high-frequency events. Reduce emission rate upstream or implement batching.
  • For trait violations: Identify which sources are writing traits. Remove low-value traits or consolidate redundant traits across sources.
  • For identifier violations: Review identity resolution configuration. Check for cyclic merge conditions or unresolved anonymous IDs.
  • For link violations: Audit Group call frequency in the offending source. Suppress redundant calls for already-established relationships.

If limit violations are impacting production Audiences, Journeys, or Profile Sync and cannot be resolved through configuration changes, contact your Customer Success Manager (CSM). Your CSM can:

  • Perform a profile audit against your workspace's specific data model
  • Provide a remediation plan for profiles already at their limit
  • Coordinate with Segment engineering for a limit review
(warning)

Warning

Limit increases are evaluated on a case-by-case basis and require a documented technical and business justification.