Digital Measurement SEI User File: Difference between revisions

From Engineering Client Portal

No edit summary
Line 5: Line 5:


This document outlines the required specification for User file if client prefers to share identity parameters in a separate file. User File  can be shared each time a new user enters the subset of users exposed to an ad or upon updating an existing users registration records. The User file maps the publisher_user_id to the pertinent identity parameters. The User file appends new rows for each new publisher_user_id.
This document outlines the required specification for User file if client prefers to share identity parameters in a separate file. User File  can be shared each time a new user enters the subset of users exposed to an ad or upon updating an existing users registration records. The User file maps the publisher_user_id to the pertinent identity parameters. The User file appends new rows for each new publisher_user_id.
{| class="wikitable"
|+
|'''Parameter'''
|'''Description'''
|'''Required'''
|'''Format / Example'''
|-
|publisher_user_id
|Publisher-specific user ID (must remain persistent indefinitely. Must match ID in user mapping file, no collisions).
|Yes
|Example: <code>ed36968977606872e4312943c218568123786342</code>
|-
|provider_user_id
|Provider-specific user ID (must remain persistent indefinitely. Must match ID in user mapping file, no collisions)
|For CTV (only for provider onboarding)
|Example: <code>A769C2B-3CBD-5784-852F-C57875CC9D91A</code>
|-
|hem_sha256
|SHA-256 hashed email
Note: email normalization rules applied before hashing
*remove all leading and trailing whitespace
*force lowercase
*for @gmail.com addresses only:
**remove dots
**remove + suffix, including sign
Example: “Art.Nielsen+JR@gmail.com” → “artnielsen@gmail.com”
|Strongly Preferred
|Example: <code>671638d17df92ac6e46e3f00ad0e78f09116ca29128e93dcb53ff340abdeb2c2</code>
|-
|device_id
|Mobile Ad ID (IDFA, ADID), Connected Device ID
If hashed, use SHA-256 hashing method while keeping hyphens in place and in all lower case
|Yes, if available
|Example: <code>A487421B-XXXX-YYYY-8343-E3BBB66E44F2</code>
|-
|is_device_id_hashed
|If device_id is SHA-256 hashed
|Yes
|
*<code>1</code> = hashed
*<code>0</code> = else
|-
|phone_number
|Phone number without country code. Remove non-numeric characters.
|Optional
|Example: 4155551212
|-
|phone_number_sha256
|Hashed phone number without country code. Remove non-numeric characters
|
|Example: d570a9f18c3106b98dbbfc46efee736385c01464a7c47dadc5dda81ccc9fcf47
|-
|phone_country_code
|Phone country code. Remove non-numeric characters.
|
|Example: 1
|-
|birth_date
|Date of birth, YYYY-MM-DD
|
|Example: 1970-01-01
|-
|age_range
|Nielsen age buckets
|
|Example: “13-17”, “18-20”, “21-24”, “25-29”, “30-34”, “35-39”, “40-44”, “45-49”, “50-54”, “55-64”, “65+”, empty if unknown
|-
|gender
|Gender of the publisher user/subscriber:


1 = male, 2 = female, 0 = other
|
|Example: 0, 1, 2
|-
|revision_date
|Unix epoch Date of last edit to information for this User in.Format: UTC (time in 32-bit unsigned int UTC)
|
|Example: 1484848299
|}
Note: All parameters are case sensitive.  
Note: All parameters are case sensitive.  


JSON Examples
'''Example in JSON format''' (header + 1 record):
Formatted Sample JSON Exposure file (header + 1 record):
 
