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

Adapter naming and parameter consistency #2654

Open
11 of 33 tasks
bretg opened this issue Mar 17, 2023 · 14 comments
Open
11 of 33 tasks

Adapter naming and parameter consistency #2654

bretg opened this issue Mar 17, 2023 · 14 comments

Comments

@bretg
Copy link
Contributor

bretg commented Mar 17, 2023

This issue tracks one of the rules that will be enforced starting with Prebid Server 2.0: bid adapters must support the same name(s) and parameter(s) across Prebid.js, PBS-Go, and PBS-Java.

This rule is in place to allow publishers to be able to utilize the s2sTesting module in Prebid.js and to reduce confusion.

Adapters that need to consider changes due to naming consistency

  • freewheelssp - the biddercode is 'freewheel-ssp' in Prebid.js, with a dash. There appears to be a documentation issue because https://docs.prebid.org/dev-docs/pbs-bidders.html#freewheelssp doesn't indicate this difference What we want to see is: update the server-side adapter to accept freewheel-ssp as an alias, confirm that both client- and server-side adapters support the same zoneId parameter, and update the Prebid documentation to note freewheel-ssp as the biddercode. @mwang-sticky
  • interactiveoffers - the biddercode is 'interactiveOffers' in Prebid.js, with camel case. What we want to see is: update the server-side adapter to accept interactiveOffers as an alias. @IOTiagoFaria
  • lunamedia - this one we don't fully understand. There's a lunamediahb bidder in Prebid.js, while both lunamedia and sa_lunamedia exist server-side. However, lunamedia doesn't have a documentation page. lunamediahb and sa_lunamedia are quite different - very different params and endpoints. So we need help sorting this one out. Maybe all that's needed is to delete the server-side 'lunamedia' in favor of 'sa_lunamedia' and make it an alias? @trchandraprakash
  • nextmillennium - the biddercode is 'nextMillennium' in Prebid.js, with camel case. What we want to see is: update the server-side adapter to accept nextMillennium as an alias. @JacobKlein26
  • 33across - the main biddercode is 'thirtythreeacross' in PBS-Java, but that's the only place this exists. What we want to see is: update references and filenames from 'thirtythreeacross' into the main biddercode '33across'. ttx and thirtythreeacross should be aliases. @SerhiiNahornyi
  • audienceNetwork - the main biddercode is 'facebook' in PBS-Java, and the filename in PBS-Go is facebook.go. What we want to see is: update references and filenames from 'facebook' into the main biddercode 'audienceNetwork'. @SerhiiNahornyi, @SyntaxNode
  • beyondmedia - the biddercode was implemented in PBS-Java as 'andbeyondmedia', which is not supported in PBS-Go. What we want to see is: update references and filenames from 'andbeyondmedia' into the main biddercode 'beyondmedia'. Support an alias for andbeyondmedia. @SerhiiNahornyi, @SyntaxNode
  • e_volution - the biddercode was implemented as "evolution" (without the underscore) in PBS-Java. What we want to see is: update references and filenames from 'evolution' into the main biddercode 'e_volution'. Support an alias for evolution. @SerhiiNahornyi
  • emx_digital - the biddercode was implemented as "emxdigital" (without the underscore) in PBS-Java. What we want to see is: update references and filenames from 'emxdigital' into the main biddercode 'emx_digital'. Support an alias for emxdigital. @SerhiiNahornyi
  • stroeerCore - the biddercode was implemented as "stroeercore" (lowercase) in PBS-Java. What we want to see is: update references and filenames from 'stroeercore' into the main biddercode 'stroeerCore'. Support an alias for stroeercore. @SerhiiNahornyi
  • imds - this was a recent renaming from synacormedia. The work has already been done in PBS-Go. What we want to see is: update references and filenames from 'synacormedia' into the new main biddercode 'imds'. Support an alias for synacormedia. @SerhiiNahornyi
  • trustx - what is the difference between the "trustx" and "trustx (standalone)" bidder documentation? Please update your docs to make this clear or even better, consider merging them. @TheMediaGrid
  • colussus - this adapter is called colossusssp in Prebid.js. The client-side parameters are placement_id and group_id, while the server-side parameters are TagID and groupId. Ideally publishers would like to see your bidder as one entity rather than two. What we would like to see is: update the server-side adapter to accept colossusssp as an alias, map incoming group_id param to groupId, and map incoming placement_id to group_id. @HuddledMasses . However, it's noted that having a different biddercode client- and server-side biddercode will be tolerated if the parameters simply can't be merged.

