U.S. Privacy String Integration Guide

As per the User Signal Mechanism spec, the publisher, or their consent management provider, is responsible for generating, storing and passing the U.S. Privacy string.

Publishers who are using a CMP vendor or using their own CMP can extend their implementations to support the specifications for exposing the U.S. Privacy string through a standard API to allow vendors to access the U.S. Privacy string directly.

U.S. Privacy String Components

String Component

Expected Values

Definition

Specific Version

Number (1 char in string)

The version of the specification used to encode the string

Explicit Notice/ Opportunity to Opt-out

ENUM (N = No, Y= Yes, - = N/A)

Has explicit notice been provided and the opportunity to opt-out of the sale of their data

Opt-out Sale

ENUM (N = No, Y= Yes, - = N/A)

Has user opted-out of the sale of his or her personal information

LSPA

ENUM (N = No, Y= Yes, - = N/A)

Has the publisher who is an IAB LSPA member declared that this impression is covered by the LSPA when a user has opted-out

Scenarios and potential outcomes

Assume a publisher has determined to use a U.S. Privacy string (version 1) and CCPA applies to the transaction.

Explicit Notice & Opt-Out

LSPA

Passed opt- out value and Outcome

Publisher has provided the user with explicit notice and opportunity to opt-out and the user has not opted-out of sale.

Publisher has declared that the impression is not covered under the LSPA.

1YNN

Verizon Media can proceed with a sale.

Publisher has provided the user with explicit notice and opportunity to opt-out and the user has opted-out of sale.

Publisher has declared that the impression is not covered under the LSPA.

1YYN

Verizon Media cannot proceed with a sale. Participation in the transaction involves non-interest-based ads only.

The publisher has not provided user with explicit notice nor opportunity to opt-out and the user has opted-out of sale.

The publisher does intend to operate within the Limited Service Provider Agreement.

1NYY

Verizon Media cannot proceed with a sale. Only LSPA* signatories can participate.

The publisher has not provided user with explicit notice nor opportunity to opt-out and the user has not opted-out of sale.

The publisher is not a signatory or the LSPA, or is a member but does not with this impression to be covered under the LSPA terms.

1NYN

User has not opted-out, but required notice has not been established. Verizon Media cannot proceed with a sale. Transactions involve non-interest-based ads only.

Notes: Where CCPA does not apply, a value of 1--- will be passed. Invalid us_privacy strings (i.e., 1Y-Y, 1-Y-, etc.) are ignored. Full support for LSPA is expected by the end of Q1 2020.

Passing the U.S. Privacy String

The U.S. Privacy string can be obtained automatically via the User Signal Mechanism or through tag parameters.

Automatically via User Signal Mechanism

When using the Verizon Media Player, we can load technology onto publishers' sites and apps that can automatically obtain the U.S. Privacy string using the User Signal Mechanism API. If using this method, Verizon Media expects the API to be implemented according to the IAB Tech Lab’s technical specifications.

Example

__uspapi('getUSPData', 1, (uspData, success) => {

if(success) {

// do something with uspData

} else {

// do something else

}

});

Publishers must configure their sites (or apps) to return the uspData Object value specified below.

{

"version": 1,

"uspString": "1YNN"

}

 

Through Tag Parameters

As specified in the U.S. Privacy string specification, the following parameter is supported on all video tags.

URL Parameter Name

Type

Expected Value

us_privacy

string

URL-encoded U.S. Privacy string format as specified below.

 

 

Example Integrations for Verizon Media SSP

1) Javascript Integration

Below is a basic example of our JS tag including the us_privacy parameter; publishers may comment in other parameters as desired.

<script src="https://ads.nexage.com/js/admax/admax_api_https.js"></script>

<script>

var suid = getSuid();

/* var loc = "location in format 'lat,long'"; */

/* if (loc == ",") loc = ""; */

