Google Encrypted Signals for Publishers

The Google Encrypted Signals for Publishers integration allows publishers who are working with GPT (Google Publisher Tags) to share LiveRamp’s Identity Envelope directly with bidders that the publishers choose to work with.

The composition of the signals shared by identity providers is controlled by the publisher, who also controls the list of eligible bidders. LiveRamp’s Identity Envelopes will only be shared at the publisher’s explicit instruction and only with bidders the publisher has allowed to receive the envelope.

Make Sure Encrypted Signals are Properly Shared

For your GAM (Google Ad Manager) account to be eligible for receiving encrypted signals and thus LiveRamp’s Identity Envelopes, you must make sure encrypted signals are properly shared with third party bidders on your GAM account. See Google’s article Share encrypted signals with bidders to learn all the required steps.

How to Work with Google ESP and ATS API

1. Host a script with a LiveRamp's unique ID
In order to share encrypted signals, such as LiveRamp’s Identity Envelope, you will need to host a script as specified by Google. The hosted script registers itself with GPT using our unique ID ‘liveramp.com’ (provided by Google Ad Manager).

export function createESPTag() {
  console.log('Inserting ESP script.');
  window.googletag =
    window.googletag || { encryptedSignalProviders: [], cmd: [] };
  window.googletag.encryptedSignalProviders.push({
    id: 'liveramp.com',
    collectorFunction: () => retrieveEnvelope().then(rawEnvelopeObject => {
      if (!rawEnvelopeObject) return '';
      const envelopeObject = JSON.parse(rawEnvelopeObject);
      return envelopeObject.envelope || '';
    })
  });
}

2. Implement a retrieve envelope function on every page
For the hosted script to retrieve LiveRamp’s Identity Envelopes you will need to implement a retrieve envelope function and expose it where you are resolving users to envelopes, preferably on every page.

The hosted script should be able to make a call to window.ats.retrieveEnvelope() and receive a JSON object like the following:
{"envelope":"AtkoTqF8plPFYr2r2QgpbhKhY_XWhJrmI0gSSTulk24dzDKTlNOf4A"}.

Make sure to have try-catch blocks in your window.ats.retrieveEnvelope() function in order to prevent any exception occurring in the createESPTag() function.

GPT will call your window.ats.retrieveEnvelope() function when required and LiveRamp Identity Envelope will be pushed to GPT and then be included in RTB (real-time bidding) requests within Google’s ad exchange.

Learn More

For more information on Google ESP and ATS, see our FAQ.