Skip to content

Batch Requests to DSP Trusted Server #767

Open
@davidhqr

Description

Introduction

Chrome currently sends a single GET request to the DSP trusted server with all the trusted bidding keys to query for to fetch real-time bidding signals. This can be problematic for AdTechs since GET requests are typically constrained to some rather-small size limit that varies across different web servers (example: the default URL length limit for Apache is 8.2KB).

Limitations of Current Approach

Under the current approach, a single GET request is sent to the DSP trusted server. Depending on what the AdTech chooses to use as the trusted bidding key, the request could easily overflow the GET request length limit and be dropped. Dropped requests will adversely affect the advertiser’s ability to provide bidding signals for the auction.

Example: If the IG name is chosen to be the trusted bidding key, then under the current FLEDGE implementation there could be up to 1000 IGs per request as keys. For a request with 1000 keys, each key can only be up to 8.2B in length if the GET request length limit is 8.2KB, not even taking into account the request URL and headers.

Proposed Changes

1: Split the DSP Trusted Server Request

We propose for the DSP trusted server request to be split up into several batches in order to accommodate GET request length limits. Instead of sending a single request, Chrome will split the keys up into a certain number of batches to send in parallel. Upon receiving the request from each batch, Chrome will join the responses from each request to construct the whole response.

2: Add New Field to Specify the Maximum URL Length

We also want AdTechs to be able to specify the maximum URL length of a request. For this, we propose to add a new field to the IG: maxTrustedBiddingUrlLength.

When preparing requests to the DSP trusted server, Chrome will group IG with the same trustedBiddingSignalsUrl together as before. Afterwards, Chrome will find the minimum maxTrustedBiddingUrlLength value among these IGs and batch them such that no batch has a URL length exceeding it.

Alternative Solution

An alternative solution is to change the request HTTP method from GET to QUERY, POST, or PUT. These HTTP methods have much looser length restrictions.

Summary of Asks

  1. Split the DSP trusted server request into batches.
  2. Add a new IG field to specify the maximum trusted bidding URL length.

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions