US 11,694,237 B2
Systems and methods for dynamically inserting content item slots in an information resource
Matthew Burriesci, Mountain View, CA (US); Keith Wright, Mountain View, CA (US); Willa Angel Chen, Mountain View, CA (US); and Joshua Nedelka, Mountain View, CA (US)
Assigned to GOOGLE LLC, Mountain View, CA (US)
Appl. No. 16/91,455
Filed by Google LLC, Mountain View, CA (US)
PCT Filed May 27, 2016, PCT No. PCT/US2016/034595
§ 371(c)(1), (2) Date Oct. 4, 2018,
PCT Pub. No. WO2017/119923, PCT Pub. Date Jul. 13, 2017.
Claims priority of provisional application 62/274,594, filed on Jan. 4, 2016.
Prior Publication US 2019/0147503 A1, May 16, 2019
Int. Cl. G06Q 30/00 (2023.01); G06Q 30/0241 (2023.01); G06F 16/957 (2019.01); G06F 16/958 (2019.01); H04L 67/02 (2022.01)
CPC G06Q 30/0277 (2013.01) [G06F 16/957 (2019.01); G06F 16/958 (2019.01); G06F 16/972 (2019.01); H04L 67/02 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method of dynamically inserting content into webpages via a computer networked environment, comprising:
receiving, by a client device having one or more processors via a network, an information resource for display within a viewport of an application executing on the client device, the information resource having one or more elements and a content insertion script;
determining, by the client device, responsive to execution of the content insertion script, that the information resource is suitable for dynamic insertion of third-party content based on a size of the information resource;
identifying, by the client device, responsive to determining that the information resource is suitable and prior to detection of any scroll events, a first candidate content insertion location and a second candidate content insertion location for insertion of third-party content based on locations of the one or more elements on the information resource, the second candidate content insertion location below the first candidate content insertion location on the information resource;
receiving, by the client device, a third-party content item for insertion at one of the first candidate content insertion location or the second candidate content insertion location of the information resource;
monitoring, by the client device, for a scroll event on the information resource, the scroll event having one or more scroll parameters;
identifying, by the client device, based on the one or more scroll parameters of the scroll event, a first portion of the information resource to be displayed within the viewport of the application subsequent to processing the event;
determining, by the client device, that the first candidate content insertion location is above the first portion and that the second candidate insertion location is within or below the viewport;
setting, by the client device, within the information resource, a third-party content slot at the second candidate content insertion location responsive to determining that the first candidate content insertion location is above the first portion and that the second candidate insertion location is within or below the viewport;
identifying, by the client device, a network usage metric for the client device with the network;
determining, by the client device, that the network usage metric is above a performance threshold; and
retrieving, by the client device via the network, the third-party content item for display in the third-party content slot set at the second candidate content insertion location on the information resource responsive to determining that the network usage metric is above the performance threshold.