-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Proposal for Taxonomy Segments in FPD #6057
Comments
Thanks @sfrancolla - I fixed "context.data"" to "site.content.data" |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
I don't have a strong opinion about the data model, but I do have a strong opinion about using custom taxonomies. Magnite is probably going to pick one to support. We will map all the segments in the taxonomy we pick into our platform so that when we observe one in an ad request our exchange knows what to do with it. |
Having a default standard taxonomy (that we decide upon in the committee) while also allowing the flexibility to specify some type of taxonomy id for backends that want to support multiple types of taxonomies is something that I think would make sense. This would make segment ids look something like user ids, where we have a type/id binding in Prebid that the modules can interact with. |
@sfrancolla can we add any doc on taxonomyname or other parts of this spec to https://docs.prebid.org/features/firstPartyData.html and close this out? |
should we replicate this into a pr at https://github.com/InteractiveAdvertisingBureau/openrtb/tree/master/extensions/community_extensions |
Question for this group in the context of the OpenRTB 2.6 discussions. If this is brand new, should this be an extension or be proposed as a change to 2.6? |
Notes from discussion for consideration: Change taxonomyname -> segtax |
In response to @patmmccann's recommendation:
Did we agree to the short codes at this time? Conversion from string to enum to be discussed. |
I am envisioning this kind of structure and enumeration:
*Note - numbers from 1-500 is reserved for standard taxonomy 501 onwards can be used for custom / community agreed taxonomies. |
Thanks @sfrancolla for updating the example at the top. One last question, |
I don't think different keys for conveying same information is a good design/standard approach. Causes parsing overhead and requires special logic. In short we should not have If I understand the intention correctly , it is to allow unrestricted way of defining and using taxonomies without the need for IAB doc update.If that is the case I would propose using Taxonomy provider ( If we want to do away with that overhead of updating provider ID as well - we can use domain as taxonomy provider
|
Agree @abhinavsinha001. There will be scenarios where non-IAB taxonomies are utilized and being able to specify the provider is important in order to avoid potential id range conflicts. |
Quick note that the proposal has been updated in full. This is open to a 2-week comment period, having started from Tues, April 13. Comments will be reviewed as they come in with the aim of a final discussion taking place at the next Taxonomy Taskforce meeting on Tues, April 27. Please continue the discussion here. Thanks! |
I will add to @abhinavsinha001's objection to adding It would be vastly better to tackle governance. E.g., if this is a Prebid-owned extension, then Prebid can decide to govern the list -- if a simple/fast approach is deemed sufficient and satisfactory, so be it. In addition, Finally, if it's necessary to break out |
I do not follow the case for taxprovider; it appears completely redundant with other information. Agreed on segtax being an integer. The case for custtax is largely around concerns on the gatekeeping of the enum 5xx + list, particularly by a body that publishes one of the competing taxonomies. @simontrasler are you suggesting it is possible for Prebid to be that gatekeeper? I think that would alleviate those concerns. |
Yes. I don't see why that would be a problem, and I'd certainly choose that over propagating strings. |
@patmmccann Introducing taxonomy provider is a middle ground where instead of updating each taxonomy version/updates and ID in central doc(IAB governed) there can be consortium/ providers (Prebid) who can register once (providing taxonomy hosting location) and manage/create/update taxonomies & ids. This will reduce overall governance overhead. |
@abhinavsinha001 do you foresee taxprovider always being the same as the data provider, just a numerical id? @patmmccann i can imagine that data providers may under some circumstances want to reference a taxonomy from a different provider than themselves. also, having a range of taxonomy identifiers [1..n] that is unique for each taxonomy provider makes sense to me. it minimizes potential collisions and red-tape around what segtax id ranges mean what and what taxonomy provider gets which id ranges allocated to them by who. the default segtax range in the absence of taxprovider could just be iab. if taxprovider happens to be present the overhead byte-wise is negligible. |
@anthonylauzon No I do not think that is the case and ideally we should not have that level of fragmentation where everyone defines their own taxonomy. Defeats the purpose of "standard". |
I don't understand why this "testing" scenario can't simply use a test range of IDs arranged between the parties involved in the test. However, for the sake of moving on, can we just clarify in documentation please that |
Testing is one of potentially many reasons why someone might want to differentiate their private taxonomies from the public, open taxonomies. The 'taxprovider' field opens up flexibility and allows for organizations to be creative around its use cases while being optional and not introducing any byte-level overhead on the wire universally. We're suggesting that 'taxprovider' simply mean 'taxonomy sourced from this provider as opposed to the central repo' and leave use case details up to those who choose to utilize it. It's a small documentation change for a field that could represent a lot of value if it is standardized upon between orgs. A decent analogy to think about here is phone numbers. If someone dials a 7 digit phone number, it will connect with the default local area code. That capability shouldn't prevent people from potentially specifying an area code though, which is what the single optional field of 'taxprovider' allows for. |
Today is the end of the 2 week comment period. Thank you to all that joined the Taxonomy Taskforce meeting today. We have concluded with the following way forward. Group Decision =
This issue description/proposal has been updated. Thank you! |
Spoke with @bjd326 about 'custtax' and 'taxprovider' after today's taxonomy meeting. A lot was clarified, and I now fully support vanilla segtax since it seems to provide for all the possible use cases being discussed around 'custtax' and 'taxprovider' and detailed below:
Here's a quick example of what this might look like, assuming taxonomy ids 1893-2021 have been given to a company called 'AdBuzz', who might be a data provider, an SSP, publisher, DSP or other organization.
Taxonomy composition would be public for 1893 and 1894 and publicly accessible via the links provided to the enum repository. By contrast, composition & taxonomy specifics would be privately distributed for taxonomies 1895 and 1896 even though their enum value is publicly available. In other words, 1895 and 1896 have reserved public taxonomy ids but the private definition files such as privtax1.json and privtax2.json would be provided to other platforms directly or distributed through private APIs. Similar to 1895 and 1896, 2020 and 2021 are examples of private, testing taxonomies and effectively placeholders that AdBuzz can use for one-offs and testing different shifts in their own private taxonomies. AdBuzz would be able to keep an arbitrary range within what they have been allotted for private/testing taxonomies, alleviating the need for 'custtax' or 'taxprovider'. The only real difference between a "testing" and "private" taxonomy would be how AdBuzz chooses to distribute the underlying definitions. |
I want to raise an additional potential issue with the data provider name as it is currently included. Having data provider id be a name with a url introduces a significant byte overhead, which is one of the things that 'segtax' solves for by using numeric taxonomy identifiers. I suggest we replace the "name" field with "id" and use the IAB GVLID numeric identifier to differentiate between vendors. The numeric vendor identifier list is available here: https://iabeurope.eu/vendor-list-tcf-v2-0
Example (after):
|
FWIW the difference is that Note the spec is still wrong, it needs to show |
@simontrasler noted, although the OpenRTB spec allows for both "id" and "name", i figure it would make more sense from a byte conservation perspective to use "id" and fill it with GVLIDs.. i will leave that argument up to the SSPs/DSPs & just make sure it is mentioned here if there are any object size concerns |
edited example to align |
I just noticed that the enumeration for the IABTL audience taxonomy is set to 3 in the example above - that is actually the ad product taxonomy in the AdCOM enumeration. I'd suggest using 4 for the audience taxonomy (and we also need to add the audience taxonomy to the AdCOM enumeration - looks like we missed that) |
@amitshetty - where's the definitive list of 'segtax' values? We did our best to anticipate what they would be at https://docs.prebid.org/features/firstPartyData.html#segments-and-taxonomy Some bid adapters are already coding to these segtax values, so we need to nail them down... |
This is the definitive list (with the caveat that audience taxonomy needs to be added). https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--category-taxonomies- |
Also, I just realized there is another discrepancy. 1 should point to content taxonomy 1.0 and 2 to content taxonomy 2.0. Which ofcourse begs the question of whether we need separate entries for 2.1 and 2.2. Personally I think that a 1.x and 2.x reference is sufficient, but will discuss in the working group. |
Thanks Amit - but are you sure the table in https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/master/AdCOM%20v1.0%20FINAL.md#list--category-taxonomies- is the one we want to consider the master for this segtax value? My understanding is that it will be a mix of both content and user taxonomy IDs, so is the plan to add id 4 (audience) to this table? I'd rather just point right here than duplicate the values in docs.prebid.org. |
I am currently confirming with the working group that we can add audience taxonomy too to that list, but I am pretty confident that is where we will land. Stay tuned - should wrap that up quickly. |
just wanted to add a note in support of changing the prebid iab audience segtax id to 4 in order to align with the audience taxonomy added to adcom |
doc updated. rubicon adapter updated. |
To be clear, the IAB specification reserves 1-499 for standard taxonomy and 500 onwards for custom values. |
The standard has been agreed upon in committee and in collaboration with the IAB ( eg InteractiveAdvertisingBureau/openrtb#65 ). |
Type of issue
Improvement
Description
This is a request for comment prior to next meeting (Dec 8).
The Taxonomy Taskforce has been presented with the below proposal from the taskforce's Prebid-IAB Tech Lab subcommittee. The subcommittee was created to zero-in on an agreeable structure for context and audience taxonomy segments and bring it back to the larger group.
Objectives were to support publisher, proprietary, and standardized segments with a simple structure that avoids significant repetitive text.
Additional Background
Proposal
With:
segtax
affiliation. I.e. it’s fully proprietary when noext.segtax
is provided.The proposed structure:
Example Taxonomy Registry (Managed by IAB Tech Lab):
*Note - numbers from 1-500 are reserved for standard taxonomy and 501 onwards can be used for custom / community agreed taxonomies.
The text was updated successfully, but these errors were encountered: