Skip to content

Update Personas Default Limits [DOC-349] #2079

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 1, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
187 changes: 35 additions & 152 deletions src/personas/product-limits.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,182 +3,65 @@ title: Personas Default Limits
redirect_from: '/personas/rate-limits'
---

Segment Personas enforces a set of default use and rate limits to help ensure the performance and reliability of the Personas product. These limits are designed to provide consistent, reliable performance at scale. Most customers do not exceed these limits.
To provide consistent performance and reliability at scale, Segment enforces default use and rate limits within Personas. Most customers do not exceed these limits.

Contact your dedicated Customer Success Manager or [friends@segment.com](mailto:friends@segment.com) to learn more about custom limits.
To learn more about custom limits and upgrades, contact your dedicated Customer Success Manager or [friends@segment.com](mailto:friends@segment.com).

> info "Plan-Dependent Limits"
> Some limits, noted in bold, depend on your Personas plan.

## Default Limits

<table id="limit">
<thead>
<tr>
<th style="width:25%">Name</th>
<th style="width:25%">Limit</th>
<th style="width:50%">Details</th>
</tr>
</thead>
<tbody>
<tr>
<td>Inbound Data Throughput</td>
<td>1000 events per second</td>
<td>The total stream of events from the sources connected to Personas. Once the limit is reached, Segment reserves the right to slow the processing of requests. This limit also includes historical data replays into Segment.</td>
</tr>
<tr>
<td>Outbound Downstream Destination Rate Limits</td>
<td>Reduced retries when failures exceed 1000 events per second</td>
<td>Most destinations have their own rate limits that Segment cannot control. In some instances, Segment can ingest and attempt to deliver data faster than the downstream destination can accept data. Outbound requests to a destination may also fail for other reasons outside of Segment’s control.
<br /><br />
When requests to downstream destinations fail, Segment makes additional attempts to deliver the data (retries). However, when more than 1,000 requests per second to a downstream destination fail or when the failure rate for a downstream destination exceeds 50% for more than 72 hours, Segment reserves the right to reduce the number of retries until the condition is resolved.</td>
</tr>
</tbody>
</table>
| Name | limit | Details |
| ------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Inbound Data Throughput | 1000 events per second | Total event stream from sources connected to Personas, including historical data replays. Segment may slow request processing once this limit is reached. |
| Outbound Downstream Destination Rate Limits | Reduced retries when failures exceed 1000 events per second | Outbound Destination requests may fail for reasons outside of Segment’s control. For example, most Destinations enforce their own rate limits. As a result, Segment may deliver data faster than the Destination can accept. <br><br> When Destination requests fail, Segment tries to deliver the data again. However, if more than 1000 requests per second fail or if the failure rate exceeds 50% for over 72 hours, Segment may reduce additional delivery attempts until the failure condition resolves. |


## Profile API

<table id="limit">
<thead>
<tr>
<th style="width:25%">Name</th>
<th style="width:25%">Limit</th>
<th style="width:50%">Details</th>
</tr>
</thead>
<tbody>
<tr>
<td>Profile API Throughput</td>
<td>100 requests per second</td>
<td>If requests exceed 100 per second, the Profile API returns HTTP Error 429.</td>
</tr>
<tr>
<td>Events Lookback History</td>
<td>14 days</td>
<td>The Profile API retrieves up to 14 days of a profile’s historical events within a collection. This applies to track events, not traits sent through identify calls.</td>
</tr>
</tbody>
</table>
| Name | limit | Details |
| ----------------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Profile API Throughput | 100 requests per second | If requests exceed 100 per second, the Profile API returns HTTP Error `429 Too Many Requests`. |
| Events Lookback History | 14 days | The Profile API retrieves up to 14 days of a profile’s historical events within a collection. This applies to Track events, not traits sent through Identify calls. |


## Identity

<table id="limit">
<thead>
<tr>
<th style="width:25%">Name</th>
<th style="width:25%">Limit</th>
<th style="width:50%">Details</th>
</tr>
</thead>
<tbody>
<tr>
<td>Identity Merges</td>
<td>100 merges</td>
<td>Personas supports up to 100 merges per profile in its identity graph. A merge occurs when two existing profiles are joined together by a common `external_id`. For example, if a user starts on mobile, and then signs in through a web application, those two user profiles are joined together by a common identifier like a `user_id`. Messages that attempt additional merges are usually a sign of a corrupt profile and are dropped.
<br /><br />
Once the limit is reached, Segment rejects additional events.</td>
</tr>
<tr>
<td>Identity Mappings</td>
<td>1000 mappings</td>
<td>Personas supports up to 1000 mappings per profile in its identity graph. Mappings are external identifier values like a user_id, email, mobile advertising id, or any custom identifier.
<br /><br />
Messages that attempt to more than 1000 mappings are usually a sign of a corrupt profile and are dropped. This limit counts mappings across all merged profiles.</td>
</tr>
</tbody>
</table>
| name | Limit | Details |
| ----------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Identity Merges | 100 merges | Personas supports up to 100 merges per profile in its identity graph. Merges occur when a common `external_id` joins two existing profiles. For example, if a user initiates a mobile session but then signs in through a web application, a common identifier like `user_id` will join the two user profiles. Segment drops additional message merge attempts, which usually indicate corrupt profiles. Once the limit is reached, Segment rejects additional events. |
| Identity Mappings | 1000 mappings | Personas supports up to 1000 mappings per profile in its identity graph. Mappings are external identifier values like a `user_id`, email, mobile advertising `id`, or any custom identifier. Segment drops additional message mapping attempts, which usually indicate corrupt profiles. This limit counts mappings across all merged profiles. |
| Identify calls | 300 traits | Personas rejects Identify events with 300 or more traits. If your use case requires more than 300 traits, you can split the traits into multiple Identify calls. |


