Skip to content

Commit 2b5af82

Browse files
committed
updates to Adv/DP integrate to endpoints doc
1 parent ad317ab commit 2b5af82

File tree

6 files changed

+79
-62
lines changed

6 files changed

+79
-62
lines changed

docs/getting-started/gs-faqs.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ We do not make any promises about when the rotation takes place. To stay as up-t
170170

171171
#### Do refreshed emails get assigned to the same bucket with which they were previously associated?
172172

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#1-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#retrieve-a-raw-uid2-for-dii) and save the returned UID2 and bucket ID again.
174174

175175
:::info
176176
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
208208

209209
However, there is a variable factor, which is the <Link href="../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.
210210

211-
For more information, see [Monitor for salt bucket rotations related to your stored raw UID2s](../guides/integration-advertiser-dataprovider-overview.md#3-monitor-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.mdmonitor-for-salt-bucket-rotations-related-to-your-stored-raw-uid2s) in the *Advertiser/Data Provider Integration Guide*.
212212

213213
#### If two operators process the same DII, are the results the same?
214214

docs/guides/integration-advertiser-dataprovider-endpoints.md

Lines changed: 42 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Advertiser/Data Provider Integration Directly to HTTP Endpoints
2+
title: Advertiser/Data Provider Integration to HTTP Endpoints
33
sidebar_label: HTTP Endpoints
44
description: Integration for organizations that collect user data and push it to other participants, coding to HTTP endpoints rather than an SDK or Snowflake.
55
hide_table_of_contents: false
@@ -9,53 +9,69 @@ displayed_sidebar: sidebarAdvertisers
99

1010
import Link from '@docusaurus/Link';
1111

12-
# Advertiser/Data Provider Integration Directly to HTTP Endpoints
12+
# Advertiser/Data Provider Integration to HTTP Endpoints
1313

1414
This guide covers integration steps for advertisers and data providers to integrate with UID2 by writing code to call UID2 HTTP endpoints, rather than using another implementation options such as an SDK, Snowflake, or AWS Entity Resolution.
1515

1616
:::tip
1717
For a summary of all integration options and steps for advertisers and data providers, see [Advertiser/Data Provider Integration Overview](integration-advertiser-dataprovider-overview.md).
1818
:::
1919

20-
### High-Level Steps
20+
## Integration Diagram
21+
22+
The following diagram outlines the steps that data collectors must complete to map DII to raw UID2s for audience building and targeting.
23+
24+
DII refers to a user's normalized email address or phone number, or the normalized and SHA-256-hashed email address or phone number.
25+
26+
![Advertiser Flow](images/advertiser-flow-mermaid.png)
27+
28+
<!-- diagram source: resource/advertiser-flow-mermaid.md.bak -->
29+
2130

22-
At a high level, the steps for advertisers and data providers integrating with UID2 are as follows:
31+
## Detailed Steps
32+
33+
The steps for advertisers and data providers integrating with UID2 by calling the HTTP endpoints are given in the following sections:
2334

2435
1. Generate a raw UID2 from <Link href="../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.
2536

26-
1. Use the UID2s you received in Step 1. For example, you might do one or more of the following:
37+
**Instructions**: see [Retrieve a raw UID2 for DII](#retrieve-a-raw-uid2-for-dii).
38+
39+
2. Use the UID2s you received in Step 1. For example, you might do one or more of the following:
2740
- Do some manipulation: for example, combine UID2s you generated from DII and UID2s received from another participant such as an advertiser or data provider.
2841
- Add new UID2s into an existing audience.
2942

30-
1. Use the raw UID2s for some purpose such as measurement.
43+
**Instructions**: This step is is out of band and entirely up to you.
3144

32-
## Integration Diagram
45+
3. Use the raw UID2s for some purpose such as:
46+
- Send stored raw UID2s to DSPs to create audiences and conversions.
47+
- Use the raw UID2s for measurement.
3348

34-
The following diagram outlines the steps that data collectors must complete to map DII to raw UID2s for audience building and targeting.
49+
**Instructions**: see [Send stored raw UID2s to DSPs to create audiences or conversions](#send-stored-raw-uid2s-to-dsps-to-create-audiences-or-conversions).
3550

36-
DII refers to a user's normalized email address or phone number, or the normalized and SHA-256-hashed email address or phone number.
51+
4. Store the raw UID2 and the salt bucket ID returned from the identity mapping service.
3752

38-
![Advertiser Flow](images/advertiser-flow-mermaid.png)
53+
**Instructions**: This step is is out of band and entirely up to you.
3954

40-
<!-- diagram source: resource/advertiser-flow-mermaid.md.bak -->
55+
5. Monitor for salt bucket rotations related to your stored raw UID2s.
56+
57+
**Instructions**: See [Monitor for salt bucket rotations related to your stored raw UID2s](integration-advertiser-dataprovider-overview.md#monitor-for-salt-bucket-rotations-related-to-your-stored-raw-uid2s).
58+
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.
4160

42-
Refer to the following sections for details about the different parts of the diagram:
43-
1. [Retrieve a raw UID2 for DII](#1-retrieve-a-raw-uid2-for-dii)
44-
2. [Send stored raw UID2s to DSPs to create audiences or conversions](#2-send-stored-raw-uid2s-to-dsps-to-create-audiences-or-conversions)
45-
3. [Monitor for salt bucket rotations related to your stored raw UID2s](#3-monitor-for-salt-bucket-rotations-related-to-your-stored-raw-uid2s)
61+
**Instructions**: See [Check Opt-Out Status](#check-opt-out-status).
4662

47-
### 1: Retrieve a raw UID2 for DII
63+
### Retrieve a raw UID2 for DII
4864

4965
| Step | Endpoint | Description |
5066
| --- | --- | --- |
5167
| 1-a | [POST&nbsp;/identity/map](../endpoints/post-identity-map.md) request | Send a request containing DII to the identity mapping endpoint. |
52-
| 1-b | [POST&nbsp;/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](#3-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&nbsp;/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). |
5369

54-
### 2: Send stored raw UID2s to DSPs to create audiences or conversions
70+
### Send stored raw UID2s to DSPs to create audiences or conversions
5571

5672
Send the `advertising_id` (raw UID2) returned in Step 1-b to a DSP while building your audiences. Each DSP has a unique integration process for building audiences; follow the integration guidance provided by the DSP for sending raw UID2s to build an audience.
5773

58-
### 3: Monitor for salt bucket rotations related to your stored raw UID2s
74+
### Monitor for salt bucket rotations related to your stored raw UID2s
5975
A raw UID2 is an identifier for a user at a specific moment in time. The raw UID2 for a specific user changes at least once per year, as a result of the salt rotation.
6076

6177
Even though each salt bucket is updated approximately once per year, individual bucket updates are spread over the year. Approximately 1/365th of all salt buckets are rotated daily.
@@ -66,21 +82,21 @@ To help ensure that your integration has the current raw UID2s, check salt bucke
6682

6783
| Step | Endpoint | Description |
6884
| --- | --- | --- |
69-
| 3-a | [POST&nbsp;/identity/buckets](../endpoints/post-identity-buckets.md) | Send a request to the bucket status endpoint for all salt buckets that have changed since a specific timestamp. |
70-
| 3-b | [POST&nbsp;/identity/buckets](../endpoints/post-identity-buckets.md) | UID2 service: The bucket status endpoint returns a list of `bucket_id` and `last_updated` timestamps. |
71-
| 3-c | [POST&nbsp;/identity/map](../endpoints/post-identity-map.md) | Compare the returned `bucket_id` to the salt buckets of raw UID2s that you've cached.<br/>If you find that the salt bucket was updated for one or more raw UID2s, re-send the DII to the identity mapping service for a new raw UID2. |
72-
| 3-d | [POST&nbsp;/identity/map](../endpoints/post-identity-map.md) | Store the new values returned for `advertising_id` and `bucket_id`. |
85+
| 5-a | [POST&nbsp;/identity/buckets](../endpoints/post-identity-buckets.md) | Send a request to the bucket status endpoint for all salt buckets that have changed since a specific timestamp. |
86+
| 5-b | [POST&nbsp;/identity/buckets](../endpoints/post-identity-buckets.md) | UID2 service: The bucket status endpoint returns a list of `bucket_id` and `last_updated` timestamps. |
87+
| 5-c | [POST&nbsp;/identity/map](../endpoints/post-identity-map.md) | Compare the returned `bucket_id` to the salt buckets of raw UID2s that you've cached.<br/>If you find that the salt bucket was updated for one or more raw UID2s, re-send the DII to the identity mapping service for a new raw UID2. |
88+
| 5-d | [POST&nbsp;/identity/map](../endpoints/post-identity-map.md) | Store the new values returned for `advertising_id` and `bucket_id`. |
7389

7490
## Use an Incremental Process to Continuously Update Raw UID2s
7591

7692
To keep your UID2-based audience information accurate and up to date, follow these integration steps every day:
7793

78-
1. The response from the [UID2 retrieval step](#1-retrieve-a-raw-uid2-for-dii) contains mapping information. Cache the following:
94+
1. The response from the [UID2 retrieval step](#retrieve-a-raw-uid2-for-dii) contains mapping information. Cache the following:
7995
- The mapping between DII (`identifier`), raw UID2 (`advertising_id`), and salt bucket (`bucket_id`).
8096
- The most recent `last_updated` timestamp.
81-
2. Using the results from Step 3, [Monitor for salt bucket rotations related to your stored raw UID2s](#3-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](#1-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](#retrieve-a-raw-uid2-for-dii).
8298

83-
Then, use the refreshed UID2s to update audiences or conversions, following Step 2, [send raw UID2 to a DSP](#2-send-stored-raw-uid2s-to-dsps-to-create-audiences-or-conversions).
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).
84100

85101
## Check Opt-Out Status
86102

docs/guides/integration-advertiser-dataprovider-overview.md

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -76,22 +76,23 @@ DII refers to a user's normalized email address or phone number, or the normaliz
7676
<!-- diagram source: resource/advertiser-flow-mermaid.md.bak -->
7777

7878
Refer to the following sections for details about the different parts of the diagram:
79-
1. [Retrieve a raw UID2 for DII](#1-retrieve-a-raw-uid2-for-dii)
80-
2. [Send stored raw UID2s to DSPs to create audiences or conversions](#2-send-stored-raw-uid2s-to-dsps-to-create-audiences-or-conversions)
81-
3. [Monitor for salt bucket rotations related to your stored raw UID2s](#3-monitor-for-salt-bucket-rotations-related-to-your-stored-raw-uid2s)
79+
1. [Retrieve a raw UID2 for DII](#retrieve-a-raw-uid2-for-dii)
80+
2. [Send stored raw UID2s to DSPs to create audiences or conversions](#send-stored-raw-uid2s-to-dsps-to-create-audiences-or-conversions)
81+
3. [Monitor for salt bucket rotations related to your stored raw UID2s](monitor-for-salt-bucket-rotations-related-to-your-stored-raw-uid2s)
8282

83-
### 1: Retrieve a raw UID2 for DII
83+
### Retrieve a raw UID2 for DII
8484

8585
| Step | Endpoint | Description |
8686
| --- | --- | --- |
8787
| 1-a | [POST&nbsp;/identity/map](../endpoints/post-identity-map.md) request | Send a request containing DII to the identity mapping endpoint. |
88-
| 1-b | [POST&nbsp;/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](#3-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). |
88+
| 1-b | [POST&nbsp;/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). |
8989

90-
### 2: Send stored raw UID2s to DSPs to create audiences or conversions
90+
### Send stored raw UID2s to DSPs to create audiences or conversions
9191

9292
Send the `advertising_id` (raw UID2) returned in Step 1-b to a DSP while building your audiences. Each DSP has a unique integration process for building audiences; follow the integration guidance provided by the DSP for sending raw UID2s to build an audience.
9393

94-
### 3: Monitor for salt bucket rotations related to your stored raw UID2s
94+
### Monitor for salt bucket rotations related to your stored raw UID2s
95+
9596
A raw UID2 is an identifier for a user at a specific moment in time. The raw UID2 for a specific user changes at least once per year, as a result of the salt rotation.
9697

9798
Even though each salt bucket is updated approximately once per year, individual bucket updates are spread over the year. Approximately 1/365th of all salt buckets are rotated daily.
@@ -111,12 +112,12 @@ To help ensure that your integration has the current raw UID2s, check salt bucke
111112

112113
To keep your UID2-based audience information accurate and up to date, follow these integration steps every day:
113114

114-
1. The response from Step 1, [Retrieve a raw UID2 for DII](#1-retrieve-a-raw-uid2-for-dii), contains mapping information. Cache the following:
115+
1. The response from Step 1, [Retrieve a raw UID2 for DII](#retrieve-a-raw-uid2-for-dii), contains mapping information. Cache the following:
115116
- The mapping between DII (`identifier`), raw UID2 (`advertising_id`), and salt bucket (`bucket_id`).
116117
- The most recent `last_updated` timestamp.
117-
2. Using the results from Step 3, [Monitor for salt bucket rotations related to your stored raw UID2s](#3-monitor-for-salt-bucket-rotations-related-to-your-stored-raw-uid2s):
118-
1. 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](#1-retrieve-a-raw-uid2-for-dii).
119-
2. Use the refreshed UID2s to update audiences or conversions, following Step 2, [Send stored raw UID2s to DSPs to create audiences or conversions](#2-send-stored-raw-uid2s-to-dsps-to-create-audiences-or-conversions).
118+
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):
119+
1. 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).
120+
2. Use the refreshed UID2s to update audiences or conversions, following Step 2, [Send stored raw UID2s to DSPs to create audiences or conversions](#send-stored-raw-uid2s-to-dsps-to-create-audiences-or-conversions).
120121

121122
## Check Opt-Out Status
122123

0 commit comments

Comments
 (0)