privacy-sandbox-samples
privacy-sandbox-samples copied to clipboard
Bidding logic always interpreted as v0
Hi 👋
We're using bidding logic v3 and adding the header x_fledge_buyer_bidding_logic_version 3
following the mock server specification. This has been working for some months now, until recently the API stopped respecting that header. The logs always show adservices.fledge: Got buyer bidding logic version 0
.
Any idea why?
Would you be able to check the value of this flag fledge_ad_selection_bidding_logic_js_version
using
device_config get adservices fledge_ad_selection_bidding_logic_js_version
If the version is left to the default value of 2 we are not reading the response version header. It is possible that the server flag controlling the version has been changed so you are now seeing the different in behavior .
If this is the case you can enable V3 support by using
device_config put adservices fledge_ad_selection_bidding_logic_js_version 3
Hi @galarragas, thanks for your response!
Running adb shell device_config get adservices fledge_ad_selection_bidding_logic_js_version
returns null
.
If the version is left to the default value of 2 we are not reading the response version header.
Why isn't the default behavior the same as in the documentation? This is confusing... I'd expect the header to be read always. How is this supposed to work on user devices where we can't set flags?
Sorry it took so long to answer.
Running adb shell device_config get adservices fledge_ad_selection_bidding_logic_js_version returns null.
Thanks for confirming, so the fact that V2 is not supported is an expected behavior and can be overridden as I described earlier.
Why isn't the default behavior the same as in the documentation? This is confusing... I'd expect the header to be read always. How is this supposed to work on user devices where we can't set flags?
We haven't ramped up the feature yet. We haven't been investing in the on-device auction recently because of our focus to B&A auctions so this has been left dragging. I agree that the documentation is confusing since it is described the final state while we are still in the old one. I don't have a date for when the behaviour will be made consistent but I will update the documentation
Why isn't the default behavior the same as in the documentation? This is confusing... I'd expect the header to be read always.
I agree with you, we have features that are documented and not ramped up yet so there is a disconnect.
How is this supposed to work on user devices where we can't set flags?
On user device we are currently only supporting the old logic. Once the feature will be ramped up your server will receive an header X_FLEDGE_1_VERSION
declaring what is the version of JS logic supported by the client.
We are going to improve the documentation, sorry for the confusion.