prebid / Prebid.js

Setup and manage header bidding advertising partners without writing code or confusing line items. Prebid.js is open source and free.
https://docs.prebid.org
Apache License 2.0
1.33k stars 2.08k forks source link

Is there an agreement on a bid's default currency and whether it is gross or net? #1397

Closed joyofdata closed 7 years ago

joyofdata commented 7 years ago

Type of issue

Question

Description

We have been asking the networks which we integrate via Prebid.js which currency their bid has and whether the bid is gross (with the network's share) or net (without the network's share).

From two large networks we got conflicting answers - one (PubMatic) uses USD and gross - the other (OpenX) uses the preconfigured currency used for billing and net. Neither allows for configuring this via the bidder parameters.

Is there any sort of an agreement on what to use? B/c judging from what I saw so far - a lot of networks seem to use incomparable bids.

Expected results

Every network should use USD and before share (gross).

Actual results

Differing bid compositions (net, gross) and currencies.

alex-khar commented 7 years ago

Use bidAdjustment function to level all bids before a prebid auction runs - http://prebid.org/dev-docs/examples/adjust-price.html Ideally, you should use the currency of your ad server. That's hard to unify across all publishers around the world. So it doesn't make sense to agree on a default currency for header bidding.

aneuway2 commented 7 years ago

Ideal state is that all bidders are in net (since thats what you get paid) and in the same currency (USD)

You are correct though thta this is not always the case and thats where bidCPMadjustment comes in like what @alex-khar mentioned.

In practice I normally see bidders in gross and varying currencies as you noted but USD is usually the default

joyofdata commented 7 years ago

I agree the bid should be USD and net - would make the most sense. And of course it is difficult to have all of the networks agree on one convention. But then again it actually isn't b/c all of the networks are interested in winning an auction and especially not in losing an auction due to sub-optimal bid defintion (and anything else than USD and gross is inefficient).

A gross bid is always larger than a net bid and the exchange rates between USD, EUR and GBP are all in favor of USD. So assuming this lack of organization a network not using gross and USD is acting unnecessarily inefficient.

Assuming a share of 20%.

A (USD, gross) bids 1.1 B (USD, net) bids 0.95: would be 0.95/0.8 = 1.19 (USD, gross) C (EUR, gross) bids 0.9: would be 1.04 (USD, gross) D (EUR, net) bids 0.85: would be 0.85/0.8 * 1.16 = 1.23 (USD, net)

The auction result would be A > B > C > D while it would be D > B > A > C if B,C,D used USD and gross.

Then again placing the duty of converting gross to net on the publisher is problematic b/c then the share information would be made public via the prebid.js settings.

bretg commented 7 years ago

The currency component of this thread will be addressed over the coming weeks, before Prebid 1.0. See https://github.com/prebid/Prebid.js/issues/1089

As for gross-vs-net, the plan for Prebid 1.0 is to provide bidder adapters a way to inform Prebid whether the bid is in. e.g.

bid.netRevenue = true;

This will allow pubs to programmatically adjust bids as needed. Publishers should have the discussion with their SSPs about whether bidding in net is configurable.