Online media content providers use advertisements to generate revenue in return for presenting programs via their service. Like all providers, it is desirable to ensure advertisers that their viewers review the ads presented and that ads are targeted to the correct viewers. Different types of feedback mechanisms have been developed, but all are limited in some way. Generally, users are presented with advertisements which must be viewed in order to view a program on the service.
Some content providers require a user to sign-in in order to view content available on the website and obtain a limited amount of information about the user. The sign-in process often requires the user to enter a limited amount of information such as username, first and last name, gender, email address, date of birth, and the like. The sign-in process also may display categories of subject matter that the user can select to indicate an interest in. The information entered by the user is often not verified by the content provider to determine its accuracy. As a result, content providers cannot rely on the accuracy of the information and can only offer a limited level of granularity when selling ads against their content.
One aspect of the present technology is a method for measuring resonance of an ad with a user. Ads are delivered to a user during a commercial break of a program being delivered by a content provider to the user. Each ad is associated with a unique identifier and at least one tag describing an attribute of the ad. During presentation of an ad, the technology allows a user to skip all or a portion of the ad. The user's interest in the ad is determined based on the amount of time that the user viewed the ad. A record of this instance of user viewing behavior is created and stored in a user profile database, creating a searchable database of user viewing behavior. Relationships of user viewing behavior may be developed to help advertisers better target their ads, and provide the content provider the ability to generate revenue by charging for this information.
In one embodiment, users are provided the opportunity to select which ad to view first during the commercial break. Upon identifying an upcoming commercial break in a program being delivered by a content provider to a user, an ad server selects at least two ads from an advertising database. Each ad is associated with a unique identifier and at least one tag describing an attribute of the ad. The selected ads are delivered to the user and displayed for selection by the user. Upon receiving input from the user indicating that the user selected one of the ads, a record of user viewing behavior is created and stored in a user profile database. The selected ad is delivered to the user upon the start of the commercial break.
One aspect of the present technology is to provide a system for measuring resonance of an ad with a user. The system comprises a content server, an ad server, a user profile database and a user behavior engine. The content server is configured to deliver at least one ad to a user during a commercial break of a program. Each ad is associated with a unique identifier and at least one tag describing an attribute of the ad. The ad server is configured to receive input from the user indicating that the user would like to stop viewing the ad before the ad has ended, determine the user's interest in each ad based on the amount of time that the user viewed the ad, and add a record of user viewing behavior associated with each ad to the user profile database. The user profile database is configured to store each record of user viewing behavior. The system also includes a user behavior engine that develops relationships between data stored in each record of user viewing behavior. The relationships may be provided to an advertiser to help the advertiser better target their ads, and allow the content provider to generate additional revenue for providing the information to the advertisers.
One aspect of the present technology is to encourage users to view the entire duration of each ad presented during a commercial break. The technology may effectively penalize a user for choosing to skip at least one ad presented during a commercial break by extending the originally scheduled duration of the commercial break. If the commercial break was originally scheduled for sixty seconds, and the user skips the second thirty-second ad after watching it for fifteen seconds (already watched entire first ad), the technology will provide a third thirty-second ad with only fifteen seconds remaining in the break. If the user watches the entire third ad, the user ends up watching seventy-five seconds of ads instead of the originally scheduled sixty seconds of ads. In some embodiments, the technology will return the user to the program even though there is time remaining in the commercial break.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
The technology described herein improves ad targeting by monitoring whether a user skips watching any portion of an ad. Users are provided with the opportunity to skip all or a portion of advertisements presented in breaks of content provided by an online media content provider. Each time a user views an ad, a record of the user's viewing behavior is stored in a user profile database. Each record contains information such as an ad ID, subject matter tags, the amount of time the user viewed the ad, and a user identifier. Creating and storing the records increases a content provider's ability to monetize the ad slots available during a program and helps enable advertisers to better target their ads, without asking the users for any information about themselves.
The content server 102 allows a content provider to distribute digital content to users. A content provider is referred to herein as a broadcaster (e.g., ABC, NBC, etc.) or a content aggregator (e.g., HULU.com). A broadcaster typically owns a website (e.g., ABC.com) whereby users may stream digital video content of an episode of their favorite television program produced by the broadcaster. A content aggregator aggregates digital content (e.g., television episodes) produced by various broadcasters onto a single website and makes the content available to users via the website. To monetize the website, a broadcaster and aggregator often provide at least one commercial break during the broadcast of the content, during which time at least one ad is provided. As will be discussed in more detail later, the ads delivered during the commercial break are often provided by third-parties that have paid the content provider to display their ad to the user. Ads may vary in duration and promote any product and/or service.
The user viewing device 132 in
Content server 102 is in communication, via Internet 150, with one or more viewing devices 132. The single viewing device 132 shown in
The ad serving engine 110 performs several functions. Upon receiving an ad content file (e.g., .wmv file, .mp3 file, etc.) from an advertiser 130, the ad engine assigns a unique identification (ID) to the ad. The ad engine 110 also identifies any metadata associated with the ad received from the advertiser 130. Using the metadata, the ad engine 110 selects relevant subject matter tags and adds the tags to the ad content file. The ad, with the unique ID and tags, is stored in the ad database 112. In addition, upon receiving a call from the content server 102, the ad engine 110 selects ads to serve to a user (e.g., viewing device 132) from the ad database 112. The content server may issue calls for ads in one or more commercial break windows associated with a particular piece of content. As will be generally understood, viewing of content from an online content provider may occur in an interface in a web browser or using a media playing application on a user device. The interface and the media playing application include well known controls allowing users to play, pause, rewind, fast forward and skip segments of content. The function of such controls may be enabled, disabled or limited by the content provider.
In accordance with the present technology, controls such as fast forward and/or skip are enabled during the presentation of advertisements in the ad window. Input by the user to “skip” and advertisement is recorded and interpreted by the ad server and stored in the user profile database. In addition, additional advertisements may be provided to fill the time allotted to the commercial break window, as described herein.
The user profile database 106 includes records of user viewing behavior associating ad interest with each user. For each user, and for each ad viewed by the user, a record storing whether the user is interested in the ad, not interested in the ad, and data such as viewing time, ad subject tags and information associated with the user (e.g., user identifier) is stored. The user behavior engine 108 aggregates and analyzes the records of user viewing behavior stored in the user profile database 106. Additional details of the user behavior engine 108 will be provided later herein.
The content server 102, ad server 104, user profile database 106, and user behavior engine 108 may be implemented using one or more processing devices such as that described with respect to
Computer 210 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 210 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by computer 210. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
The system memory 230 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 231 and random access memory (RAM) 232. A basic input/output system 233 (BIOS), containing the basic routines that help to transfer information between elements within computer 210, such as during start-up, is typically stored in ROM 231. RAM 232 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 220. By way of example, and not limitation,
The computer 210 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
The computer 210 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 280. The remote computer 280 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 210, although only a memory storage device 281 has been illustrated in
When used in a LAN networking environment, the computer 210 is connected to the LAN 271 through a network interface or adapter 270. When used in a WAN networking environment, the computer 210 typically includes a modem 272 or other means for establishing communications over the WAN 273, such as the Internet. The modem 272, which may be internal or external, may be connected to the system bus 221 via the user input interface 260, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 210, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
In order to offer a deep level of granularity of the types of ads of interest to users, ads received from advertisers 130 are associated with tags that can be collected, stored and analyzed.
At step 304, the ad server 104 identifies any metadata associated with the ad that was provided by the advertiser. In particular, the ad server 104 identifies metadata that describes attributes of the content of the ad. Labeling a media file with metadata is not a standardized process. The metadata associated with an ad prior to sending to the ad to the system 100 is at the discretion of the advertiser. For example, two automobile companies may label their automobile ad with different metadata. A first automobile company may associate their automobile ad with metadata such as the company's name, the model of the car, and a brief description of what is taking place in the ad (e.g., “automobile driving through downtown Seattle”). A second automobile company may associate their automobile ad with metadata such as the launch date of the automobile, the actor/actress in the ad, and the model of the automobile. As will be discussed in more detail later, standardized and non-standardized forms of metadata may be associated with each ad. It is within the scope of the technology described herein to use only the metadata the advertiser 130 associated with the ad for aggregation and analysis of a user's viewing behavior.
At step 306, the ad server 104 generates a unique identifier for the ad. The ad ID further assists the user behavior engine 108 aggregate and analyze the user's viewing behavior. In some embodiments, the unique identifier may comprise a globally unique identifier (GUID). A GUID is a type of identifier used in software applications in order to provide a reference which is unique. The use of a GUID as ad IDs are exemplary only, and are not intended to limit the scope of the technology described herein. Other types of unique identifiers may be associated with each ad. In some embodiments, the advertiser 130 may create the ad ID and associate the ad ID with the ad prior to delivering the ad to the ad server 104. In other embodiments, the content server 102 may generate the ad IDs and associate the ad ID with the ad.
As mentioned above, in one embodiment, metadata in not standardized. However, in an effort to standardize the metadata (e.g., key words) available for tagging the ad, the system 100, in one embodiment, provides a “library” of standardized tags that may be associated with each ad. The library of standardized tags may include any number of keywords, and keywords may be added or deleted from the library. As will be described in more detail later, the data stored in the user profile database 106 may be aggregated by any combination of the metadata provided by the advertiser 130 and the tags provided by the system 100.
At step 308, the ad server 104 selects tags that will be associated with the ad. The term tag used herein is used to refer to metadata comprising a keyword (or keywords) that helps describe an attribute of the ad, a product or service promoted in the ad, etc., and allows it to be found again by the user behavior engine 108. More than one tag may be associated with an ad. Using the automobile ad example, tags selected by the ad server 104 may include keywords such as, but not limited to, “automobile,” “premium,” “sports car,” and “company name.” Any number of tags may be selected, and the tags will vary based on the product or service being advertised. Using the standardized tags provided by the system 100 is not required.
At step 310, the unique ad ID and tags selected in step 308 are associated with the ad. The ad is stored (with the ad ID and tags) in the ad database 112, at step 312. The ad database 112 comprises the pool of ads available for delivery to a user.
At step 406, the technology determines the amount of time the user viewed the ad. If the user viewed the entire ad, the ad server 104 equates the duration of the ad as the amount of time viewed by the user. If, for example, the first ad was a thirty second ad and the user did not select the skip button, the ad server 104 determines that the amount of time the user viewed the ad is thirty seconds, at step 406. If the user skipped any portion of the ad, the number of seconds that elapsed prior to the skip equates to the time viewed by the user.
At step 408, the ad server 104 creates a record of the user's viewing behavior and adds the record to the user profile database 106. Additional details of adding the instance of the user's viewing behavior will be provided later herein with reference to
If time remains in the commercial break, then at step 414, the amount of time remaining is determined. If, for example, the total commercial break is one minute, a first ad delivered is a thirty-second ad and the user watched it entirely, the technology determines that thirty seconds remains in the commercial break, at step 414. Similarly, if the user skipped fifteen seconds of the first ad, then the technology determines that forty-five seconds of the commercial break remains, at step 414. A content provider attempts to display as many ads during a commercial break as possible in order to maximize the advertising revenue generated during the commercial break. However, because it may not be possible to utilize every second of the commercial break, the ad server 104 determines if the time remaining in the commercial break is less than a predetermined threshold, at step 415. If the time remaining in the commercial break is less than the threshold, at step 415, the user is returned to the program and the content server 102 begins to deliver the content to the user, at step 412. The predetermined threshold may be any number of seconds. If the time remaining in the commercial break exceeds the threshold, at step 415, the ad server 104 proceeds to step 416.
At step 416, the ad server 104 selects a second ad. At step 418, the second ad is delivered to the user. Steps 406-415 are repeated until the ad server 104 identifies that either there is no further time remaining in the commercial break, at step 410, or the time remaining in the commercial break is less than the threshold, at step 415.
Using an example whereby each ad available in the ad database 112 is a thirty-second ad, if a user skips the first ad after watching it for eighteen seconds, a second thirty-second ad delivered to the user, at step 418, would end forty-eight seconds into the one minute commercial break, if the user watches the entire second ad. In this instance, the ad server 104 would determine that there is twelve seconds remaining of the commercial break after the second ad, at step 414. At step 415, the ad server 104 would determine whether twelve seconds is less than the threshold for returning the user to the program, at step 412. If the threshold was less than twelve seconds, the ad server 104 would deliver a third thirty-second ad, at step 418, to the user and the commercial break would last seventy-eight seconds, if the user watches the entire third ad. By doing so, the user is essentially penalized for skipping a portion of the first ad because the user ends up watching seventy-eight seconds of advertising as opposed to the originally scheduled sixty seconds. Returning to step 410, the ad server 104 would determine that there is no time remaining in the commercial break (because seventy-eight seconds exceeds sixty seconds), and the content server 102 would begin providing the program content to the user, at step 412.
At step 504, the ad server 104 determines if the user viewed the entire ad or skipped a portion of the ad. The duration of the ad and the amount of time the user viewed the ad (step 406 in
In some embodiments, if the user viewed the entire ad, the ad server 104 presumes that the user was interested in the ad and proceeds to step 506. At step 506, a record of user viewing behavior, including the tags associated with the ad, the unique ad ID, a user identifier, and a user interest indicator (e.g., 0=user not interested, 1=user interested) is stored in the user profile database 106. In other embodiments, the user interest indicator is a numerical range from, by way of example only, 0-10, based on whether the user selected the advertisement (or the advertisement was selected by the content provider) and the user's viewing time. For example, if a user selected the advertisement and the user watched the advertisement all the way through, the user interest indicator would be a 10. If, on the other hand, the advertisement was selected by the content provider and the user watched the advertisement all the way through, the user interest indicator may be an 8. If the user watched the advertisement 75% of the way through (and the advertisement was selected by the content provider), the user interest indicator may be a 6, and so on. A user interest indicator with such a graded scale allows the technology described herein to differentiate further between subject matter that is of interest to a user.
Many different user identifiers may be used here. For example, if the content provider required the user to sign-in to the website to view the content, the content provider may know a username, the user's email address, or any other information the user provided during the registration process. Any of the information provided by the user may comprise a user identifier. In other embodiments, the user identifier may include an Internet Protocol (IP) address, a MAC address, device ID (e.g., set-top box serial number, MSISDN, etc.), and the like associated with the device 132 receiving the content.
If the ad server 104 determines that the user skipped a portion of the ad (step 504), the ad server 104 determines if the user was interested in the ad, at step 508. If the ad server 104 determines that the user was not interested in the ad, a record is created including the user ID, tags associated with the ad, ad ID, view time, and a “no” indicator flag, and the record is added to the user profile database 106, at step 510. If the ad server 104 determines that the user was interested in the ad at step 508, a record including the user ID, tags associated with the ad, ad ID, view time, and a “yes” indicator flag, and the record is added to the user profile database 106, at step 512. The records added to the user profile database 106 may be stored in the user profile database 106 according to any database model know in the art today. Each set of data contained in a record is referred to as an instance of user viewing behavior. By storing records of user viewing behavior, the user profile database 106 becomes a searchable database that can be analyzed by the user behavior engine 108.
At step 650, the ad server 104 accesses a view table (see
The view table 668A indicates that a user is not interested in an ad if the user viewed the ad for 15 seconds or less, and a user is interested in an ad if the user viewed the ad for more than 15.1 seconds. Using the example above whereby the user viewed the ad for eighteen seconds, the ad server 104 identifies that the user's view time correlates with the row containing the time range 15.1-25 seconds, at step 652. At step 654, the ad server 104 retrieves a “yes” indicator from the table 668. A “yes” indicator indicates that the user is interested in the ad based on the amount of time the user watched the ad, at step 508 in
A tension exists between the content provider and advertiser with regard to monetizing the ads. Advertisers do not want to pay the content provider for partially viewed ads. On the other hand, the content provider, at some point, should receive payment for providing the ad to the user even though the user does not view the entire ad.
At step 704, the ad server 104 determines if the amount of time the user viewed the ad exceeds a minimum view time. The amount of time the user watched the ad was determined at step 406 (
If the amount of time the user views an ad exceeds the threshold, the technology proceeds to step 708. At step 708, the technology accesses a payout scale associated with the advertiser that provided the ad. Exemplary payout scales are shown in
At step 712, the content provider charges the advertiser for delivering the ad to the user. In some embodiments, the content provider charges the advertiser, at step 712, every time the ad is delivered to a user. In other embodiments, the number of times the ad is delivered to a user is accounted for, and each month (or any other time period) the content provider charges the advertiser accordingly. It is also within the scope of the technology described herein to issue a bill to an advertiser upon reaching a threshold limit (e.g., $1,000). Any threshold amount may be used. Any method known in the art for monetizing the delivery of ads is within the scope of the technology described herein.
At step 806, the ad server 104 selects a certain number of ads from the ad database 112. Any number of ads may be selected at step 806. For the purpose of describing the technology only, the ad server 104 selects a first ad, a second ad and a third ad. In some embodiments, the ads are randomly selected from the ad database 112 at step 806. In other embodiments, the ads selected in step 806 are based, in part, on the user's viewing behavior stored in the user profile database 106.
At step 808, the ad server 104 delivers the three ads to the user before the beginning of the commercial break. In one embodiment, the three ads selected in step 806 are presented to the user via a pop-up window. For example, a pop-up window may be presented displaying a static frame of each ad along with a message indicating that a commercial break is about to begin, and a message requesting the user to select one of the three ads. In other embodiments, a static image from each of the three ads is displayed in an area of the GUI that the user is viewing the program that does not obscure or block any portion of the program being broadcast.
At step 810, the ad server 104 determines if the user selected one of the three ads. In one embodiment, if the user does not select one of the three ads, the ad server automatically delivers one of the three ads (selected at step 806) at the beginning of the commercial break, at step 812. Alternatively, the ad server may deliver a different ad from the ad database 112 at the beginning of the commercial break (e.g., not one of the three ads). If the user does not select one of the three ads, the ad server 104 does not create a record and add it to the user profile database 106. In other embodiments, the ad server 104 creates a record including the tags associated with the unselected ad, ad ID and used identifier, and adds the record to the user profile database 106.
If the user selects one of the three ads selected in step 806, the ad server 104 creates a record including the tags associated with the ad, ad ID, and user identifier, and adds the record to the user profile database 106, at step 814. At step 816, the ad server 104 delivers the selected ad to the user.
The methods disclosed above create a searchable database of records of user viewing behavior that can provide a deep level of granularity to advertisers interested in improving the targeting of their advertisements.
At step 902, the user behavior engine 108 selects the ad ID associated with the specific ad the advertiser requested feedback about. At step 904, the user behavior engine 108 aggregates the records of user viewing behavior stored in the user profile database 106 that contain the ad ID selected in step 902. As discussed above, each record is stored in the user profile database 106, and includes, among other things, an ad ID, tags associated with the ad, and user identifier. Some records will also include the amount of time the user viewed the ad.
At step 906, the user behavior engine 108 develops relationships between the information contained in the records of user viewing behavior aggregated in step 904. Many different types of relationships may be developed. In one embodiment, the user behavior engine 108 analyzes the information contained in the records to determine what percent of users watched the ad all the way through. In other embodiments, the user behavior engine 108 analyzes the information to determine the percentage of users that skipped the ad. Other relationships developed by the user behavior engine 108 may include the percentage of users that watched at least five seconds of the ad, at least ten seconds of the ad, and so on. These relationships developed by the user behavior engine 108 are exemplary only, and are not intended to limit the scope of the technology. At step 908, the user behavior engine 108 provides the relationship(s) to the advertiser that presented the ad.
The subject matter of the present technology is described with specificity to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or elements similar to the ones described in this document, in conjunction with other present or future technologies.
While the present technology has been described in connection with the embodiments of the various figures, it is to be understood that other similar embodiments may be used or modifications and additions may be made to the described embodiment for performing the same function of the present technology without deviating therefrom. Therefore, the present technology should not be limited to any single embodiment, but rather should be construed in breadth and scope in accordance with the appended claims.