Skip to content

Commit 5d75beb

Browse files
Merge pull request #6625 from segmentio/fix-6614
Server-side libraries troubleshooting information + Vale pass
2 parents 65a4f20 + 3603630 commit 5d75beb

File tree

13 files changed

+402
-385
lines changed

13 files changed

+402
-385
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{% assign currentSlug = page.url | split: "/" | last %}
2+
{% assign currentIntegration = site.data.catalog.sources.items | where: "slug", currentSlug | first %}
3+
4+
### Other common errors
5+
6+
If you are experiencing data loss from your {{ currentIntegration.display_name }} source, you may be experiencing one or more of the following common errors:
7+
8+
- **Payload is too large**: If you attempt to send events larger than 32KB per normal API request or batches of events larger than 500KB per request, Segment’s tracking API responds with `400 Bad Request`. Try sending smaller events (or smaller batches) to correct this error.
9+
10+
- **Identifier is not present**: Segment's tracking API requires that each payload has a `userId` and/or `anonymousId`. If you send events without either the `userId` or `anonymousId`, Segment's tracking API responds with an `no_user_anon_id` error. Check the event payload and client instrumentation for more details.
11+
12+
- **Track event is missing name**: All Track events to Segment must have a name in string format.
13+
14+
- **Event dropped during deduplication**: Segment automatically adds a `messageId` field to all payloads and uses this value to deduplicate events. If you're manually setting a `messageId` value, ensure that each event has a unique value.
15+
16+
- **Incorrect credentials**: Double check your credentials for your downstream destination(s).
17+
18+
- **Destination incompatibility**: Make sure that the destination you are troubleshooting can accept server-side API calls. You can see compatibility information on the [Destination comparison by category](/docs/connections/destinations/category-compare/) page and in the documentation for your specific destination.
19+
20+
- **Destination-specific requirements**: Check out the [destination's documentation](/docs/connections/destinations/) to see if there are other requirements for using the method and destination that you're trying to get working.

src/connections/sources/catalog/libraries/server/clojure/index.md

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ The clojure library lets you record analytics data from your clojure code. The r
1010

1111
The library is open-source and was contributed by [CircleCI](https://circleci.com/){:target="_blank"}. You can [check it out on GitHub](https://github.com/circleci/analytics-clj){:target="_blank"}. The clojure library is a wrapper around Segment's [Java library](https://github.com/segmentio/analytics-java){:target="_blank"}.
1212

13-
The clojure library (like our other server side libraries) is built for high-performance, so you can use them in your web server controller code. This library uses an internal queue to make calls non-blocking and fast. It also batches messages and flushes asynchronously to our servers.
13+
The Clojure library (like Segment's other server side libraries) is built for high-performance, so you can use them in your web server controller code. This library uses an internal queue to make calls non-blocking and fast. It also batches messages and flushes asynchronously to Segment's servers.
1414

1515
## Getting Started
1616

@@ -54,19 +54,19 @@ The default initialization settings are production-ready.
5454

5555
## Identify
5656

57-
`identify` lets you tie a user to their actions and record traits about them. It includes a unique User ID and any optional traits you know about them.
57+
Identify calls let you tie a user to their actions and record traits about them. It includes a unique User ID and any optional traits you know about them.
5858

59-
Segment recommends calling `identify` a single time when the user's account is first created, and only identifying again later when their traits are change.
59+
Segment recommends calling Identify a single time when the user's account is first created, and only identifying again later when their traits are change.
6060

61-
Example `identify` call:
61+
Example Identify call:
6262

6363
```
6464
(identify analytics "user-id" {:email "[email protected]"})
6565
```
6666

6767
This call is identifying the user by his unique User ID (the one you know him by in your database) and labeling him with an `email` trait.
6868

69-
The `identify` call has the following fields:
69+
The Identify call has the following fields:
7070

7171
<table class="api-table">
7272
<tr>
@@ -79,17 +79,17 @@ The `identify` call has the following fields:
7979
</tr>
8080
</table>
8181

82-
Find details on the **identify method payload** in our [Spec](/docs/connections/spec/identify/).
82+
Find details on the **identify method payload** in the [Segment Spec](/docs/connections/spec/identify/).
8383

8484
## Track
8585

86-
`track` lets you record the actions your users perform. Every action triggers what we call an "event", which can also have associated properties.
86+
Track calls let you record the actions your users perform. Every action triggers what Segment calls an "event", which can also have associated properties.
8787

8888
You'll want to track events that are indicators of success for your site, like **Signed Up**, **Item Purchased** or **Article Bookmarked**.
8989

90-
To get started, we recommend tracking just a few important events. You can always add more later!
90+
To get started, Segment recommends tracking just a few important events. You can always add more later.
9191

92-
Example `track` call:
92+
Example Track call:
9393

9494
```
9595
(track analytics "user-id" "Signed Up" {:plan "trial"})
@@ -101,11 +101,11 @@ Example `track` call:
101101
:integration-options {"Amplitude" {:session-id (:id session)}}})
102102
```
103103

104-
This example `track` call tells us that your user just triggered the **Signed Up** event on a "trial" plan.
104+
This example Track call tells you that your user just triggered the **Signed Up** event on a "trial" plan.
105105

106-
`track` event properties can be anything you want to record. In this case, plan type.
106+
Track event properties can be anything you want to record. In this case, plan type.
107107

108-
The `track` call has the following fields:
108+
The Track call has the following fields:
109109

110110
<table class="api-table">
111111
<tr>
@@ -114,19 +114,19 @@ The `track` call has the following fields:
114114
</tr>
115115
<tr>
116116
<td>`event` _String_</td>
117-
<td>The name of the event you're tracking. We recommend human-readable names like <strong>Song Played</strong> or <strong>Status Updated</strong>.</td>
117+
<td>The name of the event you're tracking. Segment recommends human-readable names like <strong>Song Played</strong> or <strong>Status Updated</strong>.</td>
118118
</tr>
119119
<tr>
120120
<td>`properties` _Map, optional_</td>
121121
<td>A map of properties for the event. If the event was <strong>Added to Cart</strong>, it might have properties like <code>price</code> or <code>product</code>.</td>
122122
</tr>
123123
</table>
124124

125-
Find details on **best practices in event naming** as well as the **`track` method payload** in our [Spec](/docs/connections/spec/track/).
125+
Find details on **best practices in event naming** as well as the **Track method payload** in the [Segment Spec](/docs/connections/spec/track/).
126126

127127
## Group
128128

129-
`group` lets you associate an [identified user](/docs/connections/sources/catalog/libraries/server/java/#identify) user with a group. A group could be a company, organization, account, project or team! It also lets you record custom traits about the group, like industry or number of employees.
129+
Group lets you associate an [identified user](/docs/connections/sources/catalog/libraries/server/java/#identify) user with a group. A group could be a company, organization, account, project or team. It also lets you record custom traits about the group, like industry or number of employees.
130130

131131
This is useful for tools like [Intercom](/docs/connections/destinations/catalog/intercom/), [Preact](/docs/connections/destinations/catalog/preact/) and [Totango](/docs/connections/destinations/catalog/totango/), as it ties the user to a **group** of other users.
132132

@@ -135,7 +135,7 @@ This is useful for tools like [Intercom](/docs/connections/destinations/catalog/
135135
(group analytics "1234" "group-5678" {:name "Segment"})
136136
```
137137

138-
The `group` call has the following fields:
138+
The Group call has the following fields:
139139

140140
<table class="api-table">
141141
<tr>
@@ -152,11 +152,11 @@ The `group` call has the following fields:
152152
</tr>
153153
</table>
154154

155-
Find more details about `group`, including the **`group` payload**, in our [Spec](/docs/connections/spec/group/).
155+
Find more details about Group, including the **Group payload**, in the [Segment Spec](/docs/connections/spec/group/).
156156

157157
## Screen
158158

159-
The [`screen`](/docs/connections/spec/screen/) method lets you record whenever a user sees a screen of your mobile app, along with optional extra information about the page being viewed.
159+
The [Screen](/docs/connections/spec/screen/) method lets you record whenever a user sees a screen of your mobile app, along with optional extra information about the page being viewed.
160160

161161
You'll want to record a screen event an event whenever the user opens a screen in your app.
162162

@@ -166,7 +166,7 @@ Not all services support screen, so when it's not supported explicitly, the scre
166166
(screen analytics "1234" "Login" {:path "/users/login"})
167167
```
168168

169-
The `screen` call has the following fields:
169+
A Screen call has the following fields:
170170

171171
<table class="api-table">
172172
<tr>
@@ -175,7 +175,7 @@ The `screen` call has the following fields:
175175
</tr>
176176
<tr>
177177
<td>`name` _String_</td>
178-
<td>The webpage name you're tracking. We recommend human-readable names like **Login** or **Register**.</td>
178+
<td>The webpage name you're tracking. Segment recommends human-readable names like **Login** or **Register**.</td>
179179
</tr>
180180
<tr>
181181
<td>`properties` _Properties, optional_</td>
@@ -185,17 +185,17 @@ The `screen` call has the following fields:
185185

186186
## Alias
187187

188-
`alias` is how you associate one identity with another. This is an advanced method, but it is required to manage user identities successfully in *some* of our destinations.
188+
Alias is how you associate one identity with another. This is an advanced method, but it is required to manage user identities successfully in *some* destinations.
189189

190190
In [Mixpanel](/docs/connections/destinations/catalog/mixpanel/#alias) it's used to associate an anonymous user with an identified user once they sign up. For [Kissmetrics](/docs/connections/destinations/catalog/kissmetrics/#alias), if your user switches IDs, you can use 'alias' to rename the 'userId'.
191191

192-
Example `alias` call:
192+
Example Alias call:
193193

194194
```
195195
(alias analytics "user-id" "real-id")
196196
```
197197

198-
For more details about `alias`, including the **`alias` call payload**, check out our [Spec](/docs/connections/spec/alias/).
198+
For more details about Alias, including the **Alias call payload**, check out the [Segment Spec](/docs/connections/spec/alias/).
199199

200200
---
201201

@@ -234,8 +234,6 @@ You can set a custom logger on the client using:
234234

235235
1. Double check that you've set up the library correctly.
236236

237-
2. Make sure that you're calling one of our API methods once the library is successfully installed[`identify`](#identify), [`track`](#track), etc.
237+
2. Make sure that you're calling one of Segment's API methods once the library is successfully installed, like [Identify](#identify) or [Track](#track).
238238

239-
240-
241-
{% include content/troubleshooting-server-integration.md %}
239+
{% include content/server-side-troubleshooting.md %}

0 commit comments

Comments
 (0)