{
{
   "schemaversion": "S2SV1.0",
   "schemaversion": "S2SV1.0",
Line 16: Line 94:
   "recordcount": "1337"
   "recordcount": "1337"
}
}
{
{
   "publisher_user_id": "ed36968977606872e4312943c218568123786342",
   "publisher_user_id": "ed36968977606872e4312943c218568123786342",

Revision as of 12:33, 26 August 2025

Engineering Portal / Digital / Digital Ad Ratings / Digital Measurement SEI User File

Introduction

This document outlines the required specification for User file if client prefers to share identity parameters in a separate file. User File can be shared each time a new user enters the subset of users exposed to an ad or upon updating an existing users registration records. The User file maps the publisher_user_id to the pertinent identity parameters. The User file appends new rows for each new publisher_user_id.

Parameter Description Required Format / Example
publisher_user_id Publisher-specific user ID (must remain persistent indefinitely. Must match ID in user mapping file, no collisions). Yes Example: ed36968977606872e4312943c218568123786342
provider_user_id Provider-specific user ID (must remain persistent indefinitely. Must match ID in user mapping file, no collisions) For CTV (only for provider onboarding) Example: A769C2B-3CBD-5784-852F-C57875CC9D91A
hem_sha256 SHA-256 hashed email

Note: email normalization rules applied before hashing

  • remove all leading and trailing whitespace
  • force lowercase
  • for @gmail.com addresses only:
    • remove dots
    • remove + suffix, including sign

Example: “Art.Nielsen+JR@gmail.com” → “artnielsen@gmail.com”

Strongly Preferred Example: 671638d17df92ac6e46e3f00ad0e78f09116ca29128e93dcb53ff340abdeb2c2
device_id Mobile Ad ID (IDFA, ADID), Connected Device ID

If hashed, use SHA-256 hashing method while keeping hyphens in place and in all lower case

Yes, if available Example: A487421B-XXXX-YYYY-8343-E3BBB66E44F2
is_device_id_hashed If device_id is SHA-256 hashed Yes
  • 1 = hashed
  • 0 = else
phone_number Phone number without country code. Remove non-numeric characters. Optional Example: 4155551212
phone_number_sha256 Hashed phone number without country code. Remove non-numeric characters Example: d570a9f18c3106b98dbbfc46efee736385c01464a7c47dadc5dda81ccc9fcf47
phone_country_code Phone country code. Remove non-numeric characters. Example: 1
birth_date Date of birth, YYYY-MM-DD Example: 1970-01-01
age_range Nielsen age buckets Example: “13-17”, “18-20”, “21-24”, “25-29”, “30-34”, “35-39”, “40-44”, “45-49”, “50-54”, “55-64”, “65+”, empty if unknown
gender Gender of the publisher user/subscriber:

1 = male, 2 = female, 0 = other

Example: 0, 1, 2
revision_date Unix epoch Date of last edit to information for this User in.Format: UTC (time in 32-bit unsigned int UTC) Example: 1484848299

Note: All parameters are case sensitive.

Example in JSON format (header + 1 record):

{

 "schemaversion": "S2SV1.0",
 "pid": "NLSN",
 "creationtime": "1484848299",
 "recordcount": "1337"

}

{

 "publisher_user_id": "ed36968977606872e4312943c218568123786342",
 "provider_user_id": "A769C2B-3CBD-5784-852F-C57875CC9D91A",
 "first_name_sha256": "befa156f0283eb0062beb9b86e16a413e1cf8c5135e5518d5c4fa321ce0c7b6b",
 "last_name_sha256": "eae8e3404182477f008479b38a6629ee86b23cefe2c418c5dc5c2f0d02af5475",
 "suffix_sha256": "f04a21f9e1c244d59df2255328fb2684c83f51c09e3c53108ed766681b5f4c84",
 "hem_sha256": "d120b0ef5da7458e7316ab4f25d1056575f8395d87b61b79b2cb5c9df2f5d25a",
 "device_id": "A487421B-XXXX-YYYY-8343-E3BBB66E44F2",
 "is_device_id_hashed": "0",
 "birth_date": "1970-01-01",
 "age_range": "50-54",
 "gender": "2",
 "revision_date": "1484848299"

}