Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3018c0d

Browse files
authored
Merge branch 'master' into develop
2 parents db1b78e + 970462a commit 3018c0d

File tree

8 files changed

+566
-9
lines changed

8 files changed

+566
-9
lines changed

src/_data/sidenav/main.yml

+19
Original file line numberDiff line numberDiff line change
@@ -281,6 +281,25 @@ sections:
281281
title: Settings
282282
- path: /profiles/identity-resolution/ecommerce-example
283283
title: E-Commerce Example
284+
- section_title: Profiles Sync
285+
slug: profiles/profiles-sync
286+
section:
287+
- path: /profiles/profiles-sync
288+
title: Setup
289+
- path: /profiles/profiles-sync/sample-queries
290+
title: Sample Queries
291+
- path: /profiles/profiles-sync/tables
292+
title: Tables & Materialized Views
293+
- path: /profiles/profile-api
294+
title: Profile API
295+
- path: /profiles/profile-api-limits
296+
title: Profile API Limits
297+
- path: /profiles/debugger
298+
title: Profile Debugger
299+
- path: /profiles/profiles-gdpr
300+
title: Profiles and GDPR
301+
- path: /profiles/faqs
302+
title: Profiles FAQs
284303
- path: /profiles/profile-api
285304
title: Profile API
286305
- path: /profiles/profile-api-limits

src/_sass/components/_markdown.scss

+6
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,12 @@
245245
tr {
246246
border: 1px solid color(gray-300);
247247
}
248+
th > code {
249+
color: #696f8c;
250+
font-weight: 600;
251+
font-size: 10px;
252+
background-color: inherit;
253+
}
248254
}
249255

