IP Library Granted Patent US 12,062,070
Granted Patent B2
US 12,062,070 · App. 17/087,062 · Granted Aug 13, 2024

Ad serving with multiple goals using constraint error minimization

Inventors: Brendan Kitts (Seattle, WA); Garrett James Badeau (Redwood City, CA); Michael Krishnan (San Mateo, CA); Yongbo Zeng (Covina, CA); Ishadulta Yadav (San Mateo, CA); Ruofeng Chen (San Mateo, CA); Andrew George Potter (Mountain View, CA); Liang Wei (Foster City, CA); Ethan James Thornburg (Danville, CA); Sergey Tolkachov (Belmont, CA)
Assignee: ADAP.TV, INC.
G06Q30/0272G06Q30/0275
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 12,062,070
App. No.
17/087,062
Granted
Aug 13, 2024
Kind
B2
Abstract

The present disclosure describes a system that attempts to reconcile diverse goals and re-cast the goals into something that is quantifiable and optimizable. One way to reconcile diverse goals is by converting these “constraints”—with the huge problems of feasibility—into errors that can be minimized. This disclosure also presents solutions for rate constraints which previously have not been dealt with. The resulting system enables advertisers to dynamically adjust their campaign based on the needs of the moment. Such a system can have advantages in terms of controllability, smoothness, as well as avoiding hard stop conditions that plague the constraint-based approach. In order to achieve this result, solutions are presented for problems of pacing, viewability prediction, and most particularly, error minimization.

Claims (57)

1. A computer-implemented method for dynamically adjusting a campaign of content delivery to achieve a plurality of objectives of the campaign, the method comprising:

identifying, by an ad server controlling the campaign, two or more objectives of the campaign to meet in delivering content to a plurality of users;

measuring, by the ad server, viewability of the content delivered in association with the campaign to client devices, wherein the measuring comprises determining that the content was displayed on-screen on the client devices for at least a minimum amount of time;

determining, by the ad server, a first error for a first objective of the two or more objectives based on a difference between (i) a first objective value of the first objective that is derived from the measured viewability and (ii) a first target value of the first objective;

measuring, by the ad server, completion of the content delivered in association with the campaign to the client devices, wherein the measuring comprises determining that the content was played on the client devices for a duration of the content;

determining, by the ad server, a second error for a second objective of the two or more objectives based on a difference between (i) a second objective value of the second objective that is derived from the measured completion and (ii) a second target value of the second objective;

calculating, by the ad server, a multi-objective value, associated with the first objective and the second objective, based on (i) the first error determined using the measured viewability of the content on the client devices and (ii) the second error determined using the measured completion of the content on the client devices;

receiving, by the ad server and via a network, a web request, for an advertisement, of a user device;

receiving, by the ad server, query parameters of the web request for the advertisement, wherein the query parameters comprise information associated with an IP address of the user device;

in response to the web request for the advertisement, analyzing, by the ad server, historical data;

based on the analysis of the historical data, determining, by the ad server, a probability of one or more events by at least one of player size, browser, time of day, segments that are detected as part of a user profile of the user device, or historical browsing behavior of the user device; and

based upon the determined probability and the multi-objective value determined in association with the measured viewability of the content on the client devices and the measured completion of the content on the client devices, controlling delivery, by the ad server and via the network, of the advertisement to one or more user devices including the user device.

2. The method of claim 1 , wherein the two or more objectives comprise viewability and smooth delivery.

3. The method of claim 1 , wherein the two or more objectives comprise viewability.

4. The method of claim 1 , wherein the two or more objectives comprise smooth delivery.

5. The method of claim 1 , wherein the two or more objectives comprise demographic in-target rate.

6. The method of claim 1 , comprising using a weighting scheme to assign a first weighting factor to each objective of the two or more objectives.

7. The method of claim 1 , wherein calculating the multi-objective value comprises combining values for each objective of the two or more objectives.

8. The method of claim 1 , wherein the controlling delivery of the advertisement comprises dynamically adjusting delivery of the advertisement based upon the multi-objective value.

9. The method of claim 1 , comprising:

identifying completion of the first objective; and

changing a weighting factor of the first objective.

10. The method of claim 1 , comprising de-weighting the first objective responsive to determining that the first objective has been successful in reaching the first target value.

11. The method of claim 1 , comprising setting at least one of the first error or the second error based on a user-defined factor.

12. An ad server comprising:

a memory; and

a processor, the processor configured to perform operations for dynamically adjusting a campaign of content delivery to achieve a plurality of objectives of the campaign, the operations comprising:

