Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allowing breakdown of adCost #1092

Open
omriariav opened this issue Mar 21, 2024 · 1 comment
Open

Allowing breakdown of adCost #1092

omriariav opened this issue Mar 21, 2024 · 1 comment

Comments

@omriariav
Copy link
Contributor

omriariav commented Mar 21, 2024

Hi,

Regarding the adCost field in generateBid and reportWin as added per this case.

We are at the point of live testing, and when reviewing the charging process, we have contractual and auditing requirements as a public company (SOC, SOC1) to break down the additional fees we are collecting.

As a DSP, Taboola has fixed/dynamic fees we need to collect from the advertiser that impact the eventual ad cost value. These fees also impact the overall payment we pay publishers (as an SSP).

The fees are based on the context, available only when we generate the bid. Due to the trusted environment, we also can't do it post-auction (either from reportWin ->Backend) or by using the data in the TEE.

Currently, the adCost field can accept "8-bit mantissa and 8-bit exponent, with any rounding performed stochastically" (source).

We suggest keeping the value and rounding, but instead of one value, allow us to pass an array of values, where each one will get the same treatment of the current field.

Example:

generateBid(interestGroup, auctionSignals, perBuyerSignals,
    trustedBiddingSignals, browserSignals, directFromSellerSignals) {
  ...
  return {'ad': adObject,
          'adCost': [value1,value2,...,valueN]
          'bid': bidValue,
          'bidCurrency': 'USD',
          'render': {url: renderURL, width: renderWidth, height: renderHeight},
          'adComponents': [{url: adComponent1, width: componentWidth1, height: componentHeight1},
                           {url: adComponent2, width: componentWidth2, height: componentHeight2}, ...],
          'allowComponentAuction': false,
          'modelingSignals': 123};
}

Thank you

@michaelkleber
Copy link
Collaborator

Each cost value is an opportunity to send a limited amount of information out of the auction. Allowing a whole list of N of those costs would be enough to send a whole user identifier, which would enable cross-site tracking.

Can you say more about the different values you want to send, e.g. how they are calculated, how they are used, etc?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants