From d830c103360a1ada0c2a5156dca9ba5e0db182ef Mon Sep 17 00:00:00 2001 From: Bret Gorsline Date: Thu, 22 May 2025 10:54:52 -0400 Subject: [PATCH 1/3] pbs rules engine initial draft --- .../pbs_rules_engine_context.png | Bin 0 -> 119022 bytes .../prebid-server/pbs_rules_engine_tree.png | Bin 0 -> 117529 bytes prebid-server/pbs-modules/index.md | 1 + prebid-server/pbs-modules/rules-engine.md | 804 ++++++++++++++++++ 4 files changed, 805 insertions(+) create mode 100644 assets/images/prebid-server/pbs_rules_engine_context.png create mode 100644 assets/images/prebid-server/pbs_rules_engine_tree.png create mode 100644 prebid-server/pbs-modules/rules-engine.md diff --git a/assets/images/prebid-server/pbs_rules_engine_context.png b/assets/images/prebid-server/pbs_rules_engine_context.png new file mode 100644 index 0000000000000000000000000000000000000000..eddeb3e2f1f1a80e26f96c7fc7855be12028a2bd GIT binary patch literal 119022 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

kZFYV4=U=7Dn~DyAhDG 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 literal 0 HcmV?d00001 diff --git a/assets/images/prebid-server/pbs_rules_engine_tree.png b/assets/images/prebid-server/pbs_rules_engine_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..00ed471018e21095a76c462cd808a556bdc47a23 GIT binary patch literal 117529 zcmeEuhd-77|2M}h~a6{M?NzBv;)I z(K9_bDJ~({bwJKr`~cTcHL0sox;}-84EImy9ldUI(VLC+cJ;e+tX=TG>z$wOlZ34k z9jWej9&n#%6bRYmjuLVnkH?HRkm6`XTnKt>coT>FV|UwQaRWD94+ITAKBqU%Vij(r zt*h2Cbr+X&;zn&~J<%0}td+HPz5VX?0_Nt|jr(l0IM*(}m)l{}Cw%|;=x$YrY(B0y zjnq!fvpgodihx|y@$*NAS?rXfhE(j7DNQe#2{W_a_vfU+5q?r1_8Lb#I$&c;pzQcr zQn>-&xJZuUjIn;X8q(6tbi;fP8iP&~zhByENTFLw*|}&M%)k;6lQi^1zlLCer6Krn zu>!hzWMeS+Ot8{?wRmVKE6G!FHUfcsmZ_*S2T!sz9*i+MgB13PRW+7q4QZ&q&7x=* zelD2ji$}J>V}`)H>XT<#4&fc=dT*ip_3WX%9Yz+dXo{Cz{91J;O57TPH+|Vew1-tr z*c{)qS53anA|P{`N8!4Tn^CRWVV&WKI)>xr2R`~#sBROUYdXU?<2Ue-`cu#B*EjT^ z1Z+~LPd(OB70Ca7yzmEs7h098^{I>8yPVq`PtNI*aU3OJ-O&;VdRo|B`$3?PPuKR5 zS>Mp29HGSvVyVaSxHJzK26u33PqHEIIu;$s2VwmTBg6($#~j6#iFLTOA5`d+=x;1V}Hp9BQp^ zeKje+;^jcTMZLw0q7!+J4mfkiflK|g^I;-#Ke=kQ_s4J5aq&iuL@r0tHqejboqYD{ z7KNsU#Zf-mm`8d~FMgV@;=A4Zw!aH^_P`Op_8P5WVcT1m+1aTy9`rsEdMxB$>O=L> z^ZkWklEot%I35W7=NwfLBcwwr!`4Fy!!pF__^S7X&OEPTVLOw_GRs(SESrpwI9ZC9 z!FN*bIm2r*jbj%clYCtMNc7QJUS3{W-by|{?1B8I{0Vu#Fm~3}3!co^Wy8<%nX$`B zYs;iF6^6_Q4+MQN;>jZw@QGE@m&s;KU=m|M-gwR0d(J*|v+hD@Mrcf^^|?y*GjAf( zbJfN(M$y!X0JeJq__BkP99OE(=yDgShnoRhD^U#h1&iO&W1*dGkI zE&U^P@%+Qk^3eQHT-K-e6pd9~zux@n`E~iLgkz?lWL$FmYyBiI*>VL>P2Z&96td*E zn#uAbDbjQ#S9y|c?=tkb^^j?E%sqP@&#a)DSfZXUvHWOUCd*7)R2z|XJ4-r?HjAUj z!4f&=Fz4UX*hA{rA{Z{1?|5=*_Nze7^1bM-OMzx(W}n&v6iZVN&1g?cPqKgO&v3u# zETv+=aZM$uNNFK+;DTp#MW9zS+GJOCOOj9xj|1;zwTW*#A;%=8!%01>!+P40w}qjC;1tLIqo^hM;qKZ~}qvWHM-)OEw-izPs|1R#` z;9TsSl+*U?e6Q-P@7$qTow-3lO~FO#bZRSsU>ZDXjmz&YSJ>v+9lJc|fErPBjGrp2 zDfzG&^DN`p*H_iXwckGSwmO#1SiTnIiPfqrn|x%u?5H!`F}~K_|4F2G_wlv?Z3pcX zEs=11vth&0hA#d)RqeGQGbNw%o1e{xO&0cMH21c|%;?SSc75*hTTmTYer{YXe}~4X ze64UfY>Re%x7Nv&<4)1`%N@k-(_Pfgd2}l}3>}Dgj<|uC#(RVphZjNkj_B6?EBE;b z`^P73U19~BY;w&P^M>rtq`atoQTO8W%kYizUO-= za@h0%$6<^mpOe$ZY;p=DX+&%{@QeoVm-pzC;Q2gkMZ!oW*@(k zX<(scVGwKCmsfn@hv1L*8{zo6R}`-(y|1Ol2LBG z5^-Z(=jv7|#oHF&eLm*&aa!>@pM4TiAYvBzdE9cWd~|z}f7uT|{yukgzESgN-sr^n z`13J09^EKctyeW5?tU*n98-{3pl3$c{-Mph{j=2Dq?*GX(zk1fxvs{ti$p0WgewuaNBp^(?SMlDBo;Ky~_10fL&dOP2a=u z$yjiqLi`xvC_3+Wd1z4qV>73iT6%-NkZ^Q@5`OY_Q8%g;C>y23&u zJT8uf>7%>R6HgO9cQED5XfNb>O%To!{&+OtKR~q}krp-SBzyVH1c&~CVw-m%-(0tnCO*AWn2%7_HPN@K_-^-VDt-CeNTm?Q ztE~Q2##Ho7Vfc(yr%tJzM!tp@F=9Kn3fT>Rj_&PNM0#ZDsI&;=NtW&4SUE{i~gn9AA743(@nE422kZ+{!o+>Un zwDXd+FauERQ)5jz6D1`aR(N~>2OpObhX5Yo!j~v6)jyA=anIr4?LCjc!SOT0!Ts(0*+jjinO zT07L!AMAuDh;3xG>~U~TGGV`PQ`2;)F2bOxbd6rp+Rm7skDZg9lR@+# zJw3g!oso&)4JqlLhr|Cw816ba*a&iPI6FJDJM*wx+nI832?z*qaB_2Sb6GEx&5Em$6Yc{-)juw;E3bMNlB==;Li3Fxg5Vr zRrMo+wf{;Ovy!;r0R%$6{ThA>>s5lo<+4O(ta?X}U)P>ga$BHDaZWi!Mu7jo+uQrn zriK z4Ȩ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®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 | | [**Request Correction**](/prebid-server/pbs-modules/request-correction.html) | Apply optional corrections to bid requests. | general | | check | | [**Response Correction**](/prebid-server/pbs-modules/response-correction.html) | Apply optional corrections to bid responses. | general | | check | +| [**Rules Engine**](/prebid-server/pbs-modules/rules-engine.html) | Flexibly modify which bidders are participating in the auction. | general | check | check | ## Installing a PBS General Module diff --git a/prebid-server/pbs-modules/rules-engine.md b/prebid-server/pbs-modules/rules-engine.md new file mode 100644 index 0000000000..64932cddda --- /dev/null +++ b/prebid-server/pbs-modules/rules-engine.md @@ -0,0 +1,804 @@ +--- +layout: page_v2 +sidebarType: 5 +title: Prebid Server | Modules | Rules Engine +--- + +# Prebid Server | Modules | Rules Engine +{: .no_toc} + +- TOC +{:toc} + +## Overview + +The Rules Engine is a flexible module that lets host companies define JSON configuration for controlling various aspects of requests rather than having to having to code exceptions in a standalone module or in the core of Prebid Server. + +Most of the use cases for this version are centered around controlling which bid adapters are called in particular scenarios, based on: + +- host geography +- user geography +- presence of a synced ID for that bidder +- presence of first party data +- channel (web vs mobile app) + +### Limitations + +The first phase is limited in a number of ways: + +- Runs only at the Processed-Auction stage. +- Only delivers functions for including and excluding bidders. +- Does not necessarily reload config periodically like the Floors feature, making integration with a backend machine learning system more difficult. +- Does not support getting rules config from multiple sources. e.g. host-level rules cannot be merged with account-level rules. And ideally, there could someday be an ecosystem of vendors supplying config for different rule sets. This is not currently possible. + +### Future Enhancements + +- Add additional results functions. +- Support additional module stages. +- Improve getting configuration from multiple sources. + +The team will tackle enhancements as important use cases drive priority. + +## Quick Start + +For those who prefer to jump right in and see what it looks like, here's an example Rules Engine configuration that: + +98% of the time + +- removes bidderA in the EU datacenter +- removes bidderD in the EU datacenter if that bidder hasn't synced with this user +- removes bidderB and bidderF in the APAC datacenter +- logs any bidder removed to analytics + +2% of the time + +- logs "control" to analytics + +```json +{ + "hooks": { + "modules": { + "pb-rules-engine": { + "enabled": true, + "timestamp": "20250314 00:00:00", + "ruleSets": [ + { + "stage": "processed-auction-request", + "name": "remove-bidder-by-datacenter", + "version": "1234", + "modelGroups": [{ + "weight": 98, + "analyticsKey": "rm-bidder-by-dc", + "version": "4567", + "schema": [{"function": "datacenters"}], + "default": [], + "rules": [{ + "conditions": ["eu"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": [ "bidderA"], + "seatnonbid": 203, + "analyticsValue": "rm-eu" + },{ + "bidders": ["bidderD"], + "seatnonbid": 203, + "ifSyncedId": false, + "analyticsValue": "rm-eu-nosync" + } + ] + } + ] + },{ + "conditions": ["apac"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": ["bidderB", "bidderF"], + "seatnonbid": 203, + "analyticsValue": "rm-apac" + } + ] + } + ] + } + ] + },{ + "weight": 2, + "analyticsKey": "rm-bidder-by-dc", + "default": [ + { + "function": "logAtag", + "args": { + "analyticsValue": "control" + } + } + ] + + } + ] + } + ] + } + } + } +} +``` + +## How it Works + +Similar to the Floors feature, it's assumed that an offline machine-learning algorithm will be part of a bidder optimization feedback loop to adjust to changing conditions. Here's the assumed architecture: + +![Prebid Server Rules Engine Module](/assets/images/prebid-server/pbs_rules_engine_context.png){:class="pb-xlg-img"} + +1. Auction requests come in that trigger the Rules Engine Module. +1. The module reads the current set of rules from account configuration or by directly fetching them from the service provider. +1. The results of the optimization decision and the auction are logged via analytics. +1. Eventually the configuration is updated with refined rules. + +The initial goal of this module is to define the runtime capabilities that are required to surgically select bidders. We've defined a technical interface and a runtime behavior. Some uses of the module might be manually configured, but the most valuable use of the system will be in the periodic offline machine learning. The goal there is for Prebid to step out of the way and let members of the ecosystem compete to do the best job. + +We envision a time when, like the floors sytem, there are multiple vendors providing optimization services of different kinds. + +## Configuration Details + +Configuration is covered in several sections: + +1. [Module configuration syntax](#module-configuration) - the JSON used to express which bidders should run when. This is basically a kind of a Domain-Specific Language (DSL) where the +1. [Rule Trees](#rule-trees) - groups of rules should be thought of as 'trees' split along dimensions like 'datacenter' and 'channel'. These trees are processed in a particular way. +1. [Schema Functions](#schema-functions) - which dimensions and comparisons can be used in the configuration. +1. [Results Functions](#results-functions) - the specific outcomes once a specific rule is chosen. +1. [Runtime Processing](#runtime-processing) - how it all comes together. + +### Module Account-Level Configuration + +These are the full set of attributes that can be present in the account-level configuration: + +{: .table .table-bordered .table-striped } +| Property | Scope | Type | Description | Example | +|----------|-------|------|-------------|---------| +| enabled | optional | boolean | Whether the module as a whole is enabled. Allows for easy temporary deactivation. Defaults to true. | true | +| ruleSets[] | required | array of objects | One or more independent sets of rules. | | +| ruleSets[].enabled | optional | boolean | Indicates whether this ruleset is active. Defaults to true. Allows easy toggling for troubleshooting. | true | +| ruleSets[].timestamp | optional | string | String indicates when this ruleset was last updated. Useful in optimization and troubleshooting. | "20250101 00:00:00" | +| ruleSets[].stage | required | string | Which module stage this object applies to. Initially the only value allowed is "processed auction" | "processed auction" | +| rulesets[].name | optional | string | Just for human readability. | "remove-bidder-by-datacenter" | +| ruleSets[].modelGroups[] | required | array of objects | This is where the rule details are stored. It's an array in case there's a desire to A/B test different rule configs. Model groups work here like they do for [floors](/dev-docs/modules/floors.html#schema-2). | | +| ruleSets[].modelGroups[].weight | optional | integer | The relative weight of this specific modelGroup entry. Only one array entry within this modelGroup will be chosen. Default weight is 1, and they must range from 1 to 100. | 10 | +| ruleSets[].modelGroups[].version | optional | string | In case the machine learning system would like to track the specifics of an experiment. | "123" | +| ruleSets[].modelGroups[].default[] | optional | array of objects | The default results object should anything go wrong traversing the rule tree or if there aren't any rules defined. | | +| ruleSets[].modelGroups[].default[].function | optional | string | Which results function to call. | "logAtag" | +| ruleSets[].modelGroups[].default[].args | optional | object or array of objects | Which arguments to pass to the function. | | +| ruleSets[].modelGroups[].schema[] | optional | array of objects | Array of functions used to define the tree. | | +| ruleSets[].modelGroups[].schema[].function | optional | string | Which schema function to call. | "deviceCountry" | +| ruleSets[].modelGroups[].schema[].args | optional | array | Arguments to pass to the schema function. | [["USA","CAN"]] | +| ruleSets[].modelGroups[].analyticsKey | optional | string | Used to produce aTags and intended to identify an experiment or optimization target. | "456" | +| ruleSets[].modelGroups[].rules[] | optional | array of objects | The rules themselves. If not present, only the default rule will be chosen. | | +| ruleSets[].modelGroups[].rules[].conditions[] | optional | array of strings | Defines a node on the rule tree. The order of the entries in this array must match the order defined in the schema. | ["true", "false", "app"] | +| ruleSets[].modelGroups[].rules[].results[] | optional | array of objects | One or more results functions to run when this leaf of the tree is chosen. | | +| ruleSets[].modelGroups[].rules[].results[].function | optional | string | Which results function to call. | "logAtag" | +| ruleSets[].modelGroups[].rules[].results[].args | optional object or array of objects | Which arguments to pass to the function. | | + +### Rule Trees + +For each ruleset, the Rules Engine creates a data structure called the 'rule tree'. Each level of the tree is a particular dimension and each branch a specific value of that dimension. At runtime, the module will walk down the tree dimension-by-dimension until it finds a 'leaf'. That final node contains the operations that will be applied to the request. + +Mapping these concepts to the JSON syntax: + +- Each level of the tree corresponds to an entry in the 'schema' JSON element. +- Each branch of the tree is defined by the 'conditions' element in the JSON and compared against the value returned by the [schema function](#schema-functions) +- The contents of each leaf are stored in the 'results' JSON element, which is one or more [results functions](#results-functions) + +{: .alert.alert-warning :} +This model differs from how rules are handled in the [floors system](/dev-docs/modules/floors.html#rule-handling). In that model, the runtime system has the ability to "go back up" the tree if it finds a dead-end. While friendlier, that model can create performance problems. The Rules Engine system is a little harder to utilize, but guarantees that each dimension is processed only once. + +Here's an example rule tree: + +![Rules Engine Rules Tree](/assets/images/prebid-server/pbs_rules_engine_tree.png){:class="pb-xlg-img"} + +1. The first level is 'Dimension 1'. It has 3 specific values and one wildcard "other" value. +2. The second level is 'Dimension 2'. It has 2 or 3 values for each scenario and possibly a wildcard value. +3. There are 12 specific leaf nodes and one overall default leaf. +4. Note that the second branch does not have a wildcard option at the second level, so if none of the 3 specific values for Dimension 2 match (red lines), the module will jump to the default leaf. + +{: .alert.alert-info :} +Tip: you can also think of the rule tree as an N-dimensional matrix where each intersection of schema function values resolves to a 'results' node. + +See the [runtime processing](#runtime-processing) section below for more detail. + +### Schema Functions + +The module supplies a set of functions that parse the OpenRTB request for particular fields, pulling out a particular value. For instance, finding out which specific country or channel is associated with this request. These functions are called 'schema functions' because they form the structure of the Rule Tree as described in the section above. + +All of these functions operate only on the OpenRTB request at the 'Processed Auction Request' stage of module invocation. + +{: .table .table-bordered .table-striped } +| Schema Function | Args | Description | Output Example | +| :---- | :---- | :---- | :---- | +| deviceCountry | null | Returns OpenRTB device.geo.country. | "CAN" | +| deviceCountryIn | array of strings representing country codes | If the parameter is an array of strings, then check to see if device.geo.country is part of the named set (case sensitive). If yes, then return "true", else return "false". The parameter must be an array of strings. No length limit. If the array is length zero, treat it as 'null' above. | "true" | +| datacenters | null This is an option for those who don't have geo-lookup available on every request. | Returns the value of the datacenter, which is host-company specific. Please work with your host company to get the list values available in your environment. | "eu-west" | +| datacentersIn | array of strings containing PBS host company-specific code for region. This is an option for those who don't have geo-lookup available on every request. | Arguments must be an array of strings with no length limit. The function returns "true"/"false" if the actual datacenter is on the array (case sensitive). Please work with your host company to get the list values available in your environment. | "true" | +| channel | null | Returns ext.prebid.channel – e.g. web, amp, app. Returns empty string if there is no channel. | "app" | +| eidAvailable | null | Returns "true" if user.eids array exists and is non-empty. Returns "false" if user.eids doesn't exist or is empty. | "false" | +| eidIn | array of strings meant to be extended ID source values like "pubcid.org" | Returns "true"/"false" if the named eid.source is on the array (case sensitive). | "true" | +| userFpdAvailable | null | Scans user.ext.data and user.data Returns "true" if either user.ext.data or user.data exists and is non-empty. If neither exists with data, returns "false". Maybe be extended in the future to support specific fields. | "false" | +| fpdAvailable | null | Returns "true" if any of the following objects exists and has data: user.ext.data, user.data, site.ext.data, site.content.data, app.ext.data, app.content.data. Otherwise returns "false". | "false" | +| gppSidAvailable | null | Returns "true" if there are any values on regs.gpp\_sid greater than 0. Otherwise returns "false". | "true" | +| gppSidIn | array of ints | Returns "true" if any of the regs.gpp\_sid values are on the supplied array. (i.e. intersection is true). Otherwise returns "false". | "true" | +| tcfInScope | null | Returns "true" if regs.gdpr is "1". Otherwise returns "false". | "true" | +| percent | int | Returns "true" if a random integer between 0 and 100 inclusive is less than the supplied number. If the 'args' is null, default to 5. | "true" | +| domain | null | Returns \{site,app,dooh\}.publisher.domain | "example.com" | +| domainIn | array of strings representing domains | Returns "true" or "false" based on whether any of the supplied domains is on \{site,app,dooh\}.publisher.domain or \{site,app,dooh\}.domain | "true" | +| bundle | null | Returns app.bundle | "com.example.myapp" | +| bundleIn | array of strings representing app bundles | Returns "true" or "false" based on whether any of the supplied bundles is on app.bundle. | "false" | +| mediaTypes | array of strings representing media types | This function is called for each impression object on the request. It returns "true" or "false" based on whether any of the supplied mediaTypes is on the imp. Valid mediaTypes are "banner", "video", "native" | "true" | +| adUnitCode | null | This function is called for each impression object on the request. It returns the first of: imp.ext.gpid, imp.tagid, imp.ext.data.pbadslot, imp.ext.prebid.storedrequest.id | "/home/med-rect" | +| adUnitCodeIn | array of strings | This function is called for each impression object on the request. It returns "true" or "false" based on whether any of the supplied strings is on imp.ext.gpid, imp.tagid, imp.ext.data.pbadslot, imp.ext.prebid.storedrequest.id. | "true" | +| deviceType | null | Returns the OpenRTB device.devicetype. See the [AdCOM device type list](https://github.com/InteractiveAdvertisingBureau/AdCOM/blob/main/AdCOM%20v1.0%20FINAL.md#list--device-types-) for the integers that may be returned. Returns empty string if no device.devicetype exists. | "1" | +| deviceTypeIn | array of integers | Returns "true" or "false" based on whether any of the supplied integers matches device.devicetype. | "true" | + +Notes: + +- all args are wrapped in an array, so if the arg in the table above is an array, the JSON will be an array of arrays. +- All schema functions return strings -- even boolean and integer values are returned as strings. + +#### Schema Function Examples + +```json5 + "schema": [ + {"function": "deviceCountry", "args": [["FRA","DEU","GBR"]]}, // returns true if the country matches any in this list + {"function": "deviceCountry", "args": [["USA","CAN"]]}, // returns true if the country matches any in this list + {"function": "percent", "args": [50]}, // returns true 50% of the time + {"function": "mediaType", "args": [["video"]]}, // returns true for imps that have an imp.video block + {"function": "channel"}, // returns "web", "app", or "amp" + {"function": "eidAvailable", "args": [["pubcid.org"]]}, // returns true if the EIDs array contains a SharedID + {"function": "userFpdAvailable" } // returns true if there's any User First Party Data available + ], +``` + +### Results Functions + +Once the Rule Tree is processed, a 'leaf' is chosen. The syntax of the leaf is +an array of results functions that operate on the request and/or analytics. (Someday the system will likely support functions that operate on the response.) + +These are the currently define results functions: + +- includeBidders and excludeBidders +- logATag + +#### includeBidders and excludeBidders + +These functions modify the imp[].ext.prebid.bidders object. They have the same set of parameters, the only difference between them being that exclude removes the named bidders while include keeps only the named bidders. + +Here's an example invocation that means: + +- remove bidderA, report seatnonbid 203, and log [analytics value](/prebid-server/developers/module-atags.html) 'rm-eu' +- if bidderD is not in the [uids cookie](/prebid-server/developers/pbs-cookie-sync.html), then remove it, report seatnonbid 203, and log analytics value 'rm-eu-nosync' + +```json5 + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": [ "bidderA"], + "seatnonbid": 203, + "analyticsValue": "rm-eu" + },{ + "bidders": ["bidderD"], + "seatnonbid": 203, + "ifSyncedId": false, + "analyticsValue": "rm-eu-nosync" + } + ] + } + ] +``` + +Both functions expect an array of objects, each of which has these parameters: + +{: .table .table-bordered .table-striped } +| Arg | Value Type | Required? | Meaning | Default | +| :---- | :---- | :---- | :---- | :---- | +| bidders | array of strings | yes | The bidders to include or exclude | none | +| seatnonbid | integer | no | The seatnonbid code to use | 203 | +| ifSyncedId | boolean | no | Whether to consider this bidder's synced ID status | none | +| analyticsValue | string | no | Sent to the [aTag](/prebid-server/developers/module-atags.html) | none | + +Here's how they work: + +1. Find the intersection of the request bidders bidders (imp[n].ext.prebid.bidders) with the bidders listed in the include or exclude array +1. If 'ifSyncedId' is an argument, then for each of the bidders, check to see if the idsync status matches what's specified. For exclude, the intention is to remove the bidder from the list only if the synced id status matches, which means if the synced ID status doesn't match the arg, remove the bidder from the exclude array. +1. For 'exclude', remove these bidders from imp[n].ext.prebid.bidders +1. For 'include', keep only these bidders in imp[n].ext.prebid.bidders +1. If seatnonbid is specified, use the specified code to record the seatnonbid when ext.prebid.returnallbidstatus is true and for the aTag. Otherwise, use seatnonbid code 203. +1. If analyticsKey is present, then create an analytics tag as noted below. + +```json5 +{ + status: "success", + values: { + analyticsKey: "ANALYTICS_KEY", // defined at the modelGroup level + analyticsValue: "ANALYTICS_VAL", + modelVersion: "MODEL_VERSION", + conditionFired: CONDITION_ARRAY, + resultFunctions: ["exclude/includeBidders"], + // log the removed bidders for both include/exclude + biddersRemoved: ["bidderF", "bidderJ"], + seatnonbid: "SEATNONBID" + } + appliedTo: { + impIds: ["IMP.ID"] + } +} +``` + +#### logAtag + +[Analytics tags](/prebid-server/developers/module-atags.html) are how Prebid Server modules communicate their activity to the analytics adapters. Each analytics adapter needs to know how to retrieve these values. Check with your analytics vendor to make sure they can receive this data. + +The `logAtag` results function simply communicates some detail to the analytics adapters via the analytics tags. The idea is that data science teams will design experiments (e.g. try running bidderA on 5% of Brazilian traffic) and they will need analytics data for the experiment and the control. The syntax of the Rules Engine allows for flexibly defining how the analytics system sees various decisions made at runtime. + +Here's an example invocation that means: + +- tell analytics that this request is a control + +```json5 + "default": [{ + "function": "logAtag", + "args": { + "analyticsValue": "control" + } + } + ] +``` + +There's only one argument to this results function: + +{: .table .table-bordered .table-striped } +| Arg | Value Type | Required? | Meaning | Default | +| :---- | :---- | :---- | :---- | :---- | +| analyticsValue | string | yes | Sent to the aTag | none | + +The resulting analytics tag as seen by analytics adapters is: + +```json5 +{ + status: "success", + values: { + analyticsKey: "ANALYTICS_KEY", // defined at the modelGroup level + analyticsValue: "ANALYTICS_VAL", + modelVersion: "MODEL_VERSION", + conditionFired: CONDITION_ARRAY, + resultFunctions: ["logAtag"] + } + appliedTo: { + impIds: ["*"] + } +} +``` + +### Runtime Processing + +For those curious about the technical details, here's how the module works in detail: + +1. If not at the "processed-auction-request" stage, exit. +2. Check to see if we've already got the parsed account config in cache. If yes, then check the timestamp on the incoming account config to see if there's been an update since last parsing it. + 1. If necessary, parse (or re-parse) the config. + 1. Validate every call to a schema or result function by passing in the "validation: true" parameter and letting them verify their own params. + 2. Create data structures for parsed rules. + 3. Verify there's a "default" for every set of rules. + 2. If the config is completely validated, then cache it. If validation failed, log a failure aTag against the "pb-rules-engine-config" activity. + 3. If this was an update because of a new timestamp, continue with the previously cached parsed config. + 4. If this is the first run so there's no valid parsed config, exit with error +3. Check the module enabled in config. If not, exit. +4. Loop through ruleSets + 1. Check ruleset stage. If not current stage, go to next ruleset. + 2. If there's more than one modelGroup object, loop through them to add up weights. Randomly pick a number from 1-to-weight. Choose the appropriate group. + 3. Remember the chosen modelVersion if it's defined. + 4. Check the schema functions in use: (this will be expanded if/when we support other stages) + 1. If either adUnitCode or mediaType are specified, then loop through the ORTB imp objects + 1. Loop through schema functions, calling each one in turn, letting each one know what the current imp is. + 1. Follow the parsed data tree down each branch. + 2. If we ever run off the tree, choose the overall default response leaf object. + 2. else + 1. Loop through schema functions, calling each one in turn. (no need to tell them the imp ID) + 1. Follow the parsed data tree down each branch. + 2. If we ever run off the tree, choose the overall default response leaf object. + 5. If there are no schema functions or no rules specified, but there is a default, then that's the results object. + 6. We still don't have a results object, log a warning and go on to the next ruleSet. + 7. Loop through the results object's functions: + 1. Call each one with the appropriate arguments. + 8. Done with ruleSet, next one. +5. Done + +## Configuration Examples + +### Example 1: Remove bidders by datacenter + +- in the 'eu' datacenter, always remove bidderA. Remove bidderD if it hasn't done a user sync. +- in the 'apac' datacenter, always remove bidderB and bidderF + +```json5 +{ + "hooks": { + "modules": { + "pb-rules-engine": { + "enabled": true, + "timestamp": "20250314 00:00:00", + "ruleSets": [ + { + "stage": "processed-auction-request", + "name": "remove-bidder-by-datacenter", + "version": "1234", + "modelGroups": [ + { + "weight": 100, + "analyticsKey": "rm-bidder-by-dc", + "version": "4567", + "schema": [{"function": "datacenters"}], + "default": [], + "rules": [{ + "conditions": ["eu"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": [ "bidderA"], + "seatnonbid": 203, + "analyticsValue": "rm-eu" + },{ + "bidders": ["bidderD"], + "seatnonbid": 203, + "ifSyncedId": false, + "analyticsValue": "rm-eu-nosync" + } + ] + } + ] + },{ + "conditions": ["apac"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": ["bidderB", "bidderF"], + "seatnonbid": 203, + "analyticsValue": "rm-apac" + } + ] + } + ] + } + ] + } + ] + } + ] + } + } + } +} +``` + +### Example 2: Remove certain bidders from video requests 90% of the time + +- if the impression mediatype contains 'video', then remove bidderD 90% of the time + +```json5 +{ + "hooks": { + "modules": { + "pb-rules-engine": { + "enabled": true, + "timestamp": "20250314 00:00:00", + "ruleSets": [ + { + "stage": "processed-auction-request", + "name": "remove-bidder-mediatype-percent", + "version": "6789", + "modelGroups": [ + { + "weight": 100, + "analyticsKey": "test-video-bidders", + "version": "4567", + "schema": [{"function": "mediaType", "args": [["video"]]}, + {"function": "percent", "args": [90]} + ], + "default": [{ + "function": "logAtag", + "args": { + "analyticsValue": "control" + } + }], + "rules": [{ + "conditions": ["true","true"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": [ "bidderD"], + "analyticsValue": "leaf1" + }] + }] + } + ] + } + ] + } + ] + } + } + } +} +``` + +### Example 3: Remove Bidders by country, channel, eid, userFpd + +This is a complex example Rule Tree with 12 leaves: + +1. countryGroup=EU (EU countries true, APAC countries false) + 1. channel=app + 1. eidAvailable(sharedId)=true + 1. userFpdAvailable=wildcard + 1. remove bidderA (leaf 1\) + 2. eidAvailable(sharedId)=false + 1. userFpdAvailable=true + 1. remove bidderA, bidderD (leaf 2\) + 2. userFpdAvailable=false + 1. remove bidderA, bidderB (leaf 3\) + 2. channel=wildcard + 1. eidAvailable(sharedId)=wildcard + 1. userFpdAvailable=wildcard + 1. remove bidderC (leaf 4\) +2. countryGroup=APAC (EU countries false, APAC countries true) + 1. channel=web + 1. eidAvailable(sharedId)=true + 1. userFpdAvailable=true + 1. remove bidderA, bidderE (leaf 5\) + 2. userFpdAvailable=false + 1. remove bidderA, bidderB, bidderE (leaf 6\) + 2. eidAvailable(sharedId)=false + 1. userFpdAvailable=wildcard + 1. remove bidderA, bidderD, bidderF (leaf 7\) + 2. channel=wildcard + 1. eidAvailable(sharedId)=wildcard + 1. userFpdAvailable=true + 1. remove bidderA, bidderC (leaf 8\) + 2. userFpdAvailable=false + 1. remove bidderA, bidderF (leaf 9\) +3. countryGroup=OTHER (EU countries false, APAC countries false) + 1. channel=web + 1. eidAvailable(sharedId)=wildcard + 1. userFpdAvailable=wildcard + 1. no removals (leaf 10\) + 2. channel=wildcard + 1. eidAvailable(sharedId)=true + 1. userFpdAvailable=wildcard + 1. remove bidderB, bidderE (leaf 11\) + 2. eidAvailable(sharedId)=false + 1. userFpdAvailable=wildcard + 1. remove bidderE, bidderF (leaf 12\) + +Rules engine config: + +```json5 +{ + "hooks": { + "modules": { + "pb-rules-engine": { + "enabled": true, + "timestamp": "20250314 00:00:00", + "ruleSets": [ + { + "stage": "processed-auction-request", + "name": "remove-bidder-by-country-channel-eid-userFpd", + "version": "5678", + "modelGroups": [ + { + "weight": 100, + "analyticsKey": "filter-bidder", + "version": "4567", + "schema": [{"function": "deviceCountry", "args": [["FRA","DEU","GBR"]]}, + {"function": "deviceCountry", "args": [["JPN","AUS","KOR"]]}, + {"function": "channel"}, + {"function": "eidAvailable", "args": [["pubcid.org"]]}, + {"function": "userFpdAvailable" } + ], + "default": [], + "rules": [{ + "conditions": ["true","false","app","true","*"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": [ "bidderA"], + "analyticsValue": "leaf1" + }] + }] + },{ + "conditions": ["true","false","app","false","true"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": ["bidderA", "bidderD"], + "analyticsValue": "leaf2" + }] + }] + },{ + "conditions": ["true","false","app","false","false"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": ["bidderA", "bidderB"], + "analyticsValue": "leaf3" + }] + }] + },{ + "conditions": ["true","false","*","*","*"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": ["bidderC"], + "analyticsValue": "leaf4" + }] + }] + },{ + "conditions": ["false","true","web","true","true"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": ["bidderA", "bidderE"], + "analyticsValue": "leaf5" + }] + }] + },{ + "conditions": ["false","true","web","true","false"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": ["bidderA", "bidderB","bidderE"], + "analyticsValue": "leaf6" + }] + }] + },{ + "conditions": ["false","true","web","false","*"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": ["bidderA", "bidderD","bidderF"], + "analyticsValue": "leaf7" + }] + }] + },{ + "conditions": ["false","true","*","*","true"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": ["bidderA", "bidderC"], + "analyticsValue": "leaf8" + }] + }] + },{ + "conditions": ["false","true","*","*","false"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": ["bidderA", "bidderF"], + "analyticsValue": "leaf9" + }] + }] + },{ + "conditions": ["false","false","web","*","*"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": [], + "analyticsValue": "leaf10" + }] + }] + },{ + "conditions": ["false","false","*","true","*"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": ["bidderB", "bidderE"], + "analyticsValue": "leaf11" + }] + }] + },{ + "conditions": ["false","false","*","false","*"], + "results": [{ + "function": "excludeBidders", + "args": [{ + "bidders": ["bidderE", "bidderF"], + "analyticsValue": "leaf12" + }] + }] + } + ] + } + ] + } + ] + } + } + } +} +``` + +And here's how these scenarios would play out in various runtime conditions: + +1. **Input**: request from country FRA, channel web, contains eid(pubcid.org), userFpd is available + + - results: resolves to leaf 4 + - remove bidderC from imp\[0\] and imp\[1\] + - aTag logs leaf4 + +2. **Input**: request from country JPN, contains eid(pubcid.org), userFpd is available + + - results: resolves to leaf5 + - remove bidderA from imp\[0\] + - remove bidderE from imp\[0\] and imp\[1\] + - aTag logs leaf5 + +3. **Input**: request from country JPN, channel app, contains eid(pubcid.org), userFpd is available + + - results: resolves to leaf8 + - remove bidderA from imp\[0\] + - remove bidderC from imp\[0\] and imp\[1\] + - aTag logs leaf8 + +4. **Input**: request from country FRA, channel is app, no eids, userFpd is available + + - results: resolves to leaf2 + - remove bidderA from imp\[0\] + - remove bidderD from imp\[0\] and imp\[1\] + - aTag logs leaf2 + +## Installing the Module + +Like any Prebid Server module, the Rules Engine requires an execution plan. +We recommend placing the execution plan at the host level so all accounts have the module enabled. + +```json5 + "execution-plan": { + "endpoints": { + "/openrtb2/amp": { + "stages": { + "processed-auction": { + "groups": [{ + "timeout": 10, + "hook-sequence": [{ + "module-code": "rules-engine", + "hook-impl-code": "rules-engine-processed-auction" + } + ] + } + ] + } + } + }, + "/openrtb2/auction": { + "stages": { + "processed-auction": { + "groups": [{ + "timeout": 10, + "hook-sequence": [ { + "module-code": "rules-engine", + "hook-impl-code": "rules-engine-processed-auction" + } + ] + } + ] + } + } + } + } + } +``` + +## Next Steps + +If you have any feedback about how you'd like to see the Rules Engine evolve, please let us know by joining the Prebid Server committee or posting an issue in the github repo. + +## Further Reading + +- [Prebid Server modules](/prebid-server/pbs-modules/index.html) +- [Prebid Server module stages](/prebid-server/developers/add-a-module.html#2-understand-the-endpoints-and-stages) +- [Analytics Tags](/prebid-server/developers/module-atags.html) From 3b55982268905d9903a6fbfc737e48a278a63150 Mon Sep 17 00:00:00 2001 From: Bret Gorsline Date: Thu, 22 May 2025 11:02:50 -0400 Subject: [PATCH 2/3] lint --- prebid-server/pbs-modules/rules-engine.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/prebid-server/pbs-modules/rules-engine.md b/prebid-server/pbs-modules/rules-engine.md index 64932cddda..9c6de27426 100644 --- a/prebid-server/pbs-modules/rules-engine.md +++ b/prebid-server/pbs-modules/rules-engine.md @@ -144,7 +144,7 @@ We envision a time when, like the floors sytem, there are multiple vendors provi Configuration is covered in several sections: -1. [Module configuration syntax](#module-configuration) - the JSON used to express which bidders should run when. This is basically a kind of a Domain-Specific Language (DSL) where the +1. [Module configuration syntax](#module-account-level-configuration) - the JSON used to express which bidders should run when. This is basically a kind of a Domain-Specific Language (DSL) where the 1. [Rule Trees](#rule-trees) - groups of rules should be thought of as 'trees' split along dimensions like 'datacenter' and 'channel'. These trees are processed in a particular way. 1. [Schema Functions](#schema-functions) - which dimensions and comparisons can be used in the configuration. 1. [Results Functions](#results-functions) - the specific outcomes once a specific rule is chosen. @@ -177,7 +177,7 @@ These are the full set of attributes that can be present in the account-level co | ruleSets[].modelGroups[].rules[].conditions[] | optional | array of strings | Defines a node on the rule tree. The order of the entries in this array must match the order defined in the schema. | ["true", "false", "app"] | | ruleSets[].modelGroups[].rules[].results[] | optional | array of objects | One or more results functions to run when this leaf of the tree is chosen. | | | ruleSets[].modelGroups[].rules[].results[].function | optional | string | Which results function to call. | "logAtag" | -| ruleSets[].modelGroups[].rules[].results[].args | optional object or array of objects | Which arguments to pass to the function. | | +| ruleSets[].modelGroups[].rules[].results[].args | optional | object or array of objects | Which arguments to pass to the function. | | ### Rule Trees @@ -343,13 +343,13 @@ Here's an example invocation that means: - tell analytics that this request is a control ```json5 - "default": [{ - "function": "logAtag", - "args": { - "analyticsValue": "control" - } - } - ] +"default": [{ + "function": "logAtag", + "args": { + "analyticsValue": "control" + } + } +] ``` There's only one argument to this results function: From 9fda8fc6a19198ad6ed9168fe56999447876b58d Mon Sep 17 00:00:00 2001 From: bretg Date: Mon, 30 Jun 2025 09:05:24 -0400 Subject: [PATCH 3/3] param update, wordsmithing --- prebid-server/pbs-modules/rules-engine.md | 37 ++++++++++++----------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/prebid-server/pbs-modules/rules-engine.md b/prebid-server/pbs-modules/rules-engine.md index 9c6de27426..ec23dcd3ff 100644 --- a/prebid-server/pbs-modules/rules-engine.md +++ b/prebid-server/pbs-modules/rules-engine.md @@ -12,7 +12,7 @@ title: Prebid Server | Modules | Rules Engine ## Overview -The Rules Engine is a flexible module that lets host companies define JSON configuration for controlling various aspects of requests rather than having to having to code exceptions in a standalone module or in the core of Prebid Server. +The Rules Engine is a flexible module that allows host companies to define JSON configurations for controlling various aspects of requests, rather than having to code exceptions in a standalone module or in the core of Prebid Server. Most of the use cases for this version are centered around controlling which bid adapters are called in particular scenarios, based on: @@ -24,18 +24,18 @@ Most of the use cases for this version are centered around controlling which bid ### Limitations -The first phase is limited in a number of ways: +The first phase is limited in several ways: - Runs only at the Processed-Auction stage. - Only delivers functions for including and excluding bidders. -- Does not necessarily reload config periodically like the Floors feature, making integration with a backend machine learning system more difficult. -- Does not support getting rules config from multiple sources. e.g. host-level rules cannot be merged with account-level rules. And ideally, there could someday be an ecosystem of vendors supplying config for different rule sets. This is not currently possible. +- Does not necessarily reload config periodically like the Floors feature, making integration with a backend machine learning system more challenging. +- Does not support getting rules config from multiple sources. e.g. host-level rules cannot be merged with account-level rules. And ideally, there could be an ecosystem of vendors supplying config for different rule sets. This is not currently possible. ### Future Enhancements - Add additional results functions. - Support additional module stages. -- Improve getting configuration from multiple sources. +- Improve getting the configuration from multiple sources. The team will tackle enhancements as important use cases drive priority. @@ -158,15 +158,16 @@ These are the full set of attributes that can be present in the account-level co | Property | Scope | Type | Description | Example | |----------|-------|------|-------------|---------| | enabled | optional | boolean | Whether the module as a whole is enabled. Allows for easy temporary deactivation. Defaults to true. | true | +| generateRulesFromBidderConfig | optional | boolean | (PBS-Go only) If true, the module automatically generates rules based on 'geoscope' section of the bidder YAML files to include or exclude that bidder from certain countries. Defaults to true. | false | | ruleSets[] | required | array of objects | One or more independent sets of rules. | | | ruleSets[].enabled | optional | boolean | Indicates whether this ruleset is active. Defaults to true. Allows easy toggling for troubleshooting. | true | -| ruleSets[].timestamp | optional | string | String indicates when this ruleset was last updated. Useful in optimization and troubleshooting. | "20250101 00:00:00" | -| ruleSets[].stage | required | string | Which module stage this object applies to. Initially the only value allowed is "processed auction" | "processed auction" | +| ruleSets[].timestamp | optional | string | String indicates when this ruleset was last updated. Useful in optimization and troubleshooting. Format is ISO 8601. | "20250101T00:00:00" | +| ruleSets[].stage | required | string | Which module stage this object applies to. Initially, the only value allowed is "processed auction" | "processed auction" | | rulesets[].name | optional | string | Just for human readability. | "remove-bidder-by-datacenter" | | ruleSets[].modelGroups[] | required | array of objects | This is where the rule details are stored. It's an array in case there's a desire to A/B test different rule configs. Model groups work here like they do for [floors](/dev-docs/modules/floors.html#schema-2). | | | ruleSets[].modelGroups[].weight | optional | integer | The relative weight of this specific modelGroup entry. Only one array entry within this modelGroup will be chosen. Default weight is 1, and they must range from 1 to 100. | 10 | | ruleSets[].modelGroups[].version | optional | string | In case the machine learning system would like to track the specifics of an experiment. | "123" | -| ruleSets[].modelGroups[].default[] | optional | array of objects | The default results object should anything go wrong traversing the rule tree or if there aren't any rules defined. | | +| ruleSets[].modelGroups[].default[] | optional | array of objects | The default results object to be used if anything goes wrong while traversing the rule tree or if there aren't any rules defined. | | | ruleSets[].modelGroups[].default[].function | optional | string | Which results function to call. | "logAtag" | | ruleSets[].modelGroups[].default[].args | optional | object or array of objects | Which arguments to pass to the function. | | | ruleSets[].modelGroups[].schema[] | optional | array of objects | Array of functions used to define the tree. | | @@ -190,7 +191,7 @@ Mapping these concepts to the JSON syntax: - The contents of each leaf are stored in the 'results' JSON element, which is one or more [results functions](#results-functions) {: .alert.alert-warning :} -This model differs from how rules are handled in the [floors system](/dev-docs/modules/floors.html#rule-handling). In that model, the runtime system has the ability to "go back up" the tree if it finds a dead-end. While friendlier, that model can create performance problems. The Rules Engine system is a little harder to utilize, but guarantees that each dimension is processed only once. +This model differs from how rules are handled in the [floors system](/dev-docs/modules/floors.html#rule-handling). In that model, the runtime system has the ability to "go back up" the tree if it finds a dead-end. While friendlier, that model can create performance problems. The Rules Engine system is a little harder to utilize, but it guarantees that each dimension is processed only once. Here's an example rule tree: @@ -204,11 +205,11 @@ Here's an example rule tree: {: .alert.alert-info :} Tip: you can also think of the rule tree as an N-dimensional matrix where each intersection of schema function values resolves to a 'results' node. -See the [runtime processing](#runtime-processing) section below for more detail. +See the [runtime processing](#runtime-processing) section below for more details. ### Schema Functions -The module supplies a set of functions that parse the OpenRTB request for particular fields, pulling out a particular value. For instance, finding out which specific country or channel is associated with this request. These functions are called 'schema functions' because they form the structure of the Rule Tree as described in the section above. +The module provides a set of functions that parse the OpenRTB request for specific fields, extracting a particular value. For instance, finding out which specific country or channel is associated with this request. These functions are called 'schema functions' because they form the structure of the Rule Tree as described in the section above. All of these functions operate only on the OpenRTB request at the 'Processed Auction Request' stage of module invocation. @@ -217,7 +218,7 @@ All of these functions operate only on the OpenRTB request at the 'Processed Auc | :---- | :---- | :---- | :---- | | deviceCountry | null | Returns OpenRTB device.geo.country. | "CAN" | | deviceCountryIn | array of strings representing country codes | If the parameter is an array of strings, then check to see if device.geo.country is part of the named set (case sensitive). If yes, then return "true", else return "false". The parameter must be an array of strings. No length limit. If the array is length zero, treat it as 'null' above. | "true" | -| datacenters | null This is an option for those who don't have geo-lookup available on every request. | Returns the value of the datacenter, which is host-company specific. Please work with your host company to get the list values available in your environment. | "eu-west" | +| datacenters | null This is an option for those who don't have geo-lookup available on every request. | Returns the value of the datacenter, which is host-company specific. Please work with your host company to get the list of values available in your environment. | "eu-west" | | datacentersIn | array of strings containing PBS host company-specific code for region. This is an option for those who don't have geo-lookup available on every request. | Arguments must be an array of strings with no length limit. The function returns "true"/"false" if the actual datacenter is on the array (case sensitive). Please work with your host company to get the list values available in your environment. | "true" | | channel | null | Returns ext.prebid.channel – e.g. web, amp, app. Returns empty string if there is no channel. | "app" | | eidAvailable | null | Returns "true" if user.eids array exists and is non-empty. Returns "false" if user.eids doesn't exist or is empty. | "false" | @@ -260,9 +261,9 @@ Notes: ### Results Functions Once the Rule Tree is processed, a 'leaf' is chosen. The syntax of the leaf is -an array of results functions that operate on the request and/or analytics. (Someday the system will likely support functions that operate on the response.) +an array of results functions that operate on the request and/or analytics. (Someday, the system will likely support functions that operate on the response.) -These are the currently define results functions: +These are the currently defined results functions: - includeBidders and excludeBidders - logATag @@ -306,11 +307,11 @@ Both functions expect an array of objects, each of which has these parameters: Here's how they work: -1. Find the intersection of the request bidders bidders (imp[n].ext.prebid.bidders) with the bidders listed in the include or exclude array +1. Find the intersection of the request bidders (imp[n].ext.prebid.bidders) with the bidders listed in the include or exclude array 1. If 'ifSyncedId' is an argument, then for each of the bidders, check to see if the idsync status matches what's specified. For exclude, the intention is to remove the bidder from the list only if the synced id status matches, which means if the synced ID status doesn't match the arg, remove the bidder from the exclude array. 1. For 'exclude', remove these bidders from imp[n].ext.prebid.bidders 1. For 'include', keep only these bidders in imp[n].ext.prebid.bidders -1. If seatnonbid is specified, use the specified code to record the seatnonbid when ext.prebid.returnallbidstatus is true and for the aTag. Otherwise, use seatnonbid code 203. +1. If seatnonbid is specified, use that code to record the seatnonbid when ext.prebid.returnallbidstatus is true and for the aTag. Otherwise, use seatnonbid code 203. 1. If analyticsKey is present, then create an analytics tag as noted below. ```json5 @@ -336,11 +337,11 @@ Here's how they work: [Analytics tags](/prebid-server/developers/module-atags.html) are how Prebid Server modules communicate their activity to the analytics adapters. Each analytics adapter needs to know how to retrieve these values. Check with your analytics vendor to make sure they can receive this data. -The `logAtag` results function simply communicates some detail to the analytics adapters via the analytics tags. The idea is that data science teams will design experiments (e.g. try running bidderA on 5% of Brazilian traffic) and they will need analytics data for the experiment and the control. The syntax of the Rules Engine allows for flexibly defining how the analytics system sees various decisions made at runtime. +The `logAtag` results function communicates some details to the analytics adapters via the analytics tags. The idea is that data science teams will design experiments (e.g. try running bidderA on 5% of Brazilian traffic) and they will need analytics data for the experiment and the control. The syntax of the Rules Engine allows for flexibly defining how the analytics system sees various decisions made at runtime. Here's an example invocation that means: -- tell analytics that this request is a control +- Tell analytics that this request is a control ```json5 "default": [{