UID2-6592: Document UID2 token validator in integration guides#1001
UID2-6592: Document UID2 token validator in integration guides#1001BehnamMozafari wants to merge 10 commits intomainfrom
Conversation
BehnamMozafari
commented
Mar 6, 2026
- Added new reference page "UID2 Token Validator" giving an overview and instructions
- Linked to reference page in "Preparing DII for Processing" section of integration guides
- Linked to tool reference page in "Normalization and Encoding"
i18n/ja/docusaurus-plugin-content-docs/current/ref-info/ref-token-validator.md
Outdated
Show resolved
Hide resolved
genwhittTTD
left a comment
There was a problem hiding this comment.
Looks good! Few small edits and I sent the proposed updates to the sidebars file via Slack.
Great work.
|
|
||
| ## Overview | ||
|
|
||
| Publishers who generate UID2 tokens by providing DII sometimes receive tokens that appear valid but are unusable in the UID2 ecosystem. This happens when the normalization or hashing steps are not performed correctly. Because UID2 uses the normalized and hashed form of DII to derive the token, an error in either step produces a <Link href="../ref-info/glossary-uid#gl-raw-uid2">Raw UID2</Link> that is unique to that publisher. This mismatched Raw UID2 will not correspond to the one used by other participants for the same DII, meaning the publisher's tokens will not match up with those from other publishers, data providers, or advertisers' CRM uploads. |
There was a problem hiding this comment.
Two instances Raw UID2 > raw UID2. We do not generally initial cap this term (only at the beginning of a sentence, in a heading, that type of instance).
| - A raw phone number | ||
| - A Base64-encoded email hash | ||
| - A Base64-encoded phone hash | ||
| 3. Select the **Identifier Type** that matches your input. |
There was a problem hiding this comment.
Because you're not referring to the name of the UI element here, bold and initial cap not needed:
| 3. Select the **Identifier Type** that matches your input. | |
| 3. Select the identifier type that matches your input. |
| 3. Upload the CSV file. | ||
| 4. Click **Validate Tokens**. | ||
|
|
||
| ## Interpreting Validation Results |
There was a problem hiding this comment.
Keep headings in the same form... "Interpret" in this case (Validate, Interpret):
| ## Interpreting Validation Results | |
| ## Interpret Validation Results |
|
|
||
| ## Interpreting Validation Results | ||
|
|
||
| After clicking **Validate Tokens**, the **Validation Results** table displays a row for each token-identifier pair: |
There was a problem hiding this comment.
Couple of things here. Technically the table is the subject of the sentence, but you are the one clicking. Reword for clarity.
Plus, just our internal standards, we uses "as shown in the following table" or something like that, and no colon before a table, just a colon before a list.
| After clicking **Validate Tokens**, the **Validation Results** table displays a row for each token-identifier pair: | |
| When you click **Validate Tokens**, the **Validation Results** table displays a row for each token-identifier pair, in the format shown in the following table. |
| | `Failed: {"status":"unauthorized"}` | The API credentials provided are invalid or unauthorized. | | ||
|
|
||
| :::tip | ||
| If the result is **Failed: Token does not match identifier**, compare the **Normalized Hash** shown in the results with what your own implementation produced for the same DII. If they differ, the issue is in your normalization or hashing steps. See [Normalization and Encoding](../getting-started/gs-normalization-encoding.md) and [Preparing Emails and Phone Numbers for Processing](ref-preparing-emails-and-phone-numbers-for-processing.md). |
There was a problem hiding this comment.
Again just our TTD doc standards... rather than "see", we use "For details, see" consistently.
| If the result is **Failed: Token does not match identifier**, compare the **Normalized Hash** shown in the results with what your own implementation produced for the same DII. If they differ, the issue is in your normalization or hashing steps. See [Normalization and Encoding](../getting-started/gs-normalization-encoding.md) and [Preparing Emails and Phone Numbers for Processing](ref-preparing-emails-and-phone-numbers-for-processing.md). | |
| If the result is **Failed: Token does not match identifier**, compare the **Normalized Hash** shown in the results with what your own implementation produced for the same DII. If they differ, the issue is in your normalization or hashing steps. For details, see [Normalization and Encoding](../getting-started/gs-normalization-encoding.md) and [Preparing Emails and Phone Numbers for Processing](ref-preparing-emails-and-phone-numbers-for-processing.md). |
|
|
||
| 1. Under **Input Mode**, select **CSV**. | ||
| 2. Prepare a CSV file with the following columns: | ||
| - `identifier`: The DII (raw email, raw phone, email hash, or phone hash) |
There was a problem hiding this comment.
There is a period (full stop) only on the third item. Period on each one for consistency.
genwhittTTD
left a comment
There was a problem hiding this comment.
Few more small edits.
And then there is one more thing... I built both languages and there are errors in the Japanese, as I'd suspected there would be, because you're adding new content.
If you could just address these few edits please, I'll check in the Japanese updates and you'll be good to go.