IP Library Granted Patent US 10,846,735
Granted Patent B2
US 10,846,735 · App. 15/828,264 · Granted Nov 24, 2020

Advertisement templates for in-application dynamic advertisement creation

Inventors: Matthew Jacobsen Bennion (San Mateo, CA); Martin Jeffrey Price (San Francisco, CA); Eunbe Kim (San Mateo, CA); Edwin Kwok (Mountain House, CA); Christopher T. Brown (San Francisco, CA); Nicolas Goles (San Francisco, CA); Daniel J. Gilk (San Francisco, CA); Arash Afrooze (San Francisco, CA); Daniele Delgrosso (London, GB); Ian Stephen Harris (St. Albans, GB); Michal Pilawski (San Francisco, CA)
Assignee: Vungle, Inc.
G06Q30/0242G06N20/00G06Q30/0251G06Q30/0255G06Q30/0261G06Q30/0277
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 10,846,735
App. No.
15/828,264
Granted
Nov 24, 2020
Kind
B2
Abstract

Described are systems and methods for dynamically generating advertisements for presentation in an application executing on a user device, such as an application executing on a smart phone or tablet of a user. An ad server system provides various ad templates, each of which include one or more tokens at different locations within the ad templates. The same token may be included in multiple different ad templates at the same of different locations. Based on user profile and/or conditions at the time of ad presentation, an appropriate template is selected and used to dynamically generate the ad.

Claims (99)

1. A computing system, comprising:

one or more processors; and

memory storing program instructions that when executed by the one or more processors cause the one or more processors to at least:

receive from an advertiser:

a plurality of content items of an advertisement campaign; and

an association of each content item with one or more tokens of a sample advertisement template;

store, in a data store, the plurality of content items and the association of each content item with one or more tokens;

receive, from an application executing on a user device, an advertisement request, the advertisement request indicating an application identifier of the application and at least one of a user device identifier or a user identifier;

receive, from the user device:

an identifier corresponding to a user profile; and

an environmental information indicating at least one of a geographical data, a location data, a motion data, a language, a time, an application setting, a demographic data for a user of the user device, an access duration data, or a cache information;

determine, based at least in part on the user profile and the environmental information, a user model generated by a trained machine learning system, the user model indicative of the user profile and the environmental information;

determine, based at least in part on the application identifier, a plurality of candidate advertisement templates, wherein:

each of the candidate advertisement templates are different than the sample advertisement template,

each candidate advertisement template includes at least one token of the one or more tokens at a respective position within the candidate advertisement template, and

a same token is included in at least two of the plurality of candidate advertisement templates;

obtain, from the data store, for each token associated with each of the plurality of candidate advertisement templates, at least one candidate content item provided by the advertiser and associated with the token;

determine, for each of the plurality of candidate templates, a plurality of candidate advertisements, each candidate advertisement corresponding to the respective candidate template and including different combinations of content items at each location within the candidate template associated with each token;

determine, with the trained machine learning system, for each candidate advertisement and based at least in part on the user model, an engagement predication value indicating a likelihood that the user of the user device will engage with the advertisement;

generate an advertisement from the plurality of candidate advertisements having a highest engagement prediction value;

send the advertisement to the user device for presentation by the application to the user,

subsequent to sending the advertisement, receive a result indicating an actual engagement with the advertisement; and

provide the result to the trained machine learning system as a feedback to improve future engagement predictions generated by the trained machine learning system.

2. The computing system of claim 1 , wherein the program instructions further cause the one or more processors to at least:

receive from a publisher of the application, an indication of a plurality of templates for use in creating advertisements to be sent to the application for presentation; and

wherein the plurality of candidate templates are determined based at least in part on the indication of the plurality of templates.

3. The computing system of claim 1 , wherein the program instructions further cause the one or more processors to at least:

receive from a publisher:

an indication of a first placement within the application at which a first advertisement is to be presented;

an indication of a first plurality of templates for use in creating the first advertisement;

an indication of a second placement within the application at which a second advertisement is to be presented; and

an indication of a second plurality of templates for use in creating the second advertisement.

4. The computing system of claim 3 , wherein:

the request further indicates the first placement or the second placement; and

the plurality of candidate templates are based at least in part on the first placement or the second placement indicated in the request.

5. A computer-implemented method, comprising:

receiving from an advertiser:

a plurality of content items of an advertisement campaign; and

an association of each content item of the plurality of content items with one or more tokens of a sample template;

receiving, from a user device, a request for an advertisement to be presented in an application executing on the user device;

receiving, from the user device:

an identifier corresponding to a user profile; and

an environmental information indicating at least one of a geographical data, a location data, a motion data, a language, a time, an application setting, a demographic data for a user of the user device, an access duration data, or a cache information;

determining, based at least in part on the user profile and the environmental information, a user model generated by a trained machine learning system, the user model indicative of the user profile and the environmental information;

determining a first candidate template and a second candidate template for use in generating the advertisement to send to the user device in response to the request, wherein:

the first candidate template is different than the sample template; and

the second candidate template is different than the sample template;

determining a first token of the one or more tokens associated with a first location within the first candidate template and associated with a second location within the second candidate template;

determining a first content item of the plurality of content items associated with the first token;

determining, with the trained machine learning system and based at least in part on the user model, a first engagement probability value for a first advertisement created with the first candidate template that includes the first content item at the first location;

determining, with the trained machine learning system and based at least in part on the user model, a second engagement probability value for a second advertisement created with the second candidate template that includes the first content item at the second location;

determining that the first engagement probability value is higher than the second engagement probability value;

in response to determining that the first engagement probability value is higher than the second engagement probability value:

generating the first advertisement using the first template and the first content item; and

sending to the user device the first advertisement in response to the request;

subsequent to sending the advertisement, receiving a result indicating an actual engagement with the advertisement; and

providing the result to the trained machine learning system as a feedback to improve future engagement predictions generated by the trained machine learning system.

6. The computer-implemented method of claim 5 , further comprising:

determining a second content item of the plurality of content items associated with the first token;

determining, with the trained machine learning system and based at least in part on the user model, a third engagement probability value for a third advertisement created with the first candidate template that includes the second content item at the first location;

determining, with the trained machine learning system and based at least in part on the user model, a fourth engagement probability value for a fourth advertisement created with the second candidate template that includes the second content item at the second location; and

determining that the first engagement probability value is higher than the second engagement probability value, the third engagement probability value, and the fourth engagement probability value.

7. The computer-implemented method of claim 5 , wherein determining the first engagement probability value includes:

determining the user profile associated with the user device; and

selecting the user model based at least in part on the user profile.

8. The computer-implemented method of claim 5 , further comprising:

determining a first content item type of the first content item; and

wherein the first engagement probability value is further based at least in part on the first content item type.

9. The computer-implemented method of claim 5 , wherein the identifier indicates at least one of an application identifier for the application, a user device identifier, or a user profile identifier.

10. The computer-implemented method of claim 5 ,

wherein determining the user model is further based at least in part on one or more of the first candidate template, an application identifier, the device identifier, the user profile identifier, or a type of the first content item.

11. The computer-implemented method of claim 5 , wherein the user model is developed based on actual engagements by users with presented advertisements.

12. A non-transitory computer-readable storage medium storing instructions that, when executed by at least one processor of a computing system, cause the computing system to at least:

receive from an advertiser:

a first content item, a second content item, and a third content item, each of the first content item, the second content item, and the third content item for use in dynamically creating advertisements;

an association of the first content item and the second content item with a first token included in a sample template; and

an association of the third content item with a second token included in the sample template;

receive from a user device a request for an advertisement to be presented in an application executing on the user device;

receive from the user device:

an identifier corresponding to a user profile; and

an environmental information indicating at least one of a geographical data, a location data, a motion data, a language, a time, an application setting, a demographic data for a user of a user device, an access duration data, or a cache information;

determining, based at least in part on the user profile and the environmental information, a user model generated by a trained machine learning system, the user model indicative of the user profile and the environmental information;

determine a first candidate template for use in dynamically generating an advertisement to send to the user device in response to the request, wherein the first template is different than the sample template and includes the first token at a first location and the second token at a second location;

determine, with the trained machine learning system and based at least in part on the user model, a first engagement probability value for a first advertisement created with the first candidate template that includes the first content item at the first location and the third content item at the second location;

determine, with the trained machine learning system and based at least in part on the user model, a second engagement probability value for a second advertisement created with the first candidate template that includes the second content item at the first location and the third content item at the second location;

determine that the first engagement probability value is higher than the second engagement probability value;

in response to a determination that the first engagement probability value is higher than the second engagement probability value:

generate the first advertisement using the first candidate template, the first content item at the first location, and the third content item at the third location; and

send to the user device the first advertisement in response to the request;

subsequent to sending the advertisement, receive a result indicating an actual engagement with the advertisement; and

provide the result to the trained machine learning system as a feedback to improve future engagement predictions generated by the trained machine learning system.

13. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions further cause the computing system to at least:

determine a second candidate template that includes the first token at a third location, wherein the second candidate template is different than the sample template;

determine, with the trained machine learning system and based at least in part on the user model, a third engagement probability value for a third advertisement created with the second candidate template that includes the first item at the third location;

determine, with the trained machine learning system and based at least in part on the user model, a fourth engagement probability value for a fourth advertisement created with the second candidate template that includes the second item at the third location; and

determine that the first engagement probability value is higher than the third engagement probability value and the fourth engagement probability value.

14. The non-transitory computer-readable storage medium of claim 12 , wherein the instructions further cause the computing system to at least:

maintain, in a data store, a plurality of user models, wherein the user model is included in the plurality of user models.

15. The non-transitory computer-readable storage medium of claim 14 , wherein each of the plurality of user models are developed by the trained machine learning system based at least in part on actual user engagements with presented advertisements.

Assignments (6)
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Sep 30, 2021
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: VUNGLE, INC.
Reel/Frame 057677/0598 →
PATENT SECURITY AGREEMENT Recorded Sep 30, 2021
From: VUNGLE, INC.; TRESENSA TECHNOLOGIES, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 057677/0618 →
SECURITY INTEREST Recorded Oct 1, 2019
From: VUNGLE, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 050583/0408 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BENNION, MATTHEW JACOBSEN; PRICE, MARTIN JEFFREY; KIM, EUNBE; KWOK, EDWIN; BROWN, CHRISTOPHER T.; GOLES, NICOLAS; AFROOZE, ARASH; DELGROSSO, DANIELE; HARRIS, IAN STEPHEN
To: VUNGLE, INC.
Reel/Frame 047213/0591 →
EMPLOYEE AGREEMENT Recorded Oct 18, 2018
From: GILK, DANIEL J.
To: VUNGLE, INC.
Reel/Frame 047267/0158 →
EMPLOYEE AGREEMENT Recorded Oct 18, 2018
From: PILAWSKI, MICHAL
To: VUNGLE, INC.
Reel/Frame 047267/0197 →
Continuity (2)
Provisional Application 62573665 · Oct 17, 2017
Related Publication 20190114661A1 · Apr 18, 2019