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: docs/getting-started/gs-faqs.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -170,7 +170,7 @@ We do not make any promises about when the rotation takes place. To stay as up-t
170
170
171
171
#### Do refreshed emails get assigned to the same bucket with which they were previously associated?
172
172
173
-
Not necessarily. After you remap emails associated with a particular bucket ID, the emails might be assigned to a different bucket ID. To check the bucket ID, [call the mapping function](../guides/integration-advertiser-dataprovider-overview.md#retrieve-a-raw-uid2-for-dii) and save the returned UID2 and bucket ID again.
173
+
Not necessarily. After you remap emails associated with a particular bucket ID, the emails might be assigned to a different bucket ID. To check the bucket ID, [call the mapping function](../guides/integration-advertiser-dataprovider-overview.md#generate-a-raw-uid2-for-dii) and save the returned UID2 and bucket ID again.
174
174
175
175
:::info
176
176
When mapping and remapping emails, do not make any assumptions about the number of buckets, their rotation dates, or the specific bucket that an email gets assigned to.
@@ -208,7 +208,7 @@ In general yes, the process of generating a raw UID2 from DII is the same, and r
208
208
209
209
However, there is a variable factor, which is the <Linkhref="../ref-info/glossary-uid#gl-salt">salt</Link> value that's used in generating the raw UID2. The salt values are rotated roughly once per year (for details, see [How often should UID2s be refreshed for incremental updates?](#how-often-should-uid2s-be-refreshed-for-incremental-updates)). If the salt value changes between one request and another, those two requests result in two different raw UID2, even when the DII is the same.
210
210
211
-
For more information, see [Monitor for salt bucket rotations related to your stored raw UID2s](../guides/integration-advertiser-dataprovider-overview.mdmonitor-for-salt-bucket-rotations-related-to-your-stored-raw-uid2s) in the *Advertiser/Data Provider Integration Guide*.
211
+
For more information, see [Monitor for salt bucket rotations related to your stored raw UID2s](../guides/integration-advertiser-dataprovider-overview.md#monitor-for-salt-bucket-rotations-related-to-your-stored-raw-uid2s) in the *Advertiser/Data Provider Integration Guide*.
212
212
213
213
#### If two operators process the same DII, are the results the same?
Updated 12/23/24 to split out Advertiser/Data Provider overview diagram vs endpoints diagram.
2
+
3
+
URL: https://mermaid.live/edit
4
+
5
+
6
+
<!-- 12/23/24: Code:
7
+
8
+
sequenceDiagram
9
+
participant ADP as Advertuser/Data Provider
10
+
participant UID2 as UID2 Operator
11
+
participant DSP
12
+
loop 1. Generate a raw UID2 from DII.
13
+
ADP->>UID2: 1-a. Send a request containing DII using an SDK, raw HTTP endpoint, Snowflake, or AWS Entity Resolution.
14
+
UID2->>ADP: 1-b. Store the raw UID2 and salt bucket ID.
15
+
end
16
+
ADP-->>DSP: 2. Manipulate or combine raw UID2s, then send to DSPs to create audiences and conversions.
17
+
18
+
loop 3. Monitor for salt bucket rotations related to your stored raw UID2s.
19
+
ADP->>UID2: 3-a. Monitor salt bucket rotations using an SDK, raw HTTP endpoint, or Snowflake.
20
+
UID2->>ADP: 3-b. Receive salt buckets rotated since a specified timestamp.
21
+
ADP->>UID2: 3-c. Compare the rotated salt buckets to the stored UID2 salt buckets.<br>If salt bucket ID has changed, resend DII for a new raw UID2.
22
+
UID2->>ADP: 3-d. Store the new raw UID2 and salt bucket ID.
23
+
end
24
+
loop 4. Monitor for opt-out status.
25
+
ADP->>UID2: 4-a. Send a request to the POST /optout/status endpoint.
26
+
UID2->>ADP: 4-b. Receive updated optout status. For any new opt-outs, remove the stored raw UID2 and salt bucket ID.
27
+
end
28
+
29
+
-->
30
+
31
+
<!-- Config:
32
+
33
+
{
34
+
"theme": "forest"
35
+
}
36
+
37
+
-->
38
+
39
+
<!-- 8/30/24: Code:
40
+
41
+
sequenceDiagram
42
+
participant DP as Data Provider
43
+
participant UID2 as UID2 Operator
44
+
participant DSP
45
+
loop 1. Retrieve a UID2 for DII using the identity map endpoint.
46
+
DP->>UID2: 1-a. Send a request containing DII to the identity mapping endpoints.
47
+
UID2->>DP: 1-b. Store the raw UID2 and salt bucket returned from the identity mapping service.
48
+
end
49
+
DP-->>DSP: 2. Send stored UID2s to DSPs to create audiences and conversions.
50
+
51
+
loop 3. Monitor for salt bucket rotations related to your stored raw UID2s.
52
+
DP->>UID2: 3-a. Monitor salt bucket rotations using the bucket service.
53
+
UID2->>DP: 3-b. Return salt buckets rotated since a specified timestamp.
54
+
DP->>UID2: 3-c. Compare the rotated salt buckets to the stored UID2 salt buckets.<br>If rotated, resend DII to identity mapping service for a new raw UID2.
55
+
UID2->>DP: 3-d. Store the raw UID2 and the salt bucket returned from the identity mapping service.
@@ -34,7 +34,7 @@ The steps for advertisers and data providers integrating with UID2 by calling th
34
34
35
35
1. Generate a raw UID2 from <Linkhref="../ref-info/glossary-uid#gl-dii">directly identifying information (DII)</Link>, or receive UID2s from another UID2 participant such as a data provider acting on your behalf.
36
36
37
-
**Instructions**: see [Retrieve a raw UID2 for DII](#retrieve-a-raw-uid2-for-dii).
37
+
**Instructions**: see [Retrieve a raw UID2 for DII](#generate-a-raw-uid2-for-dii).
38
38
39
39
2. Use the UID2s you received in Step 1. For example, you might do one or more of the following:
40
40
- Do some manipulation: for example, combine UID2s you generated from DII and UID2s received from another participant such as an advertiser or data provider.
@@ -58,14 +58,14 @@ The steps for advertisers and data providers integrating with UID2 by calling th
58
58
59
59
6. Periodically, monitor for opt-out status, to be sure that you don't continue using UID2s for users that have recently opted out.
60
60
61
-
**Instructions**: See [Check Opt-Out Status](#check-opt-out-status).
61
+
**Instructions**: See [Monitor for Opt-Out Status](#monitor-for-opt-out-status).
62
62
63
-
### Retrieve a raw UID2 for DII
63
+
### Generate a raw UID2 for DII
64
64
65
65
| Step | Endpoint | Description |
66
66
| --- | --- | --- |
67
67
| 1-a |[POST /identity/map](../endpoints/post-identity-map.md) request | Send a request containing DII to the identity mapping endpoint. |
68
-
| 1-b |[POST /identity/map](../endpoints/post-identity-map.md) response | The `advertising_id` (raw UID2) returned in the response can be used to target audiences on relevant DSPs.<br/>The response returns a user's raw UID2 and the corresponding `bucket_id` for the salt bucket. The salt assigned to the bucket rotates annually, which impacts the generated raw UID2. For details on how to check for salt bucket rotation, see [3: Monitor for salt bucket rotations](monitor-for-salt-bucket-rotations-related-to-your-stored-raw-uid2s).<br/>For ease of maintenance, a recommended approach is to store a user's raw UID2 and `bucket_id` in a mapping table. For guidance on incremental updates, see [Use an incremental process to continuously update raw UID2s](#use-an-incremental-process-to-continuously-update-raw-uid2s). |
68
+
| 1-b |[POST /identity/map](../endpoints/post-identity-map.md) response | The `advertising_id` (raw UID2) returned in the response can be used to target audiences on relevant DSPs.<br/>The response returns a user's raw UID2 and the corresponding `bucket_id` for the salt bucket. The salt assigned to the bucket rotates annually, which impacts the generated raw UID2. For details on how to check for salt bucket rotation, see [3: Monitor for salt bucket rotations](#monitor-for-salt-bucket-rotations-related-to-your-stored-raw-uid2s).<br/>For ease of maintenance, a recommended approach is to store a user's raw UID2 and `bucket_id` in a mapping table. For guidance on incremental updates, see [Use an incremental process to continuously update raw UID2s](#use-an-incremental-process-to-continuously-update-raw-uid2s). |
69
69
70
70
### Send stored raw UID2s to DSPs to create audiences or conversions
71
71
@@ -91,14 +91,14 @@ To help ensure that your integration has the current raw UID2s, check salt bucke
91
91
92
92
To keep your UID2-based audience information accurate and up to date, follow these integration steps every day:
93
93
94
-
1. The response from the [UID2 retrieval step](#retrieve-a-raw-uid2-for-dii) contains mapping information. Cache the following:
94
+
1. The response from the [UID2 retrieval step](#generate-a-raw-uid2-for-dii) contains mapping information. Cache the following:
95
95
- The mapping between DII (`identifier`), raw UID2 (`advertising_id`), and salt bucket (`bucket_id`).
96
96
- The most recent `last_updated` timestamp.
97
-
2. Using the results from Step 3, [Monitor for salt bucket rotations related to your stored raw UID2s](monitor-for-salt-bucket-rotations-related-to-your-stored-raw-uid2s), remap any raw UID2 for which the salt buckets have been rotated by retrieving new raw UID2 for those IDs, following Step 1, [Retrieve a raw UID2 for DII](#retrieve-a-raw-uid2-for-dii).
97
+
2. Using the results from Step 3, [Monitor for salt bucket rotations related to your stored raw UID2s](#monitor-for-salt-bucket-rotations-related-to-your-stored-raw-uid2s), remap any raw UID2 for which the salt buckets have been rotated by retrieving new raw UID2 for those IDs, following Step 1, [Retrieve a raw UID2 for DII](#generate-a-raw-uid2-for-dii).
98
98
99
99
Then, use the refreshed UID2s to update audiences or conversions, following Step 2, [send raw UID2 to a DSP](#send-stored-raw-uid2s-to-dsps-to-create-audiences-or-conversions).
100
100
101
-
## Check Opt-Out Status
101
+
## Monitor for Opt-Out Status
102
102
103
103
It's important to honor user opt-out status. Here are two ways you can check that you have the latest opt-out information:
0 commit comments