# US 11,907,644 B2 · Detecting compatible layouts for content-based native ads

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

- Number: US 11,907,644 B2
- Document ID: US11907644B2
- Status: Granted
- Kind: B2
- Application number: 17/080,577
- Filed: 2020-10-26
- Published: 2021-02-11
- Granted: 2024-02-20
- Earliest claimed: 2013-06-21
- Assignees: Nativo, Inc.
- Applicants: Nativo, Inc.
- Inventors: Justin Yoo Choi; David Wayne Maust
- Web page: https://patentgrep.com/patent/US11907644B2

## CPC

- G06F 40/14: Tree-structured documents (parsing G06F40/205; validation G06F40/226)
- G06F 40/106: Display of layout of documents; Previewing
- G06F 40/186: Templates
- G06Q 30/0276: {Advertisement creation}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- 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

## Abstract

A request for a content item that is to be provided for display in a page is received. A content template is embedded in code associated with the page. The content template is embedded at a selected location of a plurality of potential locations of the page that are compatible with the content template. The content item for the page is obtained based on the content template. The content item associated with the embedded content template is provided for display in the page. The content item associated with the embedded content template is provided for display at the selected location.

## Claims

### Claim 1

A system, comprising:
a communication interface configured to receive a request for a content item that is to be provided for display in a page, wherein a content template is embedded in code associated with the page, wherein the content template is embedded at a selected location of a plurality of potential locations of the page that are compatible with the content template; and
a processor coupled to the communication interface and configured to:
determine the plurality of potential locations of the page that are compatible with the content template at least in part by:
generating a selector based on information associated with a different page, wherein the selector is configured to identify elements in the page that are similar in structure to elements in the different page on which the content template is based,
comparing the selector to the information associated with the page; and
determining that a portion of the elements in the page match the selector;
obtain the content item for the page based on the content template; and
provide for display in the page the content item associated with the embedded content template, wherein the content item associated with the embedded content template is provided for display at the selected location.

### Claim 2 (depends on 1)

The system of claim 1, wherein the content template indicates a layout, a pattern, a position, or other attributes of content elements associated with the content item.

### Claim 3 (depends on 1)

The system of claim 1, wherein the processor is further configured to generate the content item based on content elements associated with the content template.

### Claim 4 (depends on 1)

The system of claim 1, wherein to obtain the content item for the page, the processor is configured to retrieve the content item from a content repository.

### Claim 5 (depends on 1)

The system of claim 1, wherein the processor is configured to determine whether the content template is compatible with the page.

### Claim 6 (depends on 5)

The system of claim 5, wherein the processor is configured to determine that the content template is compatible with the page based on a structural layout of at least a portion of the page that corresponds to the selected location.

### Claim 7 (depends on 5)

The system of claim 5, wherein the processor is configured to determine that the content template is compatible with the page based on an output of the selector.

### Claim 8 (depends on 7)

The system of claim 7, wherein the selector is configured to identify elements of the page that are compatible with the page.

### Claim 9 (depends on 7)

The system of claim 7, wherein the selector is a cascading style sheets selector.

### Claim 10 (depends on 1)

The system of claim 1, wherein the plurality of potential locations of the page are determined by analyzing an element structure of the page.

### Claim 11 (depends on 1)

The system of claim 1, wherein the plurality of potential locations of the page are determined to be compatible with the content template based on a similarity score.

### Claim 12 (depends on 11)

The system of claim 11, wherein the similarity score is based on a cosine similarity.

### Claim 13 (depends on 1)

The system of claim 1, wherein processor is further configured to provide renderings of the page that include the plurality of potential locations of the page that are compatible with the content template.

### Claim 14 (depends on 13)

The system of claim 13, wherein the processor is further configured to receive a selection of the selected location of the plurality of potential locations of the page that are compatible with the content template.

### Claim 15 (depends on 14)

The system of claim 14, wherein the processor is further configured to update a placement group associated with the content template.

### Claim 16 (depends on 15)

The system of claim 15, wherein the placement group includes one or more locations at which the content template is to be placed.

### Claim 17

A method, comprising:
receiving a request for a content item that is to be provided for display in a page, wherein a content template is embedded in code associated with the page, wherein the content template is embedded at a selected location of a plurality of potential locations of the page that are compatible with the content template;
determining the plurality of potential locations of the page that are compatible with the content template at least in part by:
generating a selector based on information associated with a different page, wherein the selector is configured to identify elements in the page that are similar in structure to elements in the different page on which the content template is based,
comparing the selector to the information associated with the page, and
determining that a portion of the elements in the page match the selector;
obtaining the content item for the page based on the content template; and
providing for display in the page the content item associated with the embedded content template, wherein the content item associated with the embedded content template is provided for display at the selected location.

### Claim 18 (depends on 17)

The method of claim 17, wherein the content item is generated based on content elements associated with the content template.

### Claim 19 (depends on 17)

The method of claim 17, wherein the content item is obtained from a content repository.

### Claim 20

A computer program product, the computer program product being embodied on a non-transitory computer readable storage medium and comprising instructions for:
receiving a request for a content item that is to be provided for display in a page, wherein a content template is embedded in code associated with the page, wherein the content template is embedded at a selected location of a plurality of potential locations of the page that are compatible with the content template;
determining the plurality of potential locations of the page that are compatible with the content template at least in part by:
generating a selector based on information associated with a different page, wherein the selector is configured to identify elements in the page that are similar in structure to elements in the different page on which the content template is based,
comparing the selector to the information associated with the page, and
determining that a portion of the elements in the page match the selector;
obtaining the content item for the page based on the content template; and
providing for display in the page the content item associated with the embedded content template, wherein the content item associated with the embedded content template is provided for display at the selected location.