Adapters that should consider changes due to parameter consistency

Publishers have asked us to address adapters that have the same name but have parameter sets that are unbridgeable. This gives the appearance to publishers that it's one adapter, when really they're two distinct entities that cannot support the s2sTesting module.

In some cases, the bidder may be able to update the server-side adapter to do any transformations necessary. If for some reason that isn't possible, we will place a disclosure in your bidder documentation so that publishers are aware they're unable to use the s2sTesting module for your adapter.

  • acuityads - the Prebid.js parameter is placementId, while PBS parameters are host and accountid. It seems odd to us that the server-side adapter doesn't accept the placement inventory code. @AcuityAdsIntegrations
  • adman - Prebid.js parameter is placementId, while PBS parameter is TagID . If these have the same inventory values, the server-side adapter should be able to simply transform the parameter name. @SmartyAdman
  • adot - Prebid.js parameter is placementId, while PBS parameters include placementId as well as parallax and publisherPath. In this case, the desired change might be just documentation. We would like to see one set of parameter documentation per biddercode - the client-side adapter should be able to ignore the parallax and publisherPath parameters if specified by the publisher. @ramyferjaniadot
  • adprime - Prebid.js parameter is placementId, while PBS parameter is TagID . If these have the same inventory values, the server-side adapter should be able to simply transform the parameter name. @Adprime
  • automatad - there's a required Prebid.js parameter called siteId, while PBS parameter is position . Would it be possible to accept siteId in the server adapter but pass it as position? @akanksh97
  • between - Prebid.js required param is s, while PBS requires host and publisher_id. Would it be possible to accept s in the server adapter but pass it as publisher_id? The requirement of the "host" parameter is also covered by PBS2.0: bidders with dynamic hosts #2612. It won't be strictly enforced in PBS2.0, but you should be figuring out how to live without having the publisher define the endpoint. @digitalist
  • evolution - Prebid.js required param is placementId, while PBS param is key. Could the server-adapter accept placementId in the server adapter but pass it as key? @e-volution-tech
  • appnexus and goldbach - your Prebid Server adapter should tolerate receiving a string value for placement_id (convert it to an int as needed), and should tolerate placementId as a parameter (map it to placement_id as needed). @SyntaxNode
  • groupm - there are many parameters supported by your Prebid.js adapter that are apparently not supported server-side. Please make sure that your server-side adapter will tolerate and ignore any client-side parameters that come through. @Pubmatic-Dhruv-Sonone
  • gumgum - there are many parameters supported by your Prebid.js adapter that are apparently not supported server-side. Please make sure that your server-side adapter will tolerate and ignore any client-side parameters that come through. @cchang320
  • kargo - I'm told that "Kargo uses the placementId for client and adSlotId for server". This isn't reflected in the documentation. Minimally, the docs need to be updated. Ideally, these parameters need to be aligned or aliased. @ssadman22
  • lm_kiviads - placement and env are required for Prebid.js, while env and pid are required server side. If placement and pid are the same thing, this is very unfortunate. Please add an alias on the server side so that placement works. @KiviAds
  • madvertise - there are many parameters supported by your Prebid.js adapter that are apparently not supported server-side. Please make sure that your server-side adapter will tolerate and ignore any client-side parameters that come through. @notmani
  • mobfoxpb - Your Prebid.js adapter requires a placementId parameter while your PBS adapter requires TagID or key. Could the server-adapter accept placementId in the server adapter but pass it as key? @mobfxoHB
  • oftmedia - Your Prebid.js adapter requires a placementId parameter while your PBS adapter requires aid. This is rooted in being an alias of appnexus client-side, while being an alias of adtelligent server-side.
  • pangle - the prebid.js adapter requires placement and adid while the server-side adapter requires token.
  • smarthub - there are several more parameters supported by your Prebid.js adapter then are apparently supported server-side. Please make sure that your server-side adapter will tolerate and ignore any client-side parameters that come through. @SmartHubSolutions
  • smartyads - it appears that the parameters for your client-side and server-side adapter are disjoint. Please help us figure this out - is it possible to make the same set of parameters work for both? @SmartyAdsSSP
  • ucfunnel - your client-side adapter requires an adid parameter while your server-side adapter requires adunitid and partnerid. @ucfunnel
  • vidoomy - your client-side adapter requires id and pid parameters while your server-side adapter requires zoneId. Is there a way to merge these into one set of parameters? @abdollah-aghayan
