US-20260127639-A1 - CONDITIONAL CONTENT SELECTION PROCEDURES
Abstract
Systems, methods, and and/or algorithms facilitate the efficient provision of content to a client device, for filling content slots of an information resource having multiple content slots. A server receives, from a client device, a request for content to be included in the information resource and, in response, performs one or more content selection procedures to select one or more content items for one or more content slots. The server may, based on the results of the content selection procedure(s), conditionally perform or not perform one or more additional content selection procedures for one or more other content slots of the information resource. Alternatively or additionally, the server may, based on a format or content of one or more content items selected during the initial content selection procedure(s), apply one or more constraints to restrict which content items can be candidates in a one or more additional content selection procedures.
Inventors
- Anita LU
- Zhiwen Guan
- Vinay Vemuri
- Shweta AGRAWAL
- Joseph Joseph CHERUKARA
- Tianqi Wen
- Weiqi ZHANG
Assignees
- GOOGLE LLC
Dates
- Publication Date
- 20260507
- Application Date
- 20230727
Claims (19)
- 1 . A method for efficiently providing content to a client device, the method comprising: receiving, by a server and from the client device, a request for content to be included in an information resource having a plurality of content slots; in response to the request, selecting, by the server, one or more content items, including determining first content selection results for a first subset of the plurality of content slots, at least by using selection parameters associated with candidate content items to perform a first one or more content selection procedures, and based on the first content selection results, conditionally performing or not performing a second one or more content selection procedures for a second subset of the plurality of content slots; and causing, by the server, the client device to fill one or more content slots, of the plurality of content slots, with the selected one or more content items.
- 2 . The method of claim 1 , wherein selecting the one or more content items includes: not performing the second one or more content selection procedures when selecting a first set of one or more content items to fill the first subset of the plurality of content slots; and performing the second one or more content selection procedures when not selecting any content any content items to fill the first subset of the plurality of content slots.
- 3 . The method of claim 1 , wherein: determining the first content selection results includes selecting a first set of one or more content items to fill the first subset of the plurality of content slots; and selecting the one or more content items includes conditionally performing or not performing the second one or more content selection procedures based on one or more characteristics of the first set of content items.
- 4 . The method of claim 3 , wherein the one or more characteristics of the first set of content items includes one or more relevancy scores associated with the first set of content items.
- 5 . The method of claim 4 , further comprising: determining, by the server, the one or more relevancy scores using a machine learning model.
- 6 . The method of claim 1 , further comprising: before selecting the one or more content items, determining, by the server, that the first subset has a higher priority than the second subset, wherein performing the first one or more content selection procedures is in response to determining that the first subset has a higher priority than the second subset.
- 7 . The method of claim 6 , wherein: the first subset of the plurality of content slots includes at least a first content slot and a second content slot; the first one or more content selection procedures includes a third content selection procedure for the first content slot and a fourth content selection procedure for the second content slot; and performing the first one or more content selection procedures includes performing the third content selection procedure at least partially in parallel with performing the fourth content selection procedure.
- 8 . The method of claim 1 , wherein one or both of: the first subset of the plurality of content slots consists of a single content slot; and the second subset of the plurality of content slots consists of a single content slot.
- 9 . The method of claim 1 , wherein the request is a remote procedure call (RPC).
- 10 - 21 . (canceled)
- 22 . A server comprising one or more processors and one or more memories, the one or more memories storing instructions that, when executed by the one or more processors, cause the one or more processors to: receive, from a client device, a request for content to be included in an information resource having a plurality of content slots; in response to the request, select one or more content items, wherein the selecting includes determining first content selection results for a first subset of the plurality of content slots, at least by using selection parameters associated with candidate content items to perform a first one or more content selection procedures, and based on the first content selection results, conditionally performing or not performing a second one or more content selection procedures for a second subset of the plurality of content slots; and cause the client device to fill one or more content slots, of the plurality of content slots, with the selected one or more content items.
- 23 . The server of claim 22 , wherein selecting the one or more content items includes: not performing the second one or more content selection procedures when selecting a first set of one or more content items to fill the first subset of the plurality of content slots; and performing the second one or more content selection procedures when not selecting any content any content items to fill the first subset of the plurality of content slots.
- 24 . The server of claim 22 , wherein: determining the first content selection results includes selecting a first set of one or more content items to fill the first subset of the plurality of content slots; and selecting the one or more content items includes conditionally performing or not performing the second one or more content selection procedures based on one or more characteristics of the first set of content items.
- 25 . The server of claim 24 , wherein the one or more characteristics of the first set of content items includes one or more relevancy scores associated with the first set of content items.
- 26 . The server of claim 25 , wherein the instructions further cause the one or more processors to: determine the one or more relevancy scores using a machine learning model.
- 27 . The server of claim 22 , wherein the instructions further cause the one or more processors to: before selecting the one or more content items, determine that the first subset has a higher priority than the second subset, wherein performing the first one or more content selection procedures is in response to determining that the first subset has a higher priority than the second subset.
- 28 . The server of claim 27 , wherein: the first subset of the plurality of content slots includes at least a first content slot and a second content slot; the first one or more content selection procedures includes a third content selection procedure for the first content slot and a fourth content selection procedure for the second content slot; and performing the first one or more content selection procedures includes performing the third content selection procedure at least partially in parallel with performing the fourth content selection procedure.
- 29 . The server of claim 22 , wherein one or both of: the first subset of the plurality of content slots consists of a single content slot; and the second subset of the plurality of content slots consists of a single content slot.
- 30 . The server of claim 22 , wherein the request is a remote procedure call (RPC).
Description
FIELD OF TECHNOLOGY The present disclosure relates to content selections procedures and, more specifically, to procedures for selecting content to be provided to a client device for presentation to a user within content slots of an information resource. BACKGROUND The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventor(s), to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure. In some scenarios, such as when a user is visiting a web page or viewing a screen provided by a dedicated application, the user is presented with additional, dynamically-added content within certain reserved areas of the page or screen. For example, a web page may reserve one or more “slots” for third party content, and a client device may request that a server provide content items, such as digital advertisements or other third-party content items, to fill those slots. Typically, a client device sends the server a request for a given content slot, causing the server to perform a procedure to select a particular content item. The server then provides the selected content item to the client device, which populates/fills the slot with the content item. In the case of digital advertising, for example, the content selection procedure typically involves an auction. After some pre-filtering of advertisements (e.g., based on various targeting parameters), bidding scores and ranks are determined for the remaining candidates. A winner of the auction is determined based on the ranks, and the winner's advertisement is used to fill the content slot. In cases where multiple content slots are available to be filled on a web page, user interface, or another information resource, various complexities may arise. For example, different slots and different content item formats may be associated with different priorities, and/or may have dependencies on (e.g., conflicts with) each other. As an example in the digital advertising context: to enhance or preserve the value of a prominent (e.g., top-of-page) ad slot, it may be preferable, when a sponsored content item (advertisement) is selected to fill that slot, to avoid putting another advertisement in a nearby slot, which could distract and/or annoy a user. In other examples, it may be preferable to avoid populating a single page with too many advertisements, and/or to avoid placing competing advertisements (e.g., for similar products) in adjacent slots of a page, etc. Accordingly, various decisions need to be made regarding whether to select particular advertisements, which advertisement slots should be filled, and/or whether to apply certain constraints on which advertisements can be candidates in an advertisement selection process. In some existing systems, this decision-making process is performed by carrying out auctions for all available advertisement slots, and then determining whether to drop certain advertisements from among the auction winners. For example, in response to a request from a client device, a server may carry out a first auction for a first slot on a page and a second auction for a second slot on the same page. If the first auction has a certain result, such as the first slot being filled (or the first slot being filled by an ad for a particular product or brand, etc.), the winning advertisement for the second slot may be discarded; otherwise, the winning advertisement for the second slot is used to fill the second slot. This approach has certain technical drawbacks, however. First, because auctions are run for all requested slots (e.g., all slots on a page the user is visiting) but only a subset of the winning advertisements may be served to the user's device, there is typically a waste of processing resources. In particular, processing resources (e.g., processing time, processing power) at the server are wasted by running auctions even for slots where, ultimately, no advertisement is presented. Second, because advertisements for some slots may be dropped based on the result/winner for other slots, the advertisement slot “fill rate” may be diminished, resulting in inefficient provision of advertising content by the server (and thus, fewer impressions, lower ad revenue, etc.). In other systems, the decision-making process is carried out by way of the client device making multiple remote procedure calls (RPCs) to the server, in sequence, to fetch advertisements for the different slots on a page. Under this approach, the client device makes a first RPC to the server for a first slot, and then waits for and considers the result/response obtained from the server before making a second RPC to the server for a second slot, etc. This approach, too, has significant drawbacks. First, because the clien