250256
table.settings {

src/engage/faqs.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,14 @@ The audience in the image below includes all users that have Product Added in th
6666
> info ""
6767
> Funnel Audiences compute based on all instances of the parent event within the lookback period. This means that if you have a user that Product Added ⟶ Order Completed ⟶ Product Added, this user would be entered into the Abandoned Cart state despite having previously completed an order.
6868
69-
<!--PW 9/6/22 ## What is Engage Merge Protection?
69+
## What is Engage Merge Protection?
7070
Engage merge protection algorithm protects your identity graph from unnecessary merges by finding and removing untrusted external IDs. Here's an example:
7171

7272
![Merge protection](images/merge_protection.png "An image representing the merge protection flow")
7373

7474
In this example, `anonymous_id: a1` is not reset during a `User Logout`. Without merge protection rules, Segment would merge `user_id u1` and `user_id u2`. Instead, the identity resolution algorithm detects that such a merge would break `user_id` uniqueness and prevents the merge.
7575

76-
This is especially helpful for preventing "blob users" that are merged together by non-unique anonymous IDs or by common group emails like `[email protected]`. -->
76+
This is especially helpful for preventing "blob users" that are merged together by non-unique anonymous IDs or by common group emails like `[email protected]`.
7777

7878
## Which destinations support syncing the identity graph?
7979
Most destinations on the Segment Platform are built up around a user model. They assume that a user will have a single userId. Further, most Destinations are not built to handle anonymous traffic.

src/profiles/faqs.md

+5-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ Identity Graph automatically collects a rich set of external IDs without any add
1717

1818
If you want Identity Graph to operate on a different custom ID, you can pass it in using `context.externalIds` on an `identify()` or `track()`. If you're interested in this feature, contact your CSM to discuss the best way to implement this feature.
1919

20-
<!--PW 9/6/22
2120
## How does Profiles handle identity merging?
2221
Each incoming event is analyzed and external IDs are extracted (`user_id`, `anonymous_id`, `email`). The simplified algorithm works as follows:
2322

@@ -27,11 +26,15 @@ Each incoming event is analyzed and external IDs are extracted (`user_id`, `anon
2726
4. If Segment finds multiple matching profiles, Segment applies the identity resolution settings for merge protection. Specifically, Segment uses identifier limits and priorities to add the correct identifiers to the profile.
2827
5. Segment then applies [Profile limits](/docs/profiles/profile-api-limits/) to ensure profiles remain under these limits. Segment doesn't add any further merges or mappings if the profile is at either limit, but event resolution for the profile will continue.
2928

29+
{% comment %}
30+
3031
![Identity graph merging](images/merging_1.png "Flowchart of Segment receiving an incoming event")
3132

3233
![Identity graph merging](images/merging_2.png "Flowchart of Segment searching for profiles by external ID")
3334

34-
![Identity graph merging](images/merging_3.png "Flowchart of Segment merging profiles") -->
35+
![Identity graph merging](images/merging_3.png "Flowchart of Segment merging profiles")
36+
37+
{% endcomment %}
3538

3639
## Is all matching deterministic, or is there any support for probabilistic matching?
3740
All Profile matching is deterministic and based on first-party data that you've collected.

src/profiles/profile-api-limits.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ redirect_from:
1515

1616
## Identity
1717

18-
| name | Limit | Details |
19-
| ----------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
20-
| Identity Merges | 100 merges | Engage 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. |
21-
| Identity Mappings | 1000 mappings | Engage 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. |
22-
| Identify calls | 300 traits | Engage 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. |
18+
| name | Limit | Details |
19+
| ----------------- | ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
20+
| Identity Merges | 100 merges | Engage 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. No additional merges will be added once the profile reaches this limit. Event resolution for the profile, however, will continue. |
21+
| Identity Mappings | 1000 mappings | Engage 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. No additional mappings will be added once the profile reaches this limit. Event resolution for the profile, however, will continue. |
22+
| Identify calls | 300 traits | Engage 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. |

src/profiles/profiles-sync/index.md

+117
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
---
2+
title: Profiles Sync Setup
3+
beta: true
4+
plan: profiles
5+
---
6+
7+
> info "Profiles Sync Beta"
8+
> Profiles Sync is in beta and Segment is actively working on this feature. Segment's [First-Access and Beta terms](https://segment.com/legal/first-access-beta-preview/) govern this feature. To learn more, reach out to your CSM, AE, or SE.
9+
10+
Profiles Sync connects identity-resolved customer profiles to a data warehouse of your choice.
11+
12+
With a continual flow of synced Profiles, teams can enrich and use these data sets as the basis for new audiences and models. Profiles Sync addresses a number of use cases, with applications for machine learning, identity graph monitoring, and attribution analysis. View [Profiles Sync Sample Queries](/docs/profiles/profiles-sync/sample-queries) for an in-depth guide to Profiles Sync applications.
13+
14+
On this page, you’ll learn how to set up Profiles Sync, enable historical backfill, and adjust settings for warehouses that you’ve connected to Profiles Sync.
15+
16+
## Initial Profiles Sync setup
17+
18+
> info "Identity Resolution Setup"
19+
> To use Profiles Sync, you must first set up [Identity Resolution](/docs/profiles/identity-resolution/).
20+
21+
To set up Profiles Sync, you’ll first create a warehouse, then connect the warehouse within the Segment app.
22+
23+
Before you begin, prepare for setup with these tips:
24+
25+
- To connect your warehouse to Segment, you must have read and write permissions with the warehouse Destination you choose.
26+
- During Step 2, you’ll copy credentials between Segment and your warehouse Destination. To streamline setup, open your Segment workspace in one browser tab and open another with your warehouse account.
27+
- Make sure to copy any IP addresses Segment asks you to allowlist in your warehouse Destination.
28+
29+
### Step 1: Create a warehouse
30+
31+
You’ll first choose the Destination warehouse to which Segment will sync Profiles. Profiles Sync supports the Snowflake, Redshift, BigQuery, Azure, and Postgres warehouse Destinations. Your initial setup will depend on the warehouse you choose.
32+
33+
The following table shows the supported Profiles Sync warehouse Destinations and the corresponding required steps for each. Select a warehouse, view its Segment documentation, then carry out the warehouse’s required steps before moving to Step 2 of Profiles Sync setup:
34+
35+
| Warehouse Destination | Required steps |
36+
| ------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
37+
| [Snowflake](/docs/connections/storage/catalog/snowflake/#getting-started) | 1. Create virtual warehouse. <br> 2. Create a database. <br> 3. Create role for Segment. <br> 4. Create user for Segment. <br> 5. Test the user and credentials. |
38+
| [Redshift](/docs/connections/storage/catalog/redshift/#getting-started) | 1. Choose an instance. <br> 2. Provision a new Redshift cluster. |
39+
| [BigQuery](/docs/connections/storage/catalog/bigquery/) | 1. Create a project and enable BigQuery. <br> 2. Create a service account for Segment. |
40+
| [Azure](/docs/connections/storage/catalog/azuresqldw/) | 1. Sign up for an Azure subscription. <br> 2. Provision a dedicated SQL pool. |
41+
| [Postgres](/docs/connections/storage/catalog/postgres/) | 1. Follow the steps in the [Postgres getting started](/docs/connections/storage/catalog/postgres/) section. |
42+
43+
Once you’ve finished the required steps for your chosen warehouse, you’re ready to connect your warehouse to Segment. Because you’ll next enter credentials from the warehouse you just created, **leave the warehouse tab open to streamline setup.**
44+
45+
### Step 2: Connect the warehouse and enable Profiles Sync
46+
47+
With your warehouse configured, you can now connect it to Segment.
48+
49+
During this step, you’ll copy credentials from the warehouse you just set up and enter them into the Segment app. The specific credentials you’ll enter depend on the warehouse you chose during Step 1.
50+
51+
Segment may also display IP addresses you’ll need to allowlist in your warehouse. Make sure to copy the IP addresses and enter them into your warehouse account.
52+
53+
Follow these steps to connect your warehouse:
54+
55+
1. In your Segment workspace, navigate to **Profiles > Profiles Sync**.
56+
2. Select **Add warehouse**, choose the warehouse you just set up, then select **Next**.
57+
3. Segment shows an IP address to allowlist. Copy it to your warehouse Destination.
58+
4. Segment prompts you to enter specific warehouse credentials. Enter them, then select **Test Connection**.
59+
5. If the connection test succeeds, Segment enables the **Next** button. Select it.
60+
* If the connection test fails, verify that you’ve correctly entered the warehouse credentials, then try again.
61+
6. Select **Next** on the **Sync schedule** page. Segment displays the Profiles Sync overview page.
62+
63+
At this point, Segment enables live syncs for your account.
64+
65+
#### Using historical backfill
66+
67+
Profiles Sync sends Profiles to your warehouse on an hourly basis, beginning after you complete setup. You can use backfill, however, to sync historical Profiles to your warehouse, as well.
68+
69+
By default, Segment includes identity graph updates, external ID mapping tables, and two months of the events table in the initial warehouse sync made during setup. Reach out to Segment support if your use case exceeds the scope of the initial setup backfill.
70+
71+
## Working with synced warehouses
72+
73+
<!-- add transition line here -->
74+
75+
### Monitor Profiles Sync
76+
77+
You can view warehouse sync information in the overview section of the Profiles Sync page. Segment displays the dates and times of the last and next syncs, as well as your sync frequency.
78+
79+
In the Syncs table, you’ll find reports on individual syncs. Segment lists your most recent syncs first. The following table shows the information Segment tracks for each sync:
80+
81+
| DATA TYPE | DEFINITION |
82+
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
83+
| Sync status | - `Success`, which indicates that all rows synced correctly; <br> - `Partial success`, indicating that some rows synced correctly <br> - `Failed`, indicating that no rows synced correctly |
84+
| Duration | Length of sync time, in minutes |
85+
| Start time | The date and time when the sync began |
86+
| Synced rows | The number of rows synced to the warehouse |
87+
88+
Selecting a row from the Syncs table opens a pane that contains granular sync information. In this view, you’ll see the sync’s status, duration, and start time. Segment also displays a nuanced breakdown of the total rows synced, sorting them into identity graph tables, event type tables, and event tables.
89+
90+
If the sync failed, Segment shows any available error messages in the sync report.
91+
92+
### Settings and maintenance
93+
94+
The **Settings** tab of the Profiles Sync page contains tools that can help you monitor and maintain your synced warehouse.
95+
96+
#### Disable or delete a warehouse
97+
98+
In the **Basic settings** tab, you can disable warehouse syncs or delete your connected warehouse altogether.
99+
100+
To disable syncs, toggle **Sync status** to off. Segment retains your warehouse credentials but stops further Profiles syncs. Toggle Sync status back on at any point to continue syncs.
101+
102+
To delete your warehouse, toggle **Sync status** to off, then select **Delete warehouse**. Segment doesn’t retain credentials for deleted warehouses; to reconnect a deleted warehouse, you must set it up as a new warehouse.
103+
104+
#### Connection settings
105+
106+
In the **Connection settings** tab, you can verify your synced warehouse’s credentials and view IP addresses you’ll need to allowlist so that Segment can successfully sync Profiles.
107+
108+
If you have write access, you can verify that your warehouse is successfully connected to Segment by entering your password and then selecting **Test Connection**.
109+
110+
> info "Changing your synced warehouse"
111+
> If you’d like to change the warehouse connected to Profiles Sync, [reach out to Segment support](https://segment.com/help/contact/).
112+
113+
<!-- Verify that this doesn't need to be changed -->
114+
115+
#### Sync schedule
116+
117+
Segment supports hourly syncs.

0 commit comments

Comments
 (0)