IP Library Granted Patent US 12,580,991
Granted Patent B2
US 12,580,991 · App. 17/382,420 · Granted Mar 17, 2026

Maintaining session identifiers across multiple webpages for content selection

Inventors: Justin Lewis (Mountain View, CA); Thomas Price (Mountain View, CA)
Assignee: GOOGLE LLC
H04L67/146G06F16/9554G06F16/958H04L67/535
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,580,991
App. No.
17/382,420
Granted
Mar 17, 2026
Kind
B2
Abstract

Systems and methods for maintaining session identifiers across multiple webpages for content selection are described herein. A server can generate a session identifier corresponding to the client device for use in selecting content to be served across the information resources of a content publisher. The server can then receive, from the client device, a request for instructions to insert into a header of an information resource for selecting a content provider. The server can determine that the request includes the session identifier that matches the one generated for a previous request. The server can obtain a parameter value for each content provider with the session identifier. The server can select a content provider using the parameter values. The server can provide a script to the client device for the header. The script can be configured to cause the client device to obtain a content item from the selected content provider to insert into the information resource.

Claims (35)

1 . A method, comprising:

receiving, by a data processing system, from a client device, a request for instructions to insert into a header of a first web page associated with a content publisher;

determining, by the data processing system, whether the request includes a session identifier that matches a session identifier previously provided to a plurality of content providers in response to the client device accessing a second web page of the content publisher;

obtaining, by the data processing system, bid values for a plurality of content providers;

when determining that the request does not include a session identifier that matches a session identifier previously provided to a plurality of content providers in response to the client device accessing a second web page of the content publisher,

providing, by the data processing system, a first script to the client device to insert into the header of the first web page, the first script including bid values for use in a client-side auction in which the client device selects a content provider from the plurality of content providers based on the bid values; and

when determining that the request includes a session identifier that matches a session identifier previously provided to a plurality of content providers in response to the client device accessing a second web page of the content publisher,

executing, by the data processing system, an auction, at least in part by selecting, based on the bid values, a content provider from the plurality of content providers, and

providing, by the data processing system, a second script to the client device to insert into the header of the first web page, the second script configured to cause the client device to retrieve a content item from the selected content provider to insert into a body of the first web page.

2 . The method of claim 1 , wherein obtaining the bid values comprises identifying a bid value in accordance with a conditional sequence for a corresponding content provider, the conditional sequence defining a plurality of bid values to be selected based on prior selection of content from the corresponding content provider.

3 . The method of claim 2 , wherein identifying the bid value in accordance with the conditional sequence for the corresponding content provider includes:

determining, by a machine learning model, to use the conditional sequence, instead of a fetched bid value, to identify the bid value.

4 . The method of claim 1 , wherein obtaining the bid values comprises retrieving, when determining that the request includes a session identifier that matches the session identifier previously provided to the plurality of content providers in response to the client device accessing the second web page of the content publisher, the bid values from the plurality of content providers using the session identifier.

5 . The method of claim 1 , wherein obtaining the bid values comprises determining to request retrieval of a bid value from a corresponding content provider, subsequent to a prior use of the bid value in selecting content.

6 . The method of claim 1 , wherein providing the second script further comprises generating the second script to include an address identifying the content item of the selected content provider, the second script configured to cause the client device to retrieve the content item using the address.

7 . The method of claim 1 , wherein receiving further comprises receiving the request from the client device responsive to the client device executing a third script included in the header of the first web page by a content publisher.

8 . The method of claim 1 , further comprising generating, by the data processing system, and when determining that the request does not include a session identifier that matches a session identifier previously provided to the plurality of content providers in response to the client device accessing a second web page of the content publisher, a session identifier to provide to each of the plurality of content providers.

9 . A system, comprising:

a data processing system having one or more processors coupled with memory, configured to:

receive, from a client device, a request for instructions to insert into a header of a first web page associated with a content publisher;

determine whether the request includes a session identifier that matches a session identifier previously provided to a plurality of content providers in response to the client device accessing a second web page of the content publisher;

obtain bid values for a plurality of content providers;

when determining that the request does not include a session identifier that matches a session identifier previously provided to a plurality of content providers in response to the client device accessing a second web page of the content publisher,

provide a first script to the client device to insert into the header of the first web page, the first script including bid values for use in a client-side auction in which the client device selects a content provider from the plurality of content providers based on the bid values; and

when determining that the request includes a session identifier that matches a session identifier previously provided to a plurality of content providers in response to the client device accessing a second web page of the content publisher,

execute an auction, an auction, at least in part by selecting, based on the bid values, a content provider from the plurality of content providers, and

provide a second script to the client device to insert into the header of the first web page, the second script configured to cause the client device to retrieve a content item from the selected content provider to insert into a body of the first web page.

10 . The system of claim 9 , wherein the data processing system is configured to obtain the bid values at least in part by identifying a bid value in accordance with a conditional sequence for a corresponding content provider, the conditional sequence defining a plurality of bid values to be selected based on prior selection of content from the corresponding content provider.

11 . The system of claim 10 , wherein the data processing system is configured to identify the bid value in accordance with the conditional sequence for the corresponding content provider at least in part by:

determining, by a machine learning model, to use the conditional sequence, instead of a fetched bid value, to identify the bid value.

12 . The system of claim 9 , wherein the data processing system is configured to obtain the bid values at least in part by retrieving, when determining that the request includes a session identifier that matches the session identifier previously provided to the plurality of content providers in response to the client device accessing the second web page of the content publisher, the bid values from the plurality of content providers using the session identifier.

