Only available in Google Ad Manager 360
PPID (Publisher provided identifier) is a Google Ad Manager 360 feature that might not be enabled for your network. Contact your account manager to activate PPID.
The Publisher provided identifier (PPID) allows publishers to send Google Ad Manager an identifier for use in frequency capping, audience segmentation and audience targeting, sequential ad rotation, and other audience-based ad delivery controls across devices.
Jump to:
- How PPIDs work
- Creating PPIDs with first-party data
- PPID deletion
- Set the identifier
- Limits and requirements
- Enable PPID for programmatic
- Report on PPID
How PPIDs work
Review the following and explore how PPIDs work. Learn more about first-party ID Solutions.
- The identifier sent to Ad Manager must be hashed or encrypted such that it is meaningless to Google, and it must not be raw personally identifiable information.
- If Google is aware that a user has opted out of personalized ads (for example, by using Ads Settings, EU user consent controls, or restricted data processing (RDP) settings), features permitting the use of PPID for targeting ads to the user's web browser will be disabled.
- The user must have access to a mechanism to opt out of personalized ads.
-
If a user opts out of the publisher's use of PPID in connection with advertising, or deletes their account, the publisher must immediately stop sending Google the PPID associated with that user.
Creating PPIDs with first-party data
For publishers that use Audience Solutions, PPID can help build durable and privacy-first audience segments of recognized users without relying on third-party cookies or IDs. PPIDs can be based on their signed-in information or by pseudonymous first-party cookies. Your first step is determining what first-party data you have available to help you recognize individual users.
When you have signed-in users, you can develop PPIDs based on signed-in data, such as an email address or a unique ID associated with a specific user. This also helps you identify the same user when they're signed-in across multiple devices.
For publishers without signed-in users, PPIDs can be useful when they’re developed using domain-specific first-party cookies or identifiers set by the publisher, typically on the server-side. In order to avoid generating new PPIDs for every user session, pseudonymous identifiers should be persistent for individual users across multiple sessions.
PPID deletion
If a user requests that the publisher delete their user data, the publisher may send the user's data deletion request to Ad Manager to ensure user data is deleted from Google's internal storage systems. Two options are available. Option 1 supports the IAB Data Deletion Request Framework.
+, =, /, or $, you need to URL-encode the value before inserting it into a URL placeholder.Option 1: Data deletion request (supports IAB Data Deletion Request Framework)
dsrdelete.json file. You must then register with the IAB Tech Lab, and reach out to your account manager to enable data deletion requests. -
When you create your
dsrdelete.jsonfile, it should be hosted at the root of your domain. You can learn more about thedsrdelete.jsonfile and its required and optional fields in the IAB documentation. - When you reach out to your account manager and ask to be added to our registry for the IAB framework, you’ll need to provide the domain that hosts your
dsrdelete.jsonfile.
Submit a request
Required attributes
Review the required attributes for your PPID data deletion request in the following table. For full details on parameters, sample code, and other requirements, visit IAB Data Deletion Request Framework.
| Attribute | Description | Example value |
|---|---|---|
| sub.identifierType | Type of identifier | ppuid |
| sub.identifierValue | The identifier you are requesting deletion for | 12JD92JD8078S8J29SDOAKC0EF230333 |
| sub.identifierFormat | Format of identifier value | plaintext |
optionalParameters.gamNetworkCode |
Publisher’s Ad Manager network code | 1234 |
optionalParameters.gamNetworkCode is required for PPID. For details, visit the IAB documentation for optionalParameters. Option 2: Data deletion request (Deprecated)
To request PPID data deletion, the publisher should initiate the request using this URL:
https://securepubads.g.doubleclick.net/user_data_deletion?ppid={user's_PPID}&iu={publisher's_AdManager_network_code}
Example
https://securepubads.g.doubleclick.net/user_data_deletion?ppid=12JD92JD8078S8J29SDOAKC0EF230337&iu=12345
- Publishers may begin this process as soon as they receive a signal from their user requesting data deletion.
- After successfully receiving this signal from the publisher, our internal systems immediately de-link existing user data from the PPID, and such data is subsequently fully deleted within 63 days.
Expected response
Successful requests return the HTTPS response status code “200.” Unsuccessful requests return the HTTPS response status code “400.” If the PPID data deletion API is not enabled, the HTTPS response status code “404” is returned.
Set the identifier
If your sites/apps don't send any Google Ad Manager ad requests (or audience pixel requests) with a given PPID for 180 days, requests need to be sent again to make the PPID valid. Google may remove PPIDs after shorter periods of inactivity to intelligently optimize PPID resources.
Google Publisher Tags
For websites, use the PublisherProvidedId method:
Method details for pubService
pubService.setPublisherProvidedId(identifier)
Sets values for publisher-provided ID for use in frequency capping and other audience-based activities.
Parameters
string identifier: An alphanumeric ID provided by the publisher with a recommended maximum of 150 characters.
Example
googletag.pubads().setPublisherProvidedId('12JD92JD8078S8J29SDOAKC0EF230337');
googletag.enableServices();
</script>
Google Mobile Ads SDK
The GoogleAdManagerExtras class contains a method called setPublisherProvidedId(string ID). See Google Mobile Ads SDK documentation for more information.
Google IMA SDK
The HTML5, iOS, and Android SDKs provide the following methods or properties to set the PPID.
-
HTML5 - ima.ImaSdkSettings.setPpid()
-
iOS - IMASettings.ppid (mutable object property, not a method)
- Android - ImaSdkSettings.setPpid()
Non-JS request (aka Tagless Request)
Requests made directly to Google Ad Manager using /adx or /ad+/jump which need to pass PPID must include a parameter ppid=.
+, =, /, or $, you need to URL-encode the value before inserting it into a URL placeholder.Audience Solutions pixel tags
Requests made directly to Google Ad Manager using Audience Solutions pixel tags must include the parameter ppid=.
+, =, /, or $, you need to URL-encode the value before inserting it into a URL placeholder.Example tag for web
ad-manager-network_code}/DFPAudiencePixel;dc_seg={segment_ID};ppid={your_ID}"></script>Example tag for apps
ad-manager-network_code}/DFPAudiencePixel;ord=%%CACHEBUSTER%%;dc_seg={segment_ID};ppid={your_ID}?gdpr=<0,1>&gdpr_consent=<tc string>&tfua=<0,1>&tfcd=<0,1>Learn more about passing a PPID into an Audience Solutions pixel tag.
Limits and requirements
Failure to meet the requirements described below might cause PPIDs to be ignored or discarded by our systems.
The PPID value must be:
-
Alphanumeric ([0-9a-zA-Z], ‘+', ‘.', ‘=' , '/' , ‘_' , ‘-' , ‘$', ‘,', ‘{‘, ‘}') or UUID HEX representation (8-4-4-4-12).
Example
Here are examples of correct PPIDs:
- 12JD92JD8078S8J29SDOAKC0EF230337
- 12jd92jd8078s8j29sdoakc0ef230337
- 12Jd92jD8078s8j29sDoakc0ef230337
- 123e4567-e89b-12d3-a456-426614174000
Publishers can check that PPIDs are correct by using the following tools with this regular expression:
^[0-9a-zA-Z+.=\/_\-$,{}]{22,150}$Tools
-
A minimum of 22 characters.
-
A maximum of 150 characters.
-
Hashed or encrypted, so meaningless to Google.
-
URL-encoded if it contains
+,=,/, or$.Some characters that are allowed in a valid PPID value have special meanings when included in URLs. If the character set used to obfuscate the identifier contains+,=,/, or$, you need to URL-encode the value before inserting it into a URL placeholder. This differs from using an SDK method, such as GPT'spubService.setPublisherProvidedId(identifier), where the SDK undertakes the URL-encoding of the value provided.ExampleUsing AES encryption, you obfuscate a user ID and the resulting PPID value isn6lvihJocabdNhFQqRbBt552lNGh74k7/1kZ2dC0dXk=. The/and the=characters in the value must be URL-encoded before inserting the identifier into a PPID URL parameter.The resulting correctly-encoded URL parameter would becomeppid=n6lvihJocabdNhFQqRbBt552lNGh74k7%2F1kZ2dC0dXk%3D. -
Only sent when a user can be identified for more than one session (for example, a first-party cookie available across multiple sessions may be used to generate a PPID).
Avoid changing the algorithm for generating PPID values. Doing so causes various features to be reset, including frequency capping, audience segmentation and targeting, sequential ad rotation, and other audience-based ad delivery features.
Enable PPID for programmatic
When enabled, PPID may be used by Google and programmatic demand to support buyer frequency capping and interest-based ads personalization on programmatic traffic, when Ad Manager third-party cookies or device IDs aren’t available. This will potentially increase publisher programmatic revenue, while limiting user's activity tracking only within the same Ad Manager network:
-
When using PPIDs on reservations or sharing with Google Demand, Ad Manager turns PPIDs into per-publisher partitioned IDs. When sharing third-party demand, for instance Authorized Buyers or Open Bidders, Ad Manager shares the PPID value directly with buyers exactly as it's received from publishers.
-
In addition to enabling PPID, you also need to choose who to share PPIDs with programmatically (such as Google demand, Authorized Buyers, and Open Bidders), which you would do through Demand channel settings. Note that for now, PPID for non-Google demand is only available outside of EEA, Switzerland, UK, and US states with active comprehensive privacy laws.
-
You can send your data (including first-party data) to the third-party bidders you choose using secure signals.
Follow these steps to enable PPID for programmatic:
-
Sign in to Google Ad Manager.
-
Click Delivery, then Demand channel settings.
-
Under “Publisher data sharing,” click Publisher provided identifiers (PPID) for programmatic.
-
To enable PPID for programmatic for a demand channel, turn on the switch
.
-
Click Save.
Report on PPID
Use the “PPID status” dimension in Ad Manager reporting to see coverage broken down by ad requests that do (“Present” value) or do not (“Missing” value) have a PPID. This dimension covers both reservation and programmatic traffic.
- Use the “PPID status” dimension to troubleshoot PPID coverage across programmatic and reservation traffic. For example, to understand if some inventory is missing the correct PPID configuration, you can report on Total Ad Requests by Ad Unit and / or Request Type, adding the PPID status, then is any of, and then Missing filter.
- PPID for Programmatic only applies to the share of your traffic where third-party identifiers aren't available. In other words, it has no impact on programmatic traffic where third-party cookies are available. Therefore, when analyzing programmatic performance in the presence of PPID, we recommend selecting the Third-party ID status, then is any of, and then Missing filter to limit your analysis on ad requests where third-party cookies or device IDs aren't available.
- The “PPID status” dimension can't be used to accurately determine revenue effects, but may be used as an indication of performance. To get a better understanding of revenue uplift, we recommend that publishers perform their own A/B tests, consider different inventory types, as well as the presence of a third-party identifier.