## Audiences and Computed Traits

<table id="limit">
<thead>
<tr>
<th style="width:25%">Name</th>
<th style="width:25%">Limit</th>
<th style="width:50%">Details</th>
</tr>
</thead>
<tbody>
<tr>
<td>Compute Concurrency</td>
<td>5 concurrent audiences</td>
<td>Segment computes five new audiences or computed traits at a time. Once the limit is reached, additional audience computations are queued until one of the 5 audiences finishes computing.</td>
</tr>
<tr>
<td>Compute Throughput</td>
<td>10000 computations per second</td>
<td>Computations are counted as any track or identify call that triggers an audience or computed trait re-computation.
<br /><br />
Once the limit is reached, Segment reserves the right to slow the processing of an audience.</td>
</tr>
<tr>
<td>Events Lookback History</td>
<td>Depends on your Personas service:
<br /><br />
- **Essentials**: 1 year
<br />
- **Advanced**: 3 years
</td>
<td>The period of time for which events stored for audience & computed trait computations.
<br /><br />
This limit is based on your Personas service. Contact your account team to upgrade your Personas service.</td></tr>
</tbody>
</table>
| name | limit | Details |
| ----------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Compute Concurrency | 5 concurrent audiences | Segment computes five new audiences or computed traits at a time. Once the limit is reached, Segment queues additional audience computations until one of the five audiences finishes computing. |
| Compute Throughput | 10000 computations per second | Computations include any Track or Identify call that triggers an audience or computed trait re-computation. Once the limit is reached, Segment may slow audience processing. |
| Events Lookback History | **Essentials**: 1 year <br><br> **Advanced**: 3 years | The period of time for which Segment stores audience and computed traits computation events. This limit depends on your Personas service. Contact your account team to upgrade your Personas service. |


## SQL Traits

<table id="limit">
<thead>
<tr>
<th style="width:25%">Name</th>
<th style="width:25%">Limit</th>
<th style="width:50%">Details</th>
</tr>
</thead>
<tbody>
<tr>
<td>SQL Traits</td>
<td>Depends on your Personas service:
<br /><br />
- Essentials: 5
<br />
- Advanced: 25

</td>
<td>The number of SQL traits you can sync to your Personas space.
<br /><br />
Contact your account team to upgrade your Personas service.</td>
</tr>
<tr>
<td>SQL Traits - Sync Frequency</td>
<td>Depends on your Personas service:
<br /><br />
- **Essentials**: Twice daily
<br />
- **Advanced**: Customizable, up to Hourly</td>
<td>The frequency with which Segment runs your SQL trait
<br /><br />
Contact your account team to customize your schedule.</td>
</tr>
<tr>
<td>SQL Traits - Rows</td>
<td>10 million</td>
<td>The number of rows each SQL trait can return.</td>
</tr>
<tr>
<td>SQL Traits - Columns</td>
<td>25</td>
<td>The number of columns each SQL trait can return.</td>
</tr>
</tbody>
</table>
| name | limit | Details |
| --------------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| SQL Traits | **Essentials**: 5 <br><br> **Advanced**: 25 | The number of SQL traits you can sync to your Personas space. Contact your account team to upgrade your Personas service. |
| SQL Traits - Sync Frequency | **Essentials**: <br> twice daily <br><br> **Advanced**: customizable, up to hourly | The frequency with which Segment runs your SQL traits. Contact your account team to customize your schedule. |
| SQL Traits - Rows | 10 million | The number of rows each SQL trait can return. |
| SQL Traits - Columns | 25 | The number of columns each SQL trait can return. |


## Journeys


In addition to the [Personas Default Limits](#default-limits), Journeys enforces a set of default limits to ensure the reliability and performance of the feature.
In addition to [Personas Default Limits](#default-limits), Journeys enforces default limits to ensure feature performance and reliability.

| Item | Limit description | Details |
| ------------- | -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Journeys | 10 Journeys per workspace | This applies to active, concurrent Journeys. <br><br>Once the limit is reached, you cannot publish any additional Journeys. You will still be able to create draft Journeys. |
| Journeys | 10 Journeys per workspace | Applies to active, concurrent Journeys. <br><br>Once the limit is reached, you cannot publish any additional Journeys. You will still be able to create draft Journeys. |
| Journey steps | 20 steps per Journey | This applies to certain steps:<br><br>- Initial cohort: 1<br>- Wait for condition: 1<br>- True / False Split: 1<br>- Multi-Branch Split: Number of branches<br>- Send to Destinations: 1<br><br>Once the limit is reached, you will be unable to add additional steps to the Journey. |
| Journey Name | Maximum length of 73 characters | Once the limit is reached, you cannot add additional characters to the name. |
| Step Name | Maximum length of 170 characters | Once the limit is reached, you cannot add additional characters to the name. |
Expand Down