@abdollah-aghayan
Copy link
Contributor

@doomontiu Please check this one.

@bretg
Copy link
Contributor Author

bretg commented Apr 3, 2023

@mwang-sticky - you're right, freewheelssp is one code biddercode that will work everywhere and is documented. You're good.

@mwang-sticky
Copy link
Contributor

@bretg as first 6 words of freewheelssp and freewheel-ssp are same, does it break the The alias name must be unique for the first 6 chars as noted above for biddercodes..

@bretg
Copy link
Contributor Author

bretg commented Apr 4, 2023

Good catch @mwang-sticky - but the point of the 6-character rule is that ad server KVPs in send all bids mode uniquely identify a given adapter. Since these biddercodes are actually the same adapter and the same company, they can share ad server line items.

Screen Shot 2023-04-04 at 7 18 55 AM

@bretg
Copy link
Contributor Author

bretg commented Apr 19, 2023

TrustX issue resolved with prebid/prebid.github.io#4499

@pm-nilesh-chate
Copy link
Contributor

Refer #2798 for GroupM bidder

@bytedancer-1
Copy link

refer prebid/Prebid.js#10397 for pangle adapter

@SyntaxNode
Copy link
Contributor

@ucfunnel Please see changes requested for your Prebid Server to better match your Prebid.JS adapter parameters.

@bretg bretg removed the PBS 2.0 label Oct 25, 2023
@bretg bretg changed the title PBS2.0: adapter naming and parameter consistency Adapter naming and parameter consistency Nov 8, 2023
@Slind14
Copy link

Slind14 commented Nov 8, 2023

--
I'm removing this for now as we are talking with these SSPs directly to figure this out.

@jsadwith
Copy link
Contributor

@bretg - this resurfaced on our end. I've confirmed that our documentation was updated in the past to reflect using placementId for both Prebid-Server and Prebid.js. This is accurate to what we expect. There was a short time in the past when adSlotId was used for Prebid-Server, but that was deprecated and still supported for backwards compatibility.

@bretg
Copy link
Contributor Author

bretg commented Dec 11, 2023

Thanks @jsadwith - I see from a PR that you're with Kargo. I do see that Kargo's docs do note placementId. Will go ahead and mark that as resolved.

@JacobKlein26
Copy link
Contributor

@bretg
I was trying to add nextMillennium as an alias, but it seems to be already working without any changes by me (seemingly pbs-go not being case sensitive)
I also can't add a nextMillnnium file (or folder) - as the file system doesn't let me reuse the same name (again, being case insensitive)

I apologize for my inexperience here. I would greatly appreciate some help in what I could/should do.

@bretg
Copy link
Contributor Author

bretg commented Dec 13, 2023

Thanks @JacobKlein26 - you're right. We recently released the case-insensitive biddercode update, so NextMillenium is clear now.

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

No branches or pull requests

9 participants