identifying two or more objectives of the campaign to meet in delivering content to a plurality of users;

measuring viewability of the content delivered in association with the campaign to client devices, wherein the measuring comprises determining that the content was displayed on-screen on the client devices for at least a minimum amount of time;

determining a first error for a first objective of the two or more objectives based on a difference between (i) a first objective value of the first objective that is derived from the measured viewability and (ii) a first target value of the first objective;

measuring completion of the content delivered in association with the campaign to the client devices, wherein the measuring comprises determining that the content was played on the client devices for a duration of the content;

determining a second error for a second objective of the two or more objectives based on a difference between (i) a second objective value of the second objective that is derived from the measured completion and (ii) a second target value of the second objective;

calculating a multi-objective value, associated with the first objective and the second objective, based on (i) the first error determined using the measured viewability of the content on the client devices and (ii) the second error determined using the measured completion of the content on the client devices;

receiving, via a network, a web request, for an advertisement, of a user device;

receiving query parameters of the web request for the advertisement, wherein the query parameters comprise information associated with an IP address of the user device;

in response to the web request for the advertisement, analyzing historical data;

based on the analysis of the historical data, determining a probability of one or more events by at least one of player size, browser, time of day, segments that are detected as part of a user profile of the user device, or historical browsing behavior of the user device; and

based upon the determined probability and the multi-objective value determined in association with the measured viewability of the content on the client devices and the measured completion of the content on the client devices, controlling delivery, via the network, of the advertisement to one or more user devices including the user device.

13. The ad server of claim 12 , wherein the two or more objectives comprise viewability and smooth delivery.

14. The ad server of claim 12 , wherein the two or more objectives comprise viewability.

15. The ad server of claim 12 , wherein the two or more objectives comprise smooth delivery.

16. The ad server of claim 12 , wherein the two or more objectives comprise demographic in-target rate.

17. The ad server of claim 12 , the operations comprising using a weighting scheme to assign a first weighting factor to each objective of the two or more objectives.

18. The ad server of claim 12 , wherein calculating the multi-objective value comprises combining values for each objective of the two or more objectives.

19. The ad server of claim 12 , wherein the controlling delivery of the advertisement comprises dynamically adjusting delivery of the advertisement based upon the multi-objective value.

20. A computer-implemented method for dynamically adjusting a campaign of content delivery to achieve a plurality of objectives of the campaign, the method comprising:

identifying, by an ad server controlling the campaign, two or more objectives of the campaign to meet in delivering content to a plurality of users;

measuring, by the ad server, viewability of the content delivered in association with the campaign to client devices, wherein the measuring comprises determining that the content was displayed on-screen on the client devices for at least a minimum amount of time;

determining, by the ad server, a first error for a first objective of the two or more objectives based on a difference between (i) a first objective value of the first objective that is derived from the measured viewability and (ii) a first target value of the first objective, wherein the first error is set based on an advertiser-defined factor;

measuring, by the ad server, completion of the content delivered in association with the campaign to the client devices, wherein the measuring comprises determining that the content was played on the client devices for a duration of the content;

determining, by the ad server, a second error for a second objective of the two or more objectives based on a difference between (i) a second objective value of the second objective that is derived from the measured completion and (ii) a second target value of the second objective, wherein the second error is set based on an advertiser-defined factor;

calculating, by the ad server, a multi-objective value, associated with the first objective and the second objective, based on (i) the first error determined using the measured viewability of the content on the client devices and (ii) the second error determined using the measured completion of the content on the client devices;

receiving, by the ad server and via a network, a web request, for an advertisement, of a user device;

receiving, by the ad server, query parameters of the web request for the advertisement, wherein the query parameters comprise information associated with an IP address of the user device;

in response to the web request for the advertisement, analyzing, by the ad server, historical data;

based on the analysis of the historical data, determining, by the ad server, a probability of one or more events by at least one of player size, browser, time of day, segments that are detected as part of a user profile of the user device, or historical browsing behavior of the user device; and

based upon the determined probability and the multi-objective value determined in association with the measured viewability of the content on the client devices and the measured completion of the content on the client devices, controlling delivery, by the ad server and via the network, of the advertisement to one or more user devices including the user device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2026
From: ADAP.TV LLC
To: YAHOO AGGREGATION HOLDINGS LLC
Reel/Frame 075313/0798 →
Continuity (3)
Continuation 15784001 · Oct 13, 2017
Provisional Application 62408678 · Oct 14, 2016
Related Publication 20210073867A1 · Mar 11, 2021