var admax_vars = {

"dcn": "<SITE_ID>" /* Your DCN/Site ID */

,"pos": "<PLACEMENT_ID>" /* Position name */

,"us_privacy": "1YNN"

,"secure": "1"

/* other desired parameters should be added here, for example...*/

/* ,"req(url)": document.URL */

/* ,"req(loc)": loc */

/* ,"d(id24)": "ID sanctioned for Advertising in the clear" */

/* ,"ifatrk": "Flag to allow or limit ad tracking. 1 for tracking allowed, 0 for tracking limited" */

/* ,"dnt": "Flag for Do Not Track. 1 = ad tracking NOT allowed, 0 = ad tracking allowed" */

};

if (suid) admax_vars["u(id)"]=suid;

admaxAd(admax_vars);

</script>

 

2) Ad Integration API

The adServe API (via which several publishers are integrated) includes a parameter to pass U.S Privacy data, us_privacy. and it takes a value as described in the “Possible Values” table in the section below: “1YNN”, “1YYN” etc.

SSP example with placeholders

http://ads.nexage.com/adServe?dcn=<SITE_ID>&pos=<PLACEMENT_ID>&...&us_privacy=[US_PRIVACY]&...

Note: [US_PRIVACY] is a placeholder for an actual value. While the IAB specification suggests a standard macro syntax of ${US_PRIVACY}, publishers should work with their ad server or header bidding vendors to confirm which substitution macros are supported for the U.S. Privacy string.

3) Verizon Ads SDK

For specifics on passing US Privacy in the VAS see https://sdk.verizonmedia.com/standard-edition/integration.html

4) Header Bidding using Prebid.js

For Prebid.js header bidding traffic use HB adapter v3.1 and above, download the latest version.

For Open Bidding traffic follow the onboarding process for SSP.

5) Server to Server Header Bidding

For OpenRTB S2S traffic integrations, publishers must follow the guidance provided by the IAB Tech Lab for extending the OpenRTB specification.

OpenRTB v2.2+ - add the “us_privacy” attribute into the “ext” object within the “regs” object.

{

"regs": {

"ext": {

"us_privacy": "1YNN"

}

}

}

OpenRTB v2.0-2.1 - add the “us_privacy” attribute into the “ext” object within the “User” object.

{

"user": {

"ext": {

"us_privacy": "1YNN"

}

}

}

 

Example Integrations for Verizon Media Video SSP

1) Ad tag traffic

For ad tag traffic append the U.S. Privacy parameter manually using the format us_privacy=${US_PRIVACY} or download the new ad tag from the console, which includes the U.S. Privacy parameter and a placeholder value.

https://ads.adaptv.advertising.com/a/h/i1sUJ0QbdIT6YU5xkBUnsA==?cb=[CACHE_BREAKER]&gdpr=[GDPR]&gdpr_consent=[GDPR_CONSENT]&isOathFirstParty=[OATH_FIRSTPARTY]&us_privacy=[US_PRIVACY]&pet=preroll&pageUrl=EMBEDDING_PAGE_URL&eov=eov

Note: [US_PRIVACY] is a placeholder for the actual value. While the IAB specification suggests a standard macro syntax of ${US_PRIVACY}, publishers should work with their ad server or header bidding vendors to confirm which substitution macros are supported for the U.S. Privacy string.

2) Header Bidding using Prebid.js

For Prebid.js header bidding traffic use HB adapter v3.1 and above, download the latest version.

For Open Bidding traffic follow the onboarding process for Video SSP.

3) Server to Server Header Bidding

For OpenRTB S2S traffic integrations, publishers must follow the guidance provided by the IAB Tech Lab for extending the OpenRTB specification.

OpenRTB v2.2+ - add the “us_privacy” attribute into the “ext” object within the “regs” object.

{

"regs": {

"ext": {

"us_privacy": "1YNN"

}

}

}

OpenRTB v2.0-2.1 - add the “us_privacy” attribute into the “ext” object within the “User” object.

{

"user": {

"ext": {

"us_privacy": "1YNN"

}

}

}