IP Library Granted Patent US 9,135,292
Granted Patent B1
US 9,135,292 · App. 13/858,325 · Granted Sep 15, 2015

Selecting a template for a content item

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 9,135,292
App. No.
13/858,325
Granted
Sep 15, 2015
Kind
B1
Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for selecting a template for a content item. In one aspect, a method includes receiving a content item request that includes context data. A content item that is eligible to be presented in response to the content item request is identified. A determination is made that the content item includes a template variable that is resolved based on the context data. A template feed including a set of templates is identified based on the template variable. A template is selected from the template feed for the content item. The template can be selected based on the context data. The selected template is populated with content for the content item to create a formatted content item. The formatted content item is provided in response to the content item request.

Claims (63)

1. A method performed by data processing apparatus, the method comprising:

receiving a content item request that includes context data, the context data including at least one of user context data and resource context data, the user context data indicating a user group associated with a user to whom the requested content item will be presented, the resource context indicating a resource on which the content item will be presented;

in response to receiving the content item request:

identifying a content item that is eligible to be presented in response to the content item request;

determining that the content item includes a template variable that is resolved based on the context data;

identifying, based on the template variable, a template feed from which a template for the content item is to be selected, the template feed including a set of templates;

for each particular template of the template feed:

identifying a first performance measure that is based on a performance of the content item when the particular template has been used to create the content item for presentation in response to other content item requests that included a particular user attribute of the user context data;

identifying a second performance measure that is based on a performance of other content items when the particular template has been used to create the other content items for presentation with the resource; and

determining, for the particular template, a contextual performance measure using the first performance measure and the second performance measure;

selecting, from the template feed and based on the contextual performance measure of each template in the template feed, a template for the content item; and

populating the selected template with content for the content item to create a formatted content item; and

providing the formatted content item in response to the content item request.

2. The method of claim 1 , wherein the contextual performance measure for a particular template is based on a performance of the content item for presentations of the content item when the particular template has been used to create the content item for presentation in response to other content item requests that included one or more user attributes similar to one or more corresponding user attributes of the user context data.

3. The method of claim 1 , wherein the contextual performance measure for a particular template is based on a performance of content items that were created with the particular template and presented with at least one resource that is similar to the resource.

4. The method of claim 1 , wherein the selected template comprises one or more content variables that are resolved based on the context data, the method further comprising selecting a content element for each content variable based on a performance of each content element with respect to the context data.

5. The method of claim 1 , further comprising:

receiving filtering data for the advertiser, the filtering data specifying a proper subset of templates that are eligible to be used for content item requests including a particular set of context data; and

filtering the set of templates based on the filtering data and the particular set of context data.

6. A system, comprising:

a data store for storing content items; and

one or more processors configured to interact with the data store, the one or more processors being further configured to perform operations comprising:

receiving a content item request that includes context data, the context data including at least one of user context data and resource context data, the user context data indicating a user group associated with a user to whom the requested content item will be presented, the resource context indicating a resource on which the content item will be presented;

in response to receiving the content item request:

identifying, from the content items stored in the data store, a content item that is eligible to be presented in response to the content item request;

determining that the content item includes a template variable that is resolved based on the context data;

identifying, based on the template variable, a template feed from which a template for the content item is to be selected, the template feed including a set of templates;

for each particular template of the template feed:

identifying a first performance measure that is based on a performance of the content item when the particular template has been used to create the content item for presentation in response to other content item requests that included a particular user attribute of the user context data;

identifying a second performance measure that is based on a performance of other content items when the particular template has been used to create the other content items for presentation with the resource; and

determining, for the particular template, a contextual performance measure using the first performance measure and the second performance measure;

selecting, from the template feed and based on the contextual performance measure of each template in the template feed, a template for the content item; and

populating the selected template with content for the content item to create a formatted content item; and

providing the formatted content item in response to the content item request.

7. The system of claim 6 , wherein the contextual performance measure for a particular template is based on a performance of the content item for presentations of the content item when the particular template has been used to create the content item for presentation in response to other content item requests that included one or more user attributes similar to one or more corresponding user attributes of the user context data.

8. The system of claim 6 , wherein the contextual performance measure for a particular template is based on a performance of content items that were created with the particular template and presented with at least one resource that is similar to the resource.

9. The system of claim 6 , wherein:

the selected template comprises one or more content variables that are resolved based on the context data; and

the one or more processors are configured to select a content element for each content variable based on a performance of each content element with respect to the context data.

10. The system of claim 6 , wherein the one or more processors are configured to perform further operations comprising:

receiving filtering data for the advertiser, the filtering data specifying a proper subset of templates that are eligible to be used for content item requests including a particular set of context data; and

filtering the set of templates based on the filtering data and the particular set of context data.

11. A computer storage medium encoded with a computer program, the program comprising instructions that when executed by data processing apparatus cause the data processing apparatus to perform operations comprising:

receiving a content item request that includes context data, the context data including at least one of user context data and resource context data, the user context data indicating a user group associated with a user to whom the requested content item will be presented, the resource context indicating a resource on which the content item will be presented;

in response to receiving the content item request:

identifying a content item that is eligible to be presented in response to the content item request;

determining that the content item includes a template variable that is resolved based on the context data;

identifying, based on the template variable, a template feed from which a template for the content item is to be selected, the template feed including a set of templates;

for each particular template of the template feed:

identifying a first performance measure that is based on a performance of the content item when the particular template has been used to create the content item for presentation in response to other content item requests that included a particular user attribute of the user context data;

identifying a second performance measure that is based on a performance of other content items when the particular template has been used to create the other content items for presentation with the resource; and

determining, for the particular template, a contextual performance measure using the first performance measure and the second performance measure;

selecting, from the template feed and based on the contextual performance measure of each template in the template feed, a template for the content item; and

populating the selected template with content for the content item to create a formatted content item; and

providing the formatted content item in response to the content item request.

12. The computer storage medium of claim 11 , wherein the contextual performance measure for a particular template is based on a performance of the content item for presentations of the content item when the particular template has been used to create the content item for presentation in response to other content item requests that included one or more user attributes similar to one or more corresponding user attributes of the user context data.

13. The computer storage medium of claim 11 , wherein the contextual performance measure for a particular template is based on a performance of content items that were created with the particular template and presented with at least one resource that is similar to the resource.

14. The computer storage medium of claim 11 , wherein:

the selected template comprises one or more content variables that are resolved based on the context data; and

the instructions cause the data processing apparatus to perform further operations comprising selecting a content element for each content variable based on a performance of each content element with respect to the context data.

15. The computer storage medium of claim 11 , wherein the operations further comprise:

receiving filtering data for the advertiser, the filtering data specifying a proper subset of templates that are eligible to be used for content item requests including a particular set of context data; and

filtering the set of templates based on the filtering data and the particular set of context data.

Assignments (3)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044334/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2015
From: TSUN, STEPHEN; SHANMUGASUNDARAM, JAYAVEL; XIN, TAO
To: GOOGLE INC.
Reel/Frame 036654/0446 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2013
From: TSUN, STEPHEN; SHANMUGASUNDARAM, JAYAVEL; XIN, TAO
To: GOOGLE INC.
Reel/Frame 030596/0478 →