# US 11,443,349 B2 · Dynamic insertion of content items into resources

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,443,349 B2
- Document ID: US11443349B2
- Status: Granted
- Kind: B2
- Application number: 16/921,567
- Filed: 2020-07-06
- Published: 2020-10-22
- Granted: 2022-09-13
- Earliest claimed: 2014-10-09
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Matthew McKeon; Sami Mohammed Shalabi; Maurice Bennett Shore; Abraham Michael Yaar
- Web page: https://patentgrep.com/patent/US11443349B2

## CPC

- G06Q 30/0277: {Online advertisement}
- G06F 16/9577: {Optimising the visualization of content, e.g. distillation of HTML documents}
- G06V 30/414: Extracting the geometrical structure, e.g. layout tree; Block segmentation, e.g. bounding boxes for graphics or text
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING

## Abstract

Methods, systems, and apparatus include computer programs encoded on a computer-readable storage medium, including a method for providing content. Publisher input is received regarding acceptable content item types and sizes for inclusion with other content in a publication. Publisher input is received regarding how often content items are to appear in the publication. Identification is received of a user device that will render the publication as an article. The other content is evaluated including formatting the article as a single scrolling page, including defining logical pages with boundaries determined by formatted content blocks and based on display capabilities of the user device. Based on the evaluating, content items are selected for presentation along with the other content when presenting the article on the user device, including dynamically determining a number, types and placement of content items based on the logical pages and properties of the user device.

## Claims

### Claim 1

A method, comprising:
receiving, by one or more processors, a request for a publisher resource including a device identifier of a device on which the publisher resource is to be presented;
identifying, by one or more processors, a plurality of content blocks according to which the publisher resource is to be formatted, each of the plurality of content blocks including a portion of the publisher resource;
formatting, by the one or more processors, the publisher resource into one or more pages with boundaries defined by the plurality of content blocks;
determining, by the one or more processors, a display capability of the display on which the content is to be presented;
selecting, by the one or more processors, a plurality of content items for presentation along with respective content blocks defining the boundaries of the one or more pages of the publisher resource,
including dynamically determining placement of the content items in the publisher resource based on the display capability of the device on which the publisher resource is to be presented;
wherein a predetermined number of content items are displayed on a first portion of the publisher resource defined by a first boundary of a first content block of the plurality of content blocks, and a predetermined number of other content items are displayed on a second portion of the publisher resource defined by a second boundary of a second content block of the plurality of content blocks.

### Claim 2 (depends on 1)

The method of claim 1, further comprising providing, by the one or more processors, the selected content items for presentation along with respective content blocks of the plurality of content blocks.

### Claim 3 (depends on 1)

The method of claim 1, wherein the plurality of content items include a full-page content item, a banner content item, or a rectangular content item with a predetermined size.

### Claim 4 (depends on 1)

The method of claim 1, wherein formatting the plurality of content items further comprises determining, by the one or more processors, that a content item of the plurality of content items should be placed at an end of the one or more pages.

### Claim 5 (depends on 1)

The method of claim 1, wherein selecting the plurality of content items further comprises:
selecting, by the one or more processors, one or more of the plurality of content items that are full-width responsive to determining that the display capability indicates a size of the display is less than a predetermined threshold; and
selecting, by the one or more processors, a second one or more of the plurality of content items that are less than full-width responsive to determining that the display capability indicates the size of the display is greater than the predetermined threshold.

### Claim 6 (depends on 1)

The method of claim 1, wherein formatting the plurality of content blocks further comprises:
determining, by the one or more processors, that a number of the plurality of content blocks is greater than a predetermined threshold; and
selecting, by the one or more processors, an interstitial content item based on a size and an aspect ratio indicated by the display capability of the display of the device on which content is to be presented.

### Claim 7 (depends on 1)

The method of claim 1, wherein dynamically determining the placement of the content items further comprises shifting the position of a content item of the plurality of content items depending on a formatting or type of content that surrounds the content item.

### Claim 8

