Home

Awesome

SPARROW

SPARROW, Secure Private Advertising Remotely Run On Webserver, is an enhancement of TURTLEDOVE proposal aiming at providing more value for the ad ecosystem, more control and transparency, and safeguarding the user experience, whilst keeping all the privacy guarantees. SPARROW also provides the opportunity to extend advertising use cases coverage.

Motivation

SPARROW keeps TURTLEDOVE objectives, i.e:

While adding the following ones:

We believe that these objectives are key to a healthy ecosystem, ensuring value for advertisers and revenue for publishers. In more details, the SPARROW proposal supplements TURTLEDOVE on the following items:

Campaign control and Performance for Advertisers

Advertising beyond re-marketing:

As such, it seems that TURTLEDOVE focuses mainly on re-targeting ("reminder ads"). Many adjacent use cases (Similar/Look-Alike & Commerce Audiences, Co-marketing) will be challenging within TURTLEDOVE framework. However, adding a few features can bring us closer to cover these use cases with no impact on user privacy.

A separate page on interest groups mechanism in TURTLEDOVE and SPARROW has been written and can be found here.

Control and transparency

Please note that ad safety and brand safety rules are to be handled at bid time, but there is also an "a posteriori" audit component to it. Advertisers and publishers must be able to verify the rules were enforced.

User experience while browsing the web

Proposal

SPARROW proposal builds on TURTLEDOVE and introduces a third party: the Gatekeeper.

The Gatekeeper is an internet-based service responsible to run interest group auctions and to generate ad web bundles, instead of the browser in the TURTLEDOVE proposal.

Since it receives real-time interest group auction requests with page contextual data, it must not be an advertiser or ad tech company, nor share any data with those actors.

In this proposal:

Example flow

This section, based on TURTLEDOVE API example flow, describes one way this might work end-to-end. The example here is the long-term goal.

At some point in time, WeReallyLikeShoes.com sent to the Gatekeeper a bidding model and ad web bundles (containing all elements required to render an ad). The bidding model takes as input an interest group and page contextual data. It does not need any interaction with the advertiser to be executed.

Suppose I am a regular reader of myLocalNewspaper.com, which gets their ads from first-ad-network.com.

I visit WeReallyLikeShoes.com and spend some time looking at running shoes. The advertiser web page decides to add me to an ad interest group for a month.

At some later point, I visit myLocalNewspaper.com. An ad network script on the page requests ads from first-ad-network.com.

At that point, the ad network calls regular DSPs for contextual bids and the browser calls the Gatekeeper with interest groups and page contextual data. The Gatekeeper uses the previously provided bidding model to compute a bid.

Resulting bids are returned to the ad network which selects the winner.

If a contextual bid wins, the ad is rendered as it is today. Let's consider that an interest-based bid wins the auction.

The ad server notifies the Gatekeeper. The Gatekeeper generates a web bundle with all elements required to render the ad and transfers this bundle to the ad network.

The ad network sends back the web bundle to the browser, which renders the ad in an opaque iframe.

SPARROW sequence diagram

AB testing

In order to provide advertisers with AB testing capabilities, we advocate for the browser to pass a "bucket_id" - defined locally at the user level - in the request sent to the gatekeeper. The advertiser could use the "buckets" in order do define AB test populations and take population split into account in the models sent to the Gatekeeper. Each user would be assigned for a certain time in one of the N buckets. The number N of different buckets and the frequency f at which the buckets would be known in advance by the advertiser, but remain to be defined.

Reporting

The Gatekeeper notifies the advertiser, with a variable delay around one minute, of the display, including the winning interest group, the ad data (campaign, product, layout), the bid value, and the publisher it was displayed on. This delay further protects the user identity from fingerprinting while keeping the ability to measure and control advertiser budgets.

Click reporting is provided to the advertiser via an impression ID in the landing URL, similarly to what is done today.

Further considerations

All user interest groups can be sent in one request to the Gatekeeper. In order to avoid cross-interest groups targeting (this could be used to do fingerprinting and infringe upon user privacy), the Gatekeeper will ensure that bids for each interest group are computed independently.

There can be several gatekeepers competing. Which gatekeepers to contact can be defined at the ad network level.

As an incremental path of adoption, the following steps could be done first:

  1. The browser allows the creation of interest groups and sends the requests to the advertiser as they do today, without Gatekeeper.
  2. The Gatekeeper is in charge of bidding only, the ad web bundle for rendering is still provided directly by the advertiser.

Enhancements w.r.t. TURTLEDOVE proposal

Campaign control and Performance

Control of the campaign budget:

Performance:

Fraud prevention:

Control and transparency

Ad safety for publishers:

Brand safety for advertisers:

Transparency and trust in billing data:

User experience while browsing the web

The Gatekeeper, not the browser, is in charge of resource-intensive tasks: bid computation or ad bundle pre-fetch. This will result in less impact on device resources such as memory or battery life, and less network usage.

Additional benefits

Privacy considerations

TURTLEDOVE privacy objectives are:

As in TURTLEDOVE, advertisers do not take part in interest-based auctions and ad rendering is done in an opaque iframe. Advertisers only receive display level reporting, but cannot link this data to individual users - the delay in reporting prevents timing attacks.

The Gatekeeper receives interests group x publisher data, but cannot link this data to individual users since it has no user-level information.

Reporting considerations

We believe that the reporting mechanism exposed in this proposal would both fit the advertisers and publishers needs, and ensure user privacy. Therefore, it could replace, more simply and efficiently, other reporting mechanisms proposed in Google Privacy Sandbox.

Regarding the Gatekeeper

An independent player

The gatekeeper is a key element for ensuring user privacy, hiding interest groups from publishers and transferring privacy-safe data to advertisers. Gatekeepers must remain independent from other parties in the ad tech ecosystem. In particular, DSPs cannot run as Gatekeepers for their own ad services.

This independence could be ensured by a legally binding agreement and appropriate audit procedures. An industry consortium, or regulators, could ensure that gatekeepers fulfil their duties and could certify new Gatekeepers. Ultimately, in case of contractual breach, browser vendors would be the ones blacklisting Gatekeepers since interest-based display opportunities are sent out by browsers to Gatekeepers.

Business model

Gatekeepers provide a service to advertisers, running their models to compute bids, and should be paid by advertisers. Answering bid requests is very hardware intensive but is rather straightforward in term of software. Cloud providers should, therefore, be interested in the opportunity. SSP’s could also try to provide this service, independently from their existing services. There could be multiple gatekeepers.

Basile Leparmentier b.leparmentier@criteo.com
Lionel Basdevant l.basdevant@criteo.com
Paul Marcilhacy p.marcilhacy@criteo.com