You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/connections/spec/common.md
+22-19Lines changed: 22 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -116,25 +116,25 @@ Beyond this common structure, each API call adds a few specialized top-level fie
116
116
117
117
Context is a dictionary of extra information that provides useful context about a datapoint, for example the user's `ip` address or `locale`. You should **only use** Context fields for their intended meaning.
|`active`| Boolean | Whether a user is active. <br><br> This is usually used to flag an `.identify()` call to just update the traits but not "last seen." |
122
-
|`app`| Object | dictionary of information about the current application, containing `name`, `version`, and `build`. <br><br> This is collected automatically from the mobile libraries when possible. |
123
-
|`campaign`| Object | Dictionary of information about the campaign that resulted in the API call, containing `name`, `source`, `medium`, `term`, `content`, and any other custom UTM parameter. <br><br> This maps directly to the common UTM campaign parameters. |
124
-
|`device`| Object | Dictionary of information about the device, containing `id`, `advertisingId`, `manufacturer`, `model`, `name`, `type`, and `version`. |
125
-
|`ip`| String | Current user's IP address. |
126
-
|`library`| Object | Dictionary of information about the library making the requests to the API, containing `name` and `version`. |
127
-
|`locale`| String | Locale string for the current user, for example `en-US`. |
128
-
|`network`| Object | Dictionary of information about the current network connection, containing `bluetooth`, `carrier`, `cellular`, and `wifi`. If the `context.network.cellular` and `context.network.wifi` fields are empty, then the user is offline.|
129
-
|`os`| Object | Dictionary of information about the operating system, containing `name` and `version`. |
130
-
|`page`| Object | Dictionary of information about the current page in the browser, containing `path`, `referrer`, `search`, `title` and `url`. This is automatically collected by [Analytics.js](/docs/connections/sources/catalog/libraries/website/javascript/#context--traits). |
131
-
|`referrer`| Object | Dictionary of information about the way the user was referred to the website or app, containing `type`, `name`, `url`, and `link`. |
132
-
|`screen`| Object | Dictionary of information about the device's screen, containing `density`, `height`, and `width`. |
133
-
|`timezone`| String | Timezones are sent as tzdata strings to add user timezone information which might be stripped from the timestamp, for example `America/New_York`. |
134
-
|`groupId`| String | Group / Account ID. <br><br> This is useful in B2B use cases where you need to attribute your non-group calls to a company or account. It is relied on by several Customer Success and CRM tools. |
135
-
|`traits`| Object | Dictionary of `traits` of the current user. <br><br> This is useful in cases where you need to `track` an event, but also associate information from a previous `identify` call. You should fill this object the same way you would fill traits in an [identify call](/docs/connections/spec/identify/#traits). |
136
-
|`userAgent`| String | User agent of the device making the request. |
137
-
|`channel`| String | where the request originated from: server, browser or mobile |
|`active`| Boolean | Whether a user is active. <br><br> This is usually used to flag an `.identify()` call to just update the traits but not "last seen." |
122
+
|`app`| Object | dictionary of information about the current application, containing `name`, `version`, and `build`. <br><br> This is collected automatically from the mobile libraries when possible. |
123
+
|`campaign`| Object | Dictionary of information about the campaign that resulted in the API call, containing `name`, `source`, `medium`, `term`, `content`, and any other custom UTM parameter. <br><br> This maps directly to the common UTM campaign parameters. |
124
+
|`device`| Object | Dictionary of information about the device, containing `id`, `advertisingId`, `manufacturer`, `model`, `name`, `type`, and `version`. |
125
+
|`ip`| String | Current user's IP address. |
126
+
|`library`| Object | Dictionary of information about the library making the requests to the API, containing `name` and `version`. |
127
+
|`locale`| String | Locale string for the current user, for example `en-US`. |
128
+
|`network`| Object | Dictionary of information about the current network connection, containing `bluetooth`, `carrier`, `cellular`, and `wifi`. If the `context.network.cellular` and `context.network.wifi` fields are empty, then the user is offline. |
129
+
|`os`| Object | Dictionary of information about the operating system, containing `name` and `version`. |
130
+
|`page`| Object | Dictionary of information about the current page in the browser, containing `path`, `referrer`, `search`, `title` and `url`. This is automatically collected by [Analytics.js](/docs/connections/sources/catalog/libraries/website/javascript/#context--traits). |
131
+
|`referrer`| Object | Dictionary of information about the way the user was referred to the website or app, containing `type`, `name`, `url`, and `link`. |
132
+
|`screen`| Object | Dictionary of information about the device's screen, containing `density`, `height`, and `width`. |
133
+
|`timezone`| String | Timezones are sent as tzdata strings to add user timezone information which might be stripped from the timestamp, for example `America/New_York`. |
134
+
|`groupId`| String | Group / Account ID. <br><br> This is useful in B2B use cases where you need to attribute your non-group calls to a company or account. It is relied on by several Customer Success and CRM tools. |
135
+
|`traits`| Object | Dictionary of `traits` of the current user. <br><br> This is useful in cases where you need to `track` an event, but also associate information from a previous `identify` call. You should fill this object the same way you would fill traits in an [identify call](/docs/connections/spec/identify/#traits). |
136
+
|`userAgent`| String | User agent of the device making the request. |
137
+
|`channel`| String | where the request originated from: server, browser or mobile |
138
138
139
139
140
140
## Context fields automatically collected
@@ -183,6 +183,9 @@ Other libraries only collect `context.library`, any other context variables must
183
183
| timezone || ✅ | ✅ |
184
184
185
185
- IP Address isn't collected by Segment's libraries, but is instead filled in by Segment's servers when it receives a message for **client side events only**.
186
+
> info "IPv6 Addresses are not Supported"
187
+
> Segment does not support collection of IP addresses that are in the IPv6 format.
188
+
186
189
- The Android library collects `screen.density` with [this method](/docs/connections/spec/common/#context-fields-automatically-collected).
187
190
188
191
To pass the context variables which are not automatically collected by Segment's libraries, you must manually include them in the event payload. The following code shows how to pass `groupId` as the context field of Analytics.js's `.track()` event:
0 commit comments