Skip to content

Commit 91f5758

Browse files
authored
Merge pull request #7896 from segmentio/DOC-1214
edits to MTUs, Throughput, Billing
2 parents 44cc7f2 + ae1fb9a commit 91f5758

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

src/guides/usage-and-billing/mtus-and-throughput.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ MTU stands for "monthly tracked user". (Keep reading to learn [how Segment count
1919

2020
When you use Segment to collect your data, you use the Segment tracking methods (Track, Page, Screen, Identify, Group, and Alias) which collect the data [in a structured way](/docs/connections/spec/), and then send it to `api.segment.io`. If you are using the Segment HTTP API, or sending batched data using a cloud-source, that data also goes through this Segment API endpoint.
2121

22-
Each data blob (with its properties or traits) goes through this endpoint, and is considered one "API call".
22+
Each data blob (with its properties or traits) goes through this endpoint, and is considered one API call.
2323

2424
## What is throughput?
2525

@@ -31,15 +31,15 @@ These objects and API calls are not tied to a specific user, but are an aggregat
3131

3232
#### Batching and throughput limits
3333

34-
You can sometimes "batch" API calls to reduce send times, however batching doesn't reduce your throughput usage. Batched calls are unpacked as they are received, and the objects and calls the batch contains are counted individually. While batching does not reduce your throughput, it does reduce the possibility of rate limit errors.
34+
You can sometimes batch API calls to reduce send times, however batching doesn't reduce your throughput usage. Batched calls are unpacked as they are received, and the objects and calls the batch contains are counted individually. While batching does not reduce your throughput, it does reduce the possibility of rate limit errors.
3535

3636
## How does Segment calculate MTUs?
3737

38-
Segment counts the number of **unique** `userId`s, and then adds the number of **unique** `anonymousId`s that were not associated with a `userId` during the billing period. Segment counts these IDs over all calls made from all sources in your workspace, over a billing month. Segment only counts each user once per month, even if they perform more than one action or are active across more than one source.
38+
Segment counts the number of unique `userId`s, and then adds the number of unique `anonymousId`s that were not associated with a `userId` during the billing period. Segment counts these IDs over all calls made from all sources in your workspace, over a billing month. Segment only counts each user once per month, even if they perform more than one action or are active across more than one source.
3939

4040
#### Example MTU counts
4141

42-
Imagine that you have both a website and a mobile app. Both the website and mobile app have pages that you can use without being logged in, and both send Identify calls when a user _does_ log in.
42+
Imagine that you have both a website and a mobile app. Both the website and mobile app have pages that you can use without being logged in, and both send Identify calls when a user logs in.
4343

4444
##### Deduplication across sources
4545

@@ -48,14 +48,14 @@ As a simple example, imagine that a user is already logged in on both the websit
4848

4949
##### Deduplication after log-in
5050

51-
Now imagine a new user, who has never logged in. At first, they have two `anonymousId`s, one for the mobile app and one for the website. However, if they log in during the course of the month, you now know who they are, and can attach their `anonymousId` to a `userId`.
51+
Imagine a new user, who has never logged in. At first, they have two `anonymousId`s, one for the mobile app and one for the website. However, if they log in during the course of the month, you now know who they are, and can attach their `anonymousId` to a `userId`.
5252

53-
If the user logs in on _just_ the app, you would still see two MTUs: one `anonymousId` for the website source, and one `anonymousId` with an attached `userId` from the mobile app source.
54-
If the user logs in on _both_ the app and website, they would count as one MTU: two different `anonymousId`s attached to one `userId`.
53+
If the user logs in on just the app, you would still see two MTUs: one `anonymousId` for the website source, and one `anonymousId` with an attached `userId` from the mobile app source.
54+
If the user logs in on both the app and website, they would count as one MTU: two different `anonymousId`s attached to one `userId`.
5555

5656
## How do I see my usage data?
5757

58-
If you have questions about your data usage or how it relates to your bill, log into your Segment workspace, click **Settings > Usage and Billing > Usage**.
58+
If you have questions about your data usage or how it relates to your bill, log in to your Segment workspace, and navigate to **Settings > Usage and Billing > Usage**.
5959

6060
The Usage page shows what plan the workspace is on, what data volume that plan includes, and how much data you have already used in the current billing period. If you have used more data volume than your plan includes, the page shows information about how much data is in overage.
6161

@@ -65,9 +65,9 @@ Click the billing period dropdown at the top of the page to see a cumulative dai
6565

6666
Understanding the difference between events and objects helps you understand how MTUs are calculated.
6767

68-
An event is a data collection triggered in response to a user action: a [Track call](/docs/connections/spec/track/) (or a [Page](/docs/connections/spec/page/)/[Screen](/docs/connections/spec/screen/) call if the action was to navigate to a new page). Events take place in a single moment in time, and include a name, timestamp, and **properties**. When an event happens more than once, it creates a new Event record (with a new timestamp) rather than updating an existing one. For example, a user browsing a product catalog might generate several "Product Viewed" events, which might include the product name, price, and category.
68+
An event is a data collection triggered in response to a user action: a [Track call](/docs/connections/spec/track/) (or a [Page](/docs/connections/spec/page/)/[Screen](/docs/connections/spec/screen/) call if the action was to navigate to a new page). Events take place in a single moment in time, and include a name, timestamp, and properties. When an event happens more than once, it creates a new event record (with a new timestamp) rather than updating an existing one. For example, a user browsing a product catalog might generate several *Product Viewed* events, which might include the product name, price, and category.
6969

70-
This is in contrast to "Objects" which represent a single thing that persists over time and can be updated. Objects have "traits" (instead of properties) which record information about that object, and which can change over time. For example a "user" object could have a trait of "email" which doesn't change often, but could also have a [computed trait](/docs/personas/computed-traits/) like `logged_in_last_7_days` that changes between `true` and `false` based on how much they use your site.
70+
This is in contrast to Objects which represent a single thing that persists over time and can be updated. Objects have traits (instead of properties) which record information about that object, and which can change over time. For example a "user" object could have a trait of "email" which doesn't change often, but could also have a [computed trait](/docs/personas/computed-traits/) like `logged_in_last_7_days` that changes between `true` and `false` based on how much they use your site.
7171

7272
## How is object throughput calculated?
7373

@@ -81,12 +81,12 @@ If you use [Cloud sources](/docs/connections/sources/about-cloud-sources/) to pu
8181

8282
There are two types of cloud sources: **object sources**, and **event sources**. Object sources bring in information about entities, such as a person or company, which can change and have their properties updated over time. Events happen once in time, so while their properties don't change, they can also happen more than once over time. (See [above](#what-is-the-difference-between-an-event-and-an-object) for more on objects vs events.)
8383

84-
**Object sources _do not_ increase your MTU count** because the data included doesn't usually contain an ID. Object sources can only send to Warehouses, and _do_ affect the total object count which is used to calculate your [throughput](#what-is-throughput). Some examples of object-sources are [Salesforce](/docs/connections/sources/catalog/cloud-apps/salesforce/), [Zendesk](/docs/connections/sources/catalog/cloud-apps/zendesk/), and [Stripe](/docs/connections/sources/catalog/cloud-apps/stripe/).
84+
**Object sources _don't_ increase your MTU count** because the data included doesn't usually contain an ID. Object sources can only send to warehouses, and _do_ affect the total object count which is used to calculate your [throughput](#what-is-throughput). Some examples of object-sources are [Salesforce](/docs/connections/sources/catalog/cloud-apps/salesforce/), [Zendesk](/docs/connections/sources/catalog/cloud-apps/zendesk/), and [Stripe](/docs/connections/sources/catalog/cloud-apps/stripe/).
8585

8686
**Event sources _can_ create new MTUs** because each event coming from this source includes either a `userId` or an `anonymousId` associated with the event. Some examples of event sources are [Vero](/docs/connections/sources/catalog/cloud-apps/vero/), [Drip](/docs/connections/sources/catalog/cloud-apps/drip/), and [Youbora](/docs/connections/sources/catalog/cloud-apps/youbora/).
8787

8888
> success ""
89-
> **Tip!** You can check the **Collections** section of a cloud-source's Segment documentation to see what type of data it sends. The Collections table lists each data type sent from the cloud source, and tells you if that data is an Object or an Event.
89+
> You can check the **Collections** section of a cloud-source's Segment documentation to see what type of data it sends. The Collections table lists each data type sent from the cloud source, and tells you if that data is an Object or an Event.
9090
9191
## MTUs and Protocols
9292

@@ -95,17 +95,17 @@ There are two types of cloud sources: **object sources**, and **event sources**.
9595
9696
Segment's Protocols product allows you to selectively [filter and block your incoming data](/docs/protocols/schema/) to prevent malformed data from reaching destinations including your data warehouses and other storage solutions.
9797

98-
Tracking plan blocking: Blocked events are blocked from sending to all Segment Destinations, including warehouses and streaming Destinations. They're blocked from reaching the entire Segment data pipeline. When you block an Event using a Tracking Plan, it does not count towards your MTU limit.
98+
Tracking plan blocking: Blocked events are blocked from sending to all Segment destinations, including warehouses and streaming destinations. They're blocked from reaching the entire Segment data pipeline. When you block an Event using a Tracking Plan, it does not count towards your MTU limit.
9999

100100
Blocked events (sometimes called "violations") only count toward your MTU limit if you enable [blocked event forwarding](/docs/protocols/enforce/forward-blocked-events/) in your Source settings. You might do this to monitor issues with your incoming data as you continue to develop your tracking.
101101

102-
If you enable violation forwarding, it generates one (1) additional MTU in your workspace, total. If you are on an API billing plan, you are charged for the increased API volume generated by the forwarded violations. Forwarded violations might also generate costs in downstream destinations and data warehouses connected to the violations source.
102+
If you enable violation forwarding, it generates 1 additional MTU in your workspace, total. If you are on an API billing plan, you are charged for the increased API volume generated by the forwarded violations. Forwarded violations might also generate costs in downstream destinations and data warehouses connected to the violations source.
103103

104104

105105
## MTUs and Engage
106106

107107
> success ""
108-
> [Engage](/docs/engage/) is a Business Tier addon feature. If you are on a Free or Team plan this section does not apply to you (because you do not have this feature).
108+
> [Engage](/docs/engage/) is a Business Tier add-on feature. If you are on a Free or Team plan this section does not apply to you.
109109
110110
All Engage data are omitted from billing MTU and API throughput calculations, including [computed traits](/docs/engage/audiences/computed-traits/), [SQL traits](/docs/engage/audiences/sql-traits/), and [audiences](/docs/engage/audiences/).
111111

@@ -119,7 +119,7 @@ Replays only affect your MTU count if you are using a [Repeater](/docs/connectio
119119

120120
## How Reverse ETL affects MTUs
121121

122-
Extracting data with Reverse ETL does **not** count toward your MTU usage. However, if you send that data through the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/), it **will** affect your MTUs.
122+
Extracting data with Reverse ETL doesn't count toward your MTU usage. However, if you send that data through the [Segment Connections destination](/docs/connections/destinations/catalog/actions-segment/), it **will** affect your MTUs.
123123

124124
The Segment Connections destination is built for Reverse ETL and treats events as if they’re coming from a standard source, meaning they contribute to your MTU count.
125125

@@ -137,13 +137,13 @@ Different tools count users under different conditions, so comparing numbers bet
137137

138138
- Google Analytics requires that you include a `url` in any Page calls from a Segment server library. If you don't include a `url`, Google Analytics silently rejects the call, which can reduce the number of users you see in GA.
139139

140-
- Segment does not pass data from [Identify calls](https://segment.com/docs/connections/spec/identify) to Google because it is against Google's terms of service to pass Personally Identifiable Information (PII) to the Google Analytics reporting interface. If you need to pass data from an Identify call, you can set up a [Custom Dimension mapping](/docs/connections/destinations/catalog/google-analytics/#custom-dimensions) to override this.
140+
- Segment doesn't pass data from [Identify calls](https://segment.com/docs/connections/spec/identify) to Google because it is against Google's terms of service to pass Personally Identifiable Information (PII) to the Google Analytics reporting interface. If you need to pass data from an Identify call, you can set up a [Custom Dimension mapping](/docs/connections/destinations/catalog/google-analytics/#custom-dimensions) to override this.
141141

142142
- To pass the `userId` from your [Identify calls](https://segment.com/docs/connections/spec/identify/) to Google Analytics, go to the Google Analytics destination settings in the Segment web app, locate the **Advanced Google Analytics settings**, and enable **Send User-ID to GA**.
143143

144144
#### Amplitude
145145

146-
By default, Segment doesn't send standard [Page calls](https://segment.com/docs/connections/spec/page/) or [Screen calls](https://segment.com/docs/connections/spec/screen/) to Amplitude, which might reduce the number of unique users Amplitude sees.
146+
By default, Segment doesn't send standard [Page calls](/docs/connections/spec/page/) or [Screen calls](/docs/connections/spec/screen/) to Amplitude, which might reduce the number of unique users Amplitude sees.
147147

148148
To send Page and Screen calls to Amplitude, go to the Amplitude destination settings in the Segment web app, and locate the **Advanced Options** tab.
149149

@@ -184,7 +184,7 @@ Check to see if you changed how you call `analytics.reset()`. This utility metho
184184

185185
Segment’s analytics libraries include methods that allow you to overwrite both the `userId` (using `identify(xxx)` or `analytics.instance.user().id(xxx)`) and `anonymousId` (using `analytics.user().anonymousId(xxx)`). Using these methods on a user whose tracking information already includes an ID can cause the user to be counted more than once.
186186

187-
If you find you need to use one of these overwrite methods, you should check to make sure that the field you are changing is `null` first. If the field is _not_ null, you probably don't want to overwrite it and lose the user's original tracked identity.
187+
If you find you need to use one of these overwrite methods, you should check to make sure that the field you are changing is `null` first. If the field isn't null, you don't want to overwrite it and lose the user's original tracked identity.
188188

189189
#### Cross-domain issues
190190

0 commit comments

Comments
 (0)