I have a simple Prebid setup with 2 bidders. I donot use "Send all bids to the ad server" feature. So Prebid works RTB with returning bids and sends the winning bids to Google Ad Manager (GAM) with key/value pairs like:
hb_bidder=bidder_A
hb_pb=0.10
hb_bidder=bidder_B
hb_pb=0.20
Off course there are line-items defined in GAM with the key/value pairs with those values above.
There is no problem in this setup, if all bidders use same currency.
What if bidder_A bids in USD and bidder_B bid in TRY Line items' currency of bidder_A were set to USD Line items' currency of bidder_B were set to TRY Note: It's possible to use different currencies in GAM 360)
Scenario:
1 USD = 8 TRY
Bidder | Bid | Currency |
---|---|---|
A | 1 | USD |
B | 5 | TRY |
In this scenario, bidder B wins which is wrong. Currencies donot affect prebid RTB if I am not wrong. When I checked the GAM request, it verifies me.
When I use Prebid Currency Module; it converts USD to TRY (1*8=8) for bidder A, and in this case winner is bidder A which is correct one. Prebid Currency Module fixes the RTB problem but Prebid sends converted bid hb_pb=8 (TRY), hb_bidder=bidder_A to GAM. In GAM side, line items of bidder_A defined with currency USD not TRY. So bid matches wrong line-item.
"Send all bids to the ad server" maybe solution but it's needed too much work.
I know, it's very complicated case, what do you suggest to fix problem?
While setting up Prebid Currency Module, there's a configuration parameter
adServerCurrency
which should match your ad server (usually GAM) currency setting.So in this case, you need to set
adServerCurrency
toUSD
because GAM line items are defined with currency USD.