13 . The system of claim 9 , wherein the data processing system is configured to obtain the bid values at least in part by determining to request retrieval of a bid value from a corresponding content provider, subsequent to a prior use of the bid value in selecting content.

14 . The system of claim 9 , wherein the data processing system is configured to provide the second script at least in part by generating the second script to include an address identifying the content item of the selected content provider, the second script configured to cause the client device to retrieve the content item using the address.

15 . The system of claim 9 , wherein the data processing system is configured to receive the request from the client device responsive to the client device executing a third script included in the header of the first web page by a content publisher.

16 . The system of claim 9 , wherein the data processing system is further configured to generate, when determining that the request does not include a session identifier that matches a session identifier previously provided to the plurality of content providers in response to the client device accessing a second web page of the content publisher, a session identifier to provide to each of the plurality of content providers.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2022
From: PRICE, THOMAS; LEWIS, JUSTIN
To: GOOGLE INC.
Reel/Frame 060587/0597 →
CHANGE OF NAME Recorded Jul 22, 2022
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 060827/0725 →
Continuity (3)
Continuation 16606501
Continuation PCTUS2017047843 · Aug 21, 2017
Related Publication 20210352150A1 · Nov 11, 2021
References Cited (53)
US 7162436B1 · Eckel, Jr. · 2007 [cited by applicant]
US 7633955B1 · Saraiya et al. · 2009 [cited by applicant]
US 8112310B1 · Yehoshua · 2012 [cited by examiner]
US 9092338B1 · Qiu · 2015 [cited by examiner]
US 9159083B1 · Johnson · 2015 [cited by examiner]
US 9619822B1 · Harris · 2017 [cited by examiner]
US 20020062369A1 · von Klopp · 2002 [cited by examiner]
US 20020103855A1 · Chatani · 2002 [cited by applicant]
US 20020198882A1 · Linden · 2002 [cited by examiner]
US 20030023754A1 · Eichstadt et al. · 2003 [cited by applicant]
US 20050132018A1 · Milic-Frayling · 2005 [cited by examiner]
US 20050251393A1 · Georgescu · 2005 [cited by examiner]
US 20060218625A1 · Pearson · 2006 [cited by examiner]
US 20070240121A1 · Spangler · 2007 [cited by applicant]
US 20080065479A1 · Tomlin · 2008 [cited by examiner]
US 20080255967A1 · Shi · 2008 [cited by examiner]
US 20090213844A1 · Hughston · 2009 [cited by examiner]
US 20100024005A1 · Huang · 2010 [cited by examiner]
US 20100030862A1 · Chen · 2010 [cited by examiner]
US 20100257240A1 · Singh · 2010 [cited by examiner]
US 20110191185A1 · Schroeder · 2011 [cited by examiner]
US 20120036051A1 · Sachson · 2012 [cited by applicant]
US 20120101890A1 · Matsushita et al. · 2012 [cited by applicant]
US 20130024514A1 · Feldhahn · 2013 [cited by applicant]
US 20130117716A1 · Stevens · 2013 [cited by examiner]
US 20130232335A1 · King et al. · 2013 [cited by applicant]
US 20130247142A1 · Nishizawa et al. · 2013 [cited by applicant]
US 20130333024A1 · Takenouchi · 2013 [cited by applicant]
US 20140156732A1 · Lanni · 2014 [cited by examiner]
US 20140188980A1 · Longhenry · 2014 [cited by examiner]
US 20140324979A1 · Gao · 2014 [cited by examiner]
US 20140344405A1 · Sachson · 2014 [cited by applicant]
US 20150067181A1 · Roy · 2015 [cited by examiner]
US 20150302466A1 · Huang · 2015 [cited by examiner]
US 20150339734A1 · Wilson · 2015 [cited by examiner]
US 20160062950A1 · Brodersen · 2016 [cited by examiner]
US 20160105240A1 · Yang et al. · 2016 [cited by applicant]
US 20160127440A1 · Gordon · 2016 [cited by applicant]
US 20160253428A1 · Hasan · 2016 [cited by examiner]
US 20170012824A1 · Goyal et al. · 2017 [cited by applicant]
US 20180004815A1 · Zhou · 2018 [cited by examiner]
US 20180103497A1 · Chiang · 2018 [cited by examiner]
US 20180227780A1 · Rey et al. · 2018 [cited by applicant]
US 20190138711A1 · Yaffe et al. · 2019 [cited by applicant]
US 20190213462A1 · McDonald · 2019 [cited by examiner]
The International Search Report and the Written Opinion for Application No. PCT/US2017/047843 dated Oct. 24, 2017. [cited by applicant]
The International Search Report and the Written Opinion of the International Searching Authority for Application No. PCT/US2018/037940 dated Aug. 16, 2018. [cited by applicant]
International Preliminary Report on Patentability for PCT Appln. Ser. No. PCT/US2017/047843 dated Mar. 5, 2020 (10 pages). [cited by applicant]
International Preliminary Report on Patentability for PCT Appln. Ser. No. PCT/US2018/037940 dated Mar. 5, 2020 (10 pages). [cited by applicant]
Extended European Search Report for EP Appln. Ser. No. 20161285.0 dated Mar. 30, 2020 (6 pages). [cited by applicant]
Harvey, Kathleen, “How Google Analytics Uses Cookies to Identify Users”, Aug. 17, 2017, XP055411414 (6 pages). [cited by applicant]
Office Action in CN Appln. Ser. No. 201880009460.7 dated Mar. 27, 2020 (13 pages). [cited by applicant]
Examination Report for EP Appln. Ser. No. 20161285.0 dated Apr. 19, 2021 (4 pages). [cited by applicant]