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/sources/catalog/libraries/mobile/react-native/migration.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
1
---
2
-
title: React Native 2.0 Migration Guide
2
+
title: Upgrade to React Native 2.0
3
3
strat: react-native
4
4
---
5
5
6
-
If you're using `analytics-react-native 1.5.1` or older, follow these steps to migrate to `analytics-react-native 2.0`. You can continue to use your React Native source write key for the migration to view historical events. Additionally, with React Native 2.0, you don't need to leverage bundled SDK packages, but can use [this list of supported destinations](/docs/connections/sources/catalog/libraries/mobile/react-native#supported-destinations).
6
+
If you're using `analytics-react-native 1.5.1` or older, follow these steps to upgrade to `analytics-react-native 2.0`. You can continue to use your React Native source write key for the upgrade to view historical events. Additionally, with React Native 2.0, you don't need to leverage bundled SDK packages, but can use [this list of supported destinations](/docs/connections/sources/catalog/libraries/mobile/react-native#supported-destinations).
Copy file name to clipboardExpand all lines: src/personas/sql-traits.md
+37-37Lines changed: 37 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,24 +5,24 @@ title: Personas SQL Traits
5
5
6
6
7
7
8
-
SQL Traits allow you to import user or account traits from your data warehouse back into Personas to build audiences or to enhance Segment data that you send to other Destinations.
8
+
Use SQL Traits to import user or account traits from your data warehouse back into Personas to build audiences or to enhance Segment data that you send to other Destinations.
9
9
10
10
SQL Traits are only limited by the data in your warehouse. Because anything you can write a query for can become a SQL Trait, you can add detail to your user and account profiles, resulting in more nuanced personalization.
11
11
12
12
This unlocks some interesting possibilities to help you meet your business goals.
13
13
14
-
- To improve your support team's customer satisfaction score (CSAT), you can create a SQL Trait of the most common ticket requests for a customer's industry by joining data from cloud sources like Zendesk and Salesforce. The resulting SQL Trait helps you anticipate the user's problems and accelerate potential solutions.
15
-
- To determine if a user resides in a specific area, you can query address data in your warehouse and send it as a `true` or `false` Trait to a Personas audience.
16
-
- To fill gaps in your customer profiles to include information before you implemented Segment, you can import historical Traits from your warehouse.
17
-
- To predict a customer's lifetime value (LTV), you can generate a complex query based on demographic and customer data in your warehouse. You can then use that information in a Personas audience to send personalized offers or recommend specific products.
18
-
- To inform your outreach efforts, you can use complex queries to build churn or product adoption models.
14
+
- To improve your support team's customer satisfaction score (CSAT), create a SQL Trait of the most common ticket requests for a customer's industry by joining data from cloud sources like Zendesk and Salesforce. The resulting SQL Trait helps you anticipate the user's problems and accelerate potential solutions.
15
+
- To determine if a user resides in a specific area, query address data in your warehouse and send it as a `true` or `false` Trait to a Personas audience.
16
+
- To fill gaps in your customer profiles to include information before you implemented Segment, import historical Traits from your warehouse.
17
+
- To predict a customer's lifetime value (LTV), generate a complex query based on demographic and customer data in your warehouse. You can then use that information in a Personas audience to send personalized offers or recommend specific products.
18
+
- To inform your outreach efforts, use complex queries to build churn or product adoption models.
19
19
20
20
Check out Segment's [SQL Traits blog post](https://segment.com/blog/sql-traits){:target="_blank"} for more customer case studies.
21
21
22
22
23
23
### Example: Cloud Sources Sync
24
24
25
-
SQL Traits allow you to import data from [object cloud sources](/docs/connections/sources/#object-cloud-sources) like Salesforce, Stripe, Zendesk, Hubspot, Marketo, Intercom, and more. For example, you can bring in Salesforce Leads or Accounts, Zendesk ticket behavior, or Stripe LTV calculations.
25
+
SQL Traits allow you to import data from [object cloud sources](/docs/connections/sources/#object-cloud-sources) like Salesforce, Stripe, Zendesk, Hubspot, Marketo, Intercom, and more. For example, bring in Salesforce Leads or Accounts, Zendesk ticket behavior, or Stripe LTV calculations.
26
26
27
27
The two examples below show SQL queries you can use to retrieve cloud-source information from your warehouse.
28
28
@@ -52,7 +52,7 @@ This query computes whether a user has an open ticket:
52
52
```
53
53
54
54
55
-
## Setting up SQL traits
55
+
## Setting up SQL Traits
56
56
57
57
To use SQL Traits, you need the following:
58
58
@@ -65,9 +65,9 @@ To use SQL Traits, you need the following:
65
65
Segment supports Redshift, Postgres, Snowflake, Azure SQL, and BigQuery as data warehouse sources for SQL Traits. Note that the BigQuery setup process _requires_ a service user.
66
66
67
67
> info "Safeguard your data"
68
-
> For any warehouse, we recommend that you create a separate read-only user for building SQL Traits.
68
+
> For any warehouse, Segment recommends that you create a separate read-only user for building SQL Traits.
To connect BigQuery to Segment SQL Traits, follow these instructions to create a service account for Segment to use:
82
82
83
83
1. Navigate to the Google Developers Console.
84
84
85
85
2. Click the drop down to the left of the search bar and select the project that you want to connect.
86
86
87
-

87
+

88
88
89
89
> **Note**: If you don't see the project you want in the menu, click the account switcher in the upper right corner, and verify that you're logged in to the right Google account for the project.
90
90
91
91
3. Click the menu in the upper left and select **IAM & Admin**, then **Service accounts**.
92
92
93
-
5. Click **Create service account**.
93
+
5. Click **Create Service Account**.
94
94
95
-

95
+

96
96
97
97
6. Give the service account a name like `segment-sqltraits`.
98
98
99
99
7. Under **Project Role**, add _only_ the `BigQuery Data Viewer` and `BigQuery Job User` roles.
100
100
101
-

101
+

102
102
103
-

103
+

104
104
105
105
> IMPORTANT: Do not add any other roles to the service account. Adding other roles can prevent Segment from connecting to the account.
106
106
107
107
6. Click **Create Key**.
108
108
109
-

109
+

110
110
111
111
7. Select `JSON` and click **Create**.
112
112
113
-

113
+

114
114
115
115
A file with the key is saved to your computer. Save this; you'll need it to set up the warehouse source in the next step.
116
116
117
-

117
+

118
118
119
119
You're now ready to create a new BigQuery warehouse source, upload the JSON key you just downloaded, and complete the BigQuery setup.
120
120
@@ -124,35 +124,35 @@ Once your warehouse is up and running, follow these steps:
124
124
125
125
1. Navigate to the Personas settings (Personas > Settings tab > Warehouse Sources), and click **New Warehouse Source**.
126
126
127
-

127
+

128
128
129
129
2. Select the type of warehouse you're connecting.
130
130
131
-

131
+

132
132
133
133
3. In the next screen, provide the connection credentials, and click **Save**.
If you're connecting a BigQuery warehouse, use the JSON key file that you downloaded as the last step.
138
138
139
139
## Creating a SQL Trait
140
140
141
141
Before you create a SQL Trait, you must first preview it to validate your query. If you're new to SQL, try out one of the templates Segment offers.
142
142
143
-
### Preview the SQL trait
143
+
### Preview the SQL Trait
144
144
145
145
From the Personas screen, go to the Computed Traits tab, and click **New Computed Trait**. Next, choose SQL, and click **Configure**. Select the data warehouse that contains the data you want to query.
146
146
147
-
If you are sending data from [object cloud sources](/docs/connections/sources/#cloud-apps) to your warehouse, the SQL Traits UI has some pre-made templates you can try out.
147
+
If you're sending data from [object cloud sources](/docs/connections/sources/#cloud-apps) to your warehouse, the SQL Traits UI has some pre-made templates you can try out.
148
148
149
149

150
150
151
151
<!-- need to actually give a sample here -->
152
152
153
153
When you're building your query, keep the following requirements in mind for the data your query returns.
154
154
155
-
- The query must return a column with a `user_id`, `email`, or `anonymous_id` (or `group_id` for account traits, if you have Personas for B2B enabled). The query _cannot_ include values for both `user_id` and `anonymous_id`.
155
+
- The query must return a column with a `user_id`, `email`, or `anonymous_id` (or `group_id` for account traits, if you have Personas for B2B enabled). The query _cannot_ include values for both `user_id` and `anonymous_id`.
156
156
- The query must return at least one trait in addition to `user_id`/`anonymous_id`/`email`/`group_id`, and no more than 25 total columns.
157
157
- The query must not return any `user_id`s, `anonymous_id`s, or `group_id`s with a `null` value.
158
158
- The query must not return any records with duplicate `user_id`s.
@@ -162,7 +162,7 @@ When you're building your query, keep the following requirements in mind for the
162
162
A successful preview returns a sample of users and their traits.
163
163
If Segment recognizes a user already in Personas, it displays a green checkmark on their profile. Clicking the checkmark displays the user's profile. If a user has a question mark, Segment hasn't detected this `user_id` in Personas before.
164
164
165
-

165
+

166
166
167
167
168
168
### Configure SQL Trait options
@@ -177,13 +177,13 @@ If you're building Personas audiences from this data, select "Compute without en
177
177
178
178
Click **Create Computed Trait** to save the Trait.
179
179
180
-

180
+

181
181
Check **Compute without destinations** if you only want to send to Personas.
182
182
183
183
When you create a SQL Trait, Segment runs the query on the warehouse twice a day by default. You can customize the time at which Segment queries the data warehouse and the frequency, up to once per hour, from the SQL Trait's settings.
184
184
(If you're interested in a more frequent schedule, [contact Segment Support](https://segment.com/help/contact/){:target="_blank"}.)
185
185
186
-
For each row (user or account) in the query result, Personas sends an identify or group call with all the columns that were returned as Traits. For example, if you write a query that returns `user_id,has_open_ticket, num_tickets_90_days, avg_zendesk_rating_90days`we send an identify call with the following payload:
186
+
For each row (user or account) in the query result, Personas sends an identify or group call with all the columns that were returned as Traits. For example, if you write a query that returns `user_id,has_open_ticket, num_tickets_90_days, avg_zendesk_rating_90days`Segment sends an identify call with the following payload:
187
187
188
188
```sql
189
189
{
@@ -221,7 +221,7 @@ No. Personas only sends an identify/group call if the values in a row have chang
221
221
222
222
### I have a large (1M+) query of users to import, should I be worried?
223
223
224
-
If you're importing a large list of users and traits, you'll need to consider your API call usage as well as volume among the partners receiving your data. These vary depending on our partners, so [reach out to us](https://segment.com/help/contact/) for more information.
224
+
If you're importing a large list of users and traits, you'll need to consider your API call usage as well as volume among the partners receiving your data. These vary depending on our partners, so [reach out to Segment](https://segment.com/help/contact/){:target="_blank"} for more information.
225
225
226
226
### Is there a limit on the size of a SQL Trait's payload?
227
227
@@ -232,9 +232,9 @@ Yes, Segment limits request sizes to a maximum of 16kb. Records larger than this
232
232
### I'm getting a permissions error.
233
233
234
234
You might encounter a `permission denied for schema` error, like the following:
235
-

235
+

236
236
237
-
Segment usually displays this error because you're querying a schema and table that the current user cannot access. To check the table privileges for a specific grantee (user), go to [your warehouse source credentials in Personas](https://app.segment.com/goto-my-workspace/personas/settings/warehouse-sources/) to retrieve the user name.
237
+
Segment usually displays this error because you're querying a schema and table that the current user cannot access. To check the table privileges for a specific grantee (user), go to [your warehouse source credentials in Personas](https://app.segment.com/goto-my-workspace/personas/settings/warehouse-sources/){:target="_blank"} to retrieve the user name.
238
238
239
239
To grant access to a table, an admin usually needs to grant access to both a schema and table through the following similar commands:
240
240
@@ -249,13 +249,13 @@ Learn more about granting permissions using the following links:
249
249
250
250
### I'm seeing a maximum columns error.
251
251
252
-

252
+

253
253
254
-
Segment supports returning only 25 columns. [Contact us](https://segment.com/help/contact/) with a description of your use case if you need access to more than 25 columns.
254
+
Segment supports returning only 25 columns. [Contact Segment](https://segment.com/help/contact/){:target="_blank"} with a description of your use case if you need access to more than 25 columns.
255
255
256
256
### I'm seeing a duplicate `user_id` error.
257
257
258
-

258
+

259
259
260
260
Each query row must correspond to a unique user. Segment displays this error if it detects multiple rows with the same `user_id`. Use a `distinct` or `group by` statement to ensure that each row has a unique user_id.
261
261
@@ -265,10 +265,10 @@ Question marks in previews indicate one of two things:
265
265
266
266
**1. Segment doesn't recognize this `user_id`/`group_id` in Personas.**
267
267
268
-
In this case, for [sources connected to Personas](https://app.segment.com/goto-my-workspace/personas/settings/sources), Segment has not received any event (identify, track, page etc) with this `user_id`. This could still be a legitimate `user_id` for a number of reasons, but before syncing, make sure you rule out option two (below), as sending a different identifier as the `user_id` can corrupt your identity graph.
268
+
In this case, for [sources connected to Personas](https://app.segment.com/goto-my-workspace/personas/settings/sources){:target="_blank"}, Segment hasn't received any event (for example, identify, track, or page) with this `user_id`. This could still be a legitimate `user_id` for a number of reasons, but before syncing, make sure you rule out option two (below), as sending a different identifier as the `user_id` can corrupt your identity graph.
269
269
270
270
**2. You have the wrong `user_id` column.**
271
271
272
-
You might be returning a value for `user_id` that is inconsistent with how you track `user_id` elsewhere. Some customers want to return `email` as the `user_id`, or a partner's tool ID as the `user_id`. These conflict with Segment best practices and corrupt the identity graph if you then track `user_id` differently elsewhere in your apps.
272
+
You might be returning a value for `user_id` that's inconsistent with how you track `user_id` elsewhere. Some customers want to return `email` as the `user_id`, or a partner's tool ID as the `user_id`. These conflict with Segment best practices and corrupt the identity graph if you then track `user_id` differently elsewhere in your apps.
273
273
274
-
If you see only question marks in the preview, and have already tracked data historically with Segment, then you likely have the wrong column. If your cloud source doesn't have the database `user_id`, we recommend using a `JOIN` clause with an internal users table before sending the results back to Segment.
274
+
If you see only question marks in the preview, and have already tracked data historically with Segment, then you likely have the wrong column. If your cloud source doesn't have the database `user_id`, Segment recommends using a `JOIN` clause with an internal users table before sending the results back to Segment.
0 commit comments