A system configured for dynamically inserting content into publisher resources, the system comprising:
one or more processors configured by machine-readable instructions to:
receive, by one or more processors, a request for a publisher resource including a device identifier of a device on which the publisher resource is to be presented;
identify, by one or more processors, a plurality of content blocks according to which the publisher resource is to be formatted, each of the plurality of content blocks including a portion of the publisher resource;
format the publisher resource into one or more pages with boundaries defined by the plurality of content blocks;
determine a display capability of the display on which the content is to be presented;
select, by the one or more processors, a plurality of content items for presentation along with respective content blocks defining the boundaries of the one or more pages of the publisher resource and dynamically determine placement of the content items in the publisher resource based on the display capability of the device on which the publisher resource is to be presented;
wherein a predetermined number of content items are displayed on a first portion of the publisher resource defined by a first boundary of a first content block of the plurality of content blocks, and a predetermined number of other content items are displayed on a second portion of the publisher resource defined by a second boundary of a second content block of the plurality of content blocks.

### Claim 9 (depends on 8)

The system of claim 8, wherein the one or more processors are further configured to provide the selected content items for presentation along with respective content blocks of the plurality of content blocks.

### Claim 10 (depends on 8)

The system of claim 8, wherein the plurality of content items include a full-page content item, a banner content item, or a rectangular content item with a predetermined size.

### Claim 11 (depends on 8)

The system of claim 8, wherein the one or more processors are further configured to determine that a content item of the plurality of content items should be placed at an end of the one or more pages.

### Claim 12 (depends on 8)

The system of claim 8, wherein the one or more processors are further configured to:
select one or more of the plurality of content items that are full-width responsive to determining that the display capability indicates a size of the display is less than a predetermined threshold; and
select a second one or more of the plurality of content items that are less than full-width responsive to determining that the display capability indicates the size of the display is greater than the predetermined threshold.

### Claim 13 (depends on 8)

The system of claim 8, wherein the one or more processors are further configured to:
determine that a number of the plurality of content blocks is greater than a predetermined threshold; and
select an interstitial content item based on a size and an aspect ratio indicated by the display capability of the display of the device on which content is to be presented.

### Claim 14 (depends on 8)

The system of claim 8, the one or more processors are further configured to shift the position of a content item of the plurality of content items depending on a formatting or type of content that surrounds the content item.

### Claim 15

A non-transient computer-readable storage medium having instructions embodied thereon, the instructions executable by one or more processors to perform a method, the method comprising:
receiving a request for a publisher resource including a device identifier of a device on which the publisher resource is to be presented;
identifying a plurality of content blocks according to which the publisher resource is to be formatted, each of the plurality of content blocks including a portion of the publisher resource;
formatting the publisher resource into one or more pages with boundaries defined by the plurality of content blocks;
determining a display capability of the display on which the content is to be presented;
selecting a plurality of content items for presentation along with respective content blocks defining the boundaries of the one or more pages of the publisher resource,
including dynamically determining placement of the content items in the publisher resource based on the display capability of the device on which the publisher resource is to be presented;
wherein a predetermined number of content items are displayed on a first portion of the publisher resource defined by a first boundary of a first content block of the plurality of content blocks, and a predetermined number of other content items are displayed on a second portion of the publisher resource defined by a second boundary of a second content block of the plurality of content blocks.

### Claim 16 (depends on 15)

The computer-readable storage medium of claim 15, wherein the method further comprises providing the selected content items for presentation along with respective content blocks of the plurality of content blocks.

### Claim 17 (depends on 15)

The computer-readable storage medium of claim 15, wherein the plurality of content items include a full-page content item, a banner content item, or a rectangular content item with a predetermined size.

### Claim 18 (depends on 15)

The computer-readable storage medium of claim 15, wherein formatting the plurality of content items further comprises determining that a content item of the plurality of content items should be placed at an end of the one or more pages.

### Claim 19 (depends on 15)

The computer-readable storage medium of claim 15, wherein selecting the plurality of content items further comprises:
selecting one or more of the plurality of content items that are full-width responsive to determining that the display capability indicates a size of the display is less than a predetermined threshold; and
selecting a second one or more of the plurality of content items that are less than full-width responsive to determining that the display capability indicates the size of the display is greater than the predetermined threshold.

### Claim 20 (depends on 15)

The computer-readable storage medium of claim 15, wherein formatting the plurality of content blocks further comprises:
determining that a number of the plurality of content blocks is greater than a predetermined threshold; and
selecting an interstitial content item based on a size and an aspect ratio indicated by the display capability of the display of the device on which content is to be presented.
