METHOD OF TARGETING WEB-BASED ADVERTISEMENTS
20170249663 · 2017-08-31
Inventors
Cpc classification
International classification
Abstract
Embodiments of the invention provide a computer-implemented method of participating in a web-based content provision process, e.g. an ad-bidding process for proposing an ad to serve for an ad impression. The method can include recording physical behavioural information, e.g. emotional state, attentiveness, gaze tracking, etc., to infer or further refine a user profile for a user or to establish or further refine a target profile for a piece of media content, e.g. an advertisement. A quantitative indicator can be obtained by comparing user profiles with target profiles, which can be used to automate the content provision process. The process can use a plurality of preset user types and a plurality of preset ad target types, whereby each user is allocated to one or more of the preset user types and each ad is allocated to one or more of the preset ad types.
Claims
1. A computer-implemented method of participating in a web-based ad bidding process, the method comprising: receiving notification of an ad impression, the notification including a user identifier associated with a user of a remote client device on which the ad impression is located; selecting a candidate ad for the ad impression; sending the user identifier and an ad identifier associated with the candidate ad to an evaluation engine; obtaining a user profile associated with the user identifier and indicative of the user's behavioural characteristics; obtaining an ad target profile associated with the ad identifier and indicative of a target user's desired behavioural characteristics; comparing the user profile with the ad target profile to generate a quantitative indicator of the similarity between the user profile and the ad target profile; returning the quantitative indicator to the ad network; and determining, based on the quantitative indicator, a bid for the candidate ad in response to the ad impression.
2. A method according to claim 1 comprising: receiving, in an ad exchange, a plurality of bids for candidate ads in response to the ad impression; determining, in the ad exchange, a successful bid from the plurality of bids; and serving advertising content corresponding to the successful bid over the web to the remote client device in satisfaction of the ad impression.
3. A method according to claim 1, wherein comparing the user profile with the ad target profile comprises determining a level of correlation between the user's behavioural characteristics and the target user's desired behavioural characteristics, and wherein the quantitative indicator is based on the determined level of correlation.
4. A method according to claim 1, comprising associating the user, through use of user profile, with one or more of a plurality of preset user types, wherein each preset user type includes a predetermined combination of behavioural characteristics.
5. A method according to claim 4, comprising storing in the user profile, a user profile metric that maintains a user probability value for the user against each of the plurality of preset user types.
6. A method according to claim 1, comprising associating the ad with one or more of a plurality of preset ad target types through use of the ad target profile, wherein each preset ad target type includes a predetermined combination of behavioural characteristics.
7. A method according to claim 6, comprising storing in the ad target profile an ad target profile metric that maintains an ad probability value for the ad against each of the plurality of preset ad target types.
8. A method according to claim 7 comprising: generating a user-target correlation matrix, which is a data structure that stores a correlation index value against each combination of a preset user type from the plurality of preset user types and a preset ad target type from the plurality of present ad target types; calculating a correlation index for each combination of a preset user type from the plurality of preset user types and a preset ad target type from the plurality of present ad target types using the ad probability value, user probability value and an action probability index value for that combination; and basing the quantitative indicator on the calculated correlation indices, wherein the action probability index value is a parameter that quantifies the probability of achieving a desired action in respect of a given preset ad target type for a given preset user type.
9. A method according to claim 8, calculating a product of the probability value, action probability index value and weighting value for each combination of a preset user type from the plurality of preset user types and a preset ad target type from the plurality of present ad target types in the correlation index.
10. (canceled)
11. A method according to claim 2, wherein the step of determining, in the ad exchange, a successful bid from the plurality of bids occurs as part of a real-time bidding process.
12. A method according to claim 2 comprising: displaying the advertising content corresponding to the successful bid on the client device in response to the ad request; and collecting behavioural data of the user from the client device while the user is viewing the advertising content.
13. A method according to claim 12 comprising refining the user profile based on the collected behavioural data.
14. A method according to claim 13, comprising associating the user, through use of the user profile, the user with one or more of a plurality of preset user types, wherein each preset user type includes a predetermined combination of behavioural characteristics, and wherein the step of refining the user profile comprises altering the one or more of the plurality of preset user types that are associated with the user.
15. A method according to claim 14, wherein step of refining the user profile comprises deploying and executing one or more unsupervised machine learning processes.
16. A method according to claim 13, comprising storing, in the user profile, a user profile metric that stores a probability value for the user against each of a plurality of preset user types, wherein each preset user type includes a predetermined combination of behavioural characteristics, and wherein the step of refining the user profile comprises adjusting one or more of the probability values.
17. A method according to claim 13, comprising inferring behavioural characteristics of the user from the collected behavioural data, wherein the step of refining the user profile comprises using the behavioural characteristics obtained from the inferring step.
18. A method according to claim 12 comprising refining an ad target profile associated with the advertising content based on the collected behavioural data.
19. A method according to claim 18, comprising associating the advertising content with one or more of a plurality of preset ad target types through use of the ad target profile, wherein a given preset ad target type comprises a predetermined combination of behavioural characteristics, and wherein the step of refining the ad target profile comprises altering the one or more of the plurality of preset ad target types that are associated with the advertising content.
20. A method according to claim 19, wherein step of refining the ad target profile comprises deploying and executing one or more unsupervised machine learning processes.
21. A method according to claim 18, comprising storing in the ad target profile an ad target profile metric that maintains a weighting value for the advertising content against each of a plurality of preset ad target types, wherein each preset ad target type comprises a predetermined combination of behavioural characteristics, and wherein the step of refining the ad target profile comprises adjusting one or more of the weighting values.
22. A method according to claim 19, wherein the step of refining the ad target profile comprises aggregating behavioural data collected from a plurality of users.
23. (canceled)
24. A method according to claim 1, wherein determining the user's behavioural characteristics comprises collecting emotional state information representing average properties for one or more emotions collected from the user.
25. A method according to claim 1, wherein determining the user's behavioural characteristics comprises collecting emotional state information representing average properties for one or more emotions in aggregated behavioural data collected from a plurality of users.
26. A method according to claim 1, wherein collecting emotional state information comprises emotional state information selected from the group consisting of: angry, disgusted, neutral, sad, scared, happy, surprised and their derivatives.
27. A computer-implemented method of selecting a web-based ad, the method comprising: receiving notification of an ad impression, the notification including a user identifier associated with a user of a remote client device on which the ad impression is located; selecting a plurality of candidate ads for the ad impression; sending the user identifier and an ad identifier associated with each of the plurality of candidate ads to an evaluation engine; obtaining a user profile associated with the user identifier; obtaining an ad target profile associated with each ad identifier; comparing the user profile with each ad target profile to generate a plurality of quantitative indicators of the similarity between the user profile and each ad target profile; selecting, based on the quantitative indicator, an ad from the plurality of candidate ads to serve in response to the ad impression; and serving the selected ad to the remote client device on which the ad impression is located.
28. (canceled)
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0051] Embodiments of the invention are discussed below in detail with reference to the accompanying drawings, in which:
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
DETAILED DESCRIPTION OF CERTAIN EMBODIMENTS OF THE INVENTION
[0059]
[0060] The ad serving system 100 further comprises an ad exchange 110, which acts as an intermediary between the client devices 102a, 102b and 102c and a plurality of advertisers 112a, 112b and 112c. The structure of the ad exchange is conventional and well known to those of ordinary skill in the art.
[0061] The ad serving system 100 comprises a behavioural data collection server 114. A processor at the behavioural data collection server 114 executes program code that allows for the receipt of client collected or captured behavioural data from the client devices 102a, 102b and 102c via the World Wide Web 108. The behavioural data can represent emotion state data for the user interacting with the client device 102a, 102b and 102c. For example, program code executing at the behavioural data collection server 114 can instruct the processor to receive webcam pictures of the user interacting with the client device. The webcam pictures can be analysed to generate emotion state information, as is known to one of ordinary skill in the art. Alternatively, the webcam pictures can be analysed (or partly analysed) on the client devices themselves. Thus, the information passed to the behavioural data collection server 114 can be partly or wholly analysed.
[0062] Herein, the terms “server” and “network-enabled computing device” (or “computing device”) are used to mean a computer having at least one processor that executes instructions therein received from a memory store (e.g., RAM) in order to implement functionality useful in connection with one or more embodiments of the invention. These devices further include network interface components comprising hardware configured to enable communications over a network between the server and between one and a plurality of computing devices at which computer user behavioural data is being captured. By way of example and not limitation, the communications can comprise data packets constructed in accordance with a user datagram protocol (UDP) or an Internet protocol (IP). These devices have hardware or software from an accessible memory which execute in respective processors in order to implement the functionality described herein. As such, more general statements described herein regarding the arrangement of an application, steps taken in connection with one or more methods, functions, capabilities, and so on, unless expressly noted otherwise, are all made in relation to servers and/or computing devices configured by code executing a processor.
[0063] The behavioural data collection server 114 can receive behavioural data from a plurality of client devices. For instance, software (which comprises instructions executing in the processor of the computing device) can be used to set up such communication. In the present embodiment, the received behavioural data is used in three ways.
[0064] Firstly, the behavioural data from a plurality of users interacting with the same piece of web content (e.g., the same ad) can be aggregated and stored in aggregated data storage 116. Thus, the emotional state responses to viewing the web content from different types of users are collected.
[0065] Secondly, the behavioural data is used to establish or refine a user profile for the particular user. One embodiment of a method of performing this task is described below with reference to
[0066] Thirdly, the behavioural data is used to update or refine an ad target profile. Where appropriate, the recorded behavioural data for the user can include or be accompanied by information indicative of satisfaction of an action (e.g., advertising goal) associated with the web content. For example, the goal can be to establish a positive emotional reaction to a brand, or to achieve a certain physical reaction (e.g., a click through).
[0067] The user's emotions can be tracked using code that configures the processor of the local computer to make determinations of the computer user's emotions, such as the six universal emotions mentioned herein. Alternatively, the user's emotions can be tracked using code executing at a remote server that configures the processor of the that server to make determinations of the computer user's emotions, such as the six universal emotions described herein, either using the raw captured image data, or, more preferably, using the signals processed by the local computer prior to transmission to any remote server.
[0068] The processing of the collected behavioural data may include several sub-processing steps, at least one which transforms the interactive data that has been collected into data packets suitable for transmission to a remote server, and more preferably to include temporal information related to the video playback and the moment or segment that was being played at the client computer during the collection of the computer user behavioural data.
[0069] The collected data can undergo additional processing, before transformation into packets or a file for transmission over a network, in order to coordinate the captured computer user behavioural data with moments or segments of the video provided to the computing device during media playback, including at least moments or segments during media playback of a video ad at the computing device. Such processing includes instructions executing in the processor of the computing device which synchronize the images being captured to a temporal location within the media being played back at the user's computing device, such as by associating a time code or range of time codes of the video with the captured computer user behavioural data. The synchronization can be important to solve latency problems associated with the reception of streamed content at the computing device, associated with local processes (such as those which might change the timing of media playback relative to the transmission of streamed content to the computing device), and events at the computing device which also can affect the time window of media playback (e.g., as one non-limiting example, the user pauses or rewinds playback).
[0070] The additional processing in accordance with this aspect of the invention causes temporal information concerning the computer user behavioural data to be included among the data packets being transmitted to the remote server, in addition to the transmission of the computer user behavioural data itself.
[0071] In further more particularized aspects, the time codes for the moments or segments during which computer user behavioural data is being captured can comprise time offsets relative to a video ad, and optionally relative to other video content being played back in the media playback application.
[0072] In still further aspects of the invention, the computing devices can be configured to more efficiently utilize their resources so as to minimize interruption of media during playback. In this regard, system components are monitored and their performance or values are utilized in determinations as to when certain local processing is to be performed. As such, processing of computer user behavioural data can be performed dynamically (starting and stopping) in view of the performance capabilities of the user's computing device on which the processing is being performed and in further view of connectivity between the computing device and the network to which it is connected.
[0073] The second and third functions described above can be performed by program code executing at a profiling server 118 that is communicably connected to the behavioural data collection server 114. There can be a plurality of profiling servers, e.g., a first profiling server for updating a user profile, and a second profiling server for updating an ad target profile, or multiple profiling severs working in parallel under the control of a load balancer (not pictured) that passes out active tasks to a given one or more of such multiple profiling servers. Alternatively, as shown in
[0074] The profiling server 118 is in communication with a library 122 (e.g., database) of predetermined user profiles and a library 124 (e.g., database) of predetermined ad target profiles. Each ad and each user known to the system can be given a unique ad identifier or user identifier, respectively. The profiling server 118 can associate these identifiers with one or more of the predetermined ad target profiles or predetermined user profiles, respectively. That association can be stored in the libraries 122, 124.
[0075] According to one embodiment of the invention, the profiling server 118 can function to assist advertisers in choosing where to place ads, e.g., in choosing which ads to put forward to the ad exchange for an available ad slot (sometimes called an ad impression). For example, in one embodiment the ad exchange 110 can be arranged to run a real-time bidding (“RTB”) process to choose an ad to serve in response to an ad request. In this process, the ad exchange 110 can communicate details of an available ad impression to prospective participants (e.g., bidders) in the RTB process. The details of the ad impression can include, but are not limited to, a user identifier associated with the client device on which the ad impression is located.
[0076] The aim of the advertiser is to match an ad to the available ad impression that has the best chance of being effective, e.g., achieving an advertising goal or action. The processor at the profiling server 118 executes program code instructing the processor to provide a quantitative indication of the prospects of successfully achieving that aim. According to one embodiment, the quantitative indication is based on a comparison of the user profile associated with a user identifier (from the ad impression) and an ad target profile associated with an available ad from the advertiser. In one embodiment, the advertiser can use the quantitative indication to decide on a bid amount for an ad to be submitted into the RTB process.
[0077] The profiling server 118 can be a separate entity from an advertiser 112, whereby the advertisers never gain access to the detailed information in the user profiles or the ad target profiles, 124 and 122, respectively. In such an embodiment, program code executing at the profiling server 118 can instruct the processor to return a score that represents the quantitative indication upon receiving a user identifier and an ad identifier. Alternatively, if the advertiser sends a user identifier with a plurality of ad identifiers, the program code executing at the profiling server can instruct the processor to return a “best match” indication that tells the advertiser which ad is likely to be most successful for that user.
[0078] In another embodiment, a separate evaluation server (not shown) for running the evaluation engine can be provided for accessing user profiles and ad target profiles. The profiling server 118 can thus be reserved for the function of establishing and maintaining the associations between user identifiers and user profiles and ad identifiers and ad target profiles. The processor at the evaluation server can be in communication with the libraries 122, 124 in order to access and process the relevant profile information. The evaluation server can be an integrated part of an advertiser's functionality, e.g., the advertiser itself performs the comparison between the user profile and ad target profiles.
[0079]
[0080] Accessing web content in step 202 triggers a step 204 of generating an ad request and, if available, a step 206 of initiating a data collection module. The ad request can be an ad call transmitted to an ad exchange or the like, where it initiates an ad selection process, e.g., a real-time bidding process, to determine what ad should be served.
[0081] The data collection module can be an application stored on the client device that is arranged to instruct a processor therein to collect images using the webcam and other suitable information relating to the behaviour of the user. The collected images and other data are to be analysed to extract behavioural information about the user as he or she interacts with the web content. The data collection module is arranged to transmit information to a remote data collection server, where the results of the analysis are aggregated. The analysis can happen locally, e.g., on the client device, whereby partly or wholly analysed data is transmitted to the data collection server. Alternatively, the analysis can occur at the data collection server, whereby the information that is transmitted comprises the raw captured images or a video stream from the webcam.
[0082] Transmission of data to the remote server that has been analysed in whole or in part, in lieu of the raw captured image data, provides for an efficient data transfer from each local computer to the remote server, again resulting an improved usage of computational resources and a more minimized impact on the data upload from each individual local computer.
[0083] In some embodiments, the data collection module can not be initiated until the ad response is received. Accordingly, the code for initiating the data collection module, or a resource identifier enabling the client device to download or otherwise access the data collection module, can be part of the ad response that is served in response to the ad call.
[0084] According to the method of the present embodiment, the ad call includes a user identifier, e.g., a tracking pixel or the like, which is associated with a user profile (or a user profile metric, as discussed below). Upon receipt of the ad call in the ad exchange, the method continues with a step 205 of initiating a RTB process. The method continues with a step 207 of notifying prospective bidders of the existence of an available ad impression at the client device. The notification can be sent electronically from the ad exchange to one or more advertisers, or it can be managed by a demand side platform, as is conventional and well known to on of ordinary skill in the art. The notification includes the user identifier.
[0085] Upon receipt of the notification, a given advertiser must decide how to bid on the impression. This process can be automated, e.g., based on parameters relating to the ad impression itself and on the available ads. The process (automated or manual) can take into account behavioural information (and especially emotional state information) about both the user and a desired user target for an ad. This is achieved through a comparison of the user profile associated with the user identifier and an ad target profile associated with each available ad.
[0086] In the method of
[0087] The method continues in the evaluating server with a step 209 of assessing (e.g., comparing) the candidate ad target profile(s) with the user profile to generate a quantitative indication (i.e., a score) that represents the quality of match between the ad target and the user. This is a valuable indicator of the prospects of an ad successfully achieving its goal, which has the direct result of improving network performance by preventing the transmission of unnecessary information. The processor at the evaluating server can return the quantitative indication to the prospective bidder as a parameter to be used in deciding how to bid on the available ad impression. The quantitative indication can be a score, or can be a recommended bid amount.
[0088] In addition to the quantitative indication based on the stored user profile and ad target profile, the prospective bidder can also be arranged to receive current behavioural data (e.g., current emotional state information) about the user that is captured at the client device and communicated in the ad request. This can provide a further parameter on which an advertiser can determine a bid.
[0089] The prospective bidder determines a bid based (at least in part) on the quantitative indication, and communicates that bid to the ad exchange. Upon obtaining the bid, the method continues in the ad exchange with a step 210 of selecting an ad to serve in response to the ad call by performing a real-time bidding process. When the real-time bidding process has concluded, the method continues with a step 212 of serving an ad response containing the winning ad back to the client device.
[0090] In one embodiment of the invention, the ads are video ads. The ad response can thus have an XML-based structure that is compatible with Video Ad Serving Template (“VAST”) 3.0 produced by the Interactive Advertising Bureau (“IAB”). The data collection module (or its resource identifier) can be provided in a creative element of the VAST response. An advantage of this arrangement is that it can ensure execution of the data collection module on any VAST compatible video player.
[0091] Upon receipt of the ad response, the method continues with a step 214 of displaying the ad on the client device and a step 216 of commencing behavioural data collection associated with that ad. As discussed above, the collected data can be wholly or partly analysed before sending to the data collecting server, such as whole or partial analysis at the client, where it is aggregated with data collected from other users who have consumed the same ad. The aggregated data thus gives global information about the reaction of users to a given ad.
[0092] In accordance with embodiments of the present invention, the analysed data from the data collecting module is also used to update or refine the particular user profile and/or the ad target profile. Thus, the method continues with a step 218 of passing the analysed data to a profiling server, where it is processed as discussed herein. The method thus provides a technique for periodically updating and refining a user profile as more behavioural data for that user becomes available. Similarly, as the number of impressions of a given ad increases, the aggregated data can be used to adapt or update the ad target profile.
[0093] By tying the ad display to user behavioural data, embodiments of the present invention minimize the need to unnecessarily transmit advertisements to uninterested users, thereby network usage and processor loads. Such savings can result in appreciable benefits, for example, when operating in a mobile environment such that battery life is prolonged and device performance is not adversely impacted by unnecessary receipt and processing of ads, as well as collection and possible processing of user behavioural data. Network operators also benefit by reducing or otherwise eliminating transmission loads caused by the transmission of unwanted or otherwise ineffective ads.
[0094]
[0095] When an ad is made available by an advertiser, a profiling server can be notified. This notification can be made directly from the advertiser, or can occur at the stage where behavioural data is being collected from a user viewing the ad. The method in
[0096] The step of setting the base ad target profile can be done by using previously collected audience behavioural data, e.g., data collected from a pre-release review panel. Alternatively, the base ad target profile can be inferred from properties of the ad itself, e.g., relating to content, style and expected emotional reaction (e.g., surprise in initial or final segment, humour in initial or final segment, etc.). In one embodiment, where no information is available about the ad, the weighting values stored in the ad profile metric for each ad type can be manually set.
[0097] After the ad is released and begins to be viewed, additional behavioural data and user data is collected. As the aggregated data in the data collecting server is updated, the method in
[0098]
[0099]
[0100] Similarly to the ad target profiles discussed above, the system can have a set of predetermined user profiles (referred to herein as user types). A given user can be associated with a unique user identifier, which in turn is matched with one or more of the predetermined user types.
[0101] The methods and system outlined above provide a way of introducing behavioural data, and in particular emotion state information about users, into a scheme for selecting ad to be displayed. By providing information about a user's behaviour (e.g., engagement or attentiveness) and emotional state, embodiments of the invention give the profiling another dimension and thus enables matching of users to appropriate ads to be performed more accurately.
[0102] Thus for a given user type, there can be a parameter that quantifies the probability of achieving a desired action in respect of a given ad type. As further information about users who share a given user profile is collected, the probabilities associated with each ad type can be refined.
[0103] The matrix 700 can be used in a real time bidding process to generate a quantitative indication of the level of match between an ad and a user. By representing the ad target profile metric as a row vector and the user profile metric as a column vector the matrix 700, which may be implemented as a data structure and stored in a memory device for retrieval by a processor, can be used to generate a value corresponding to the sum of the product of weighting value, action probability and user probability for each combination of ad type and user type. The higher this number, the better the match between the user and ad.
[0104]
[0105] In software implementations, computer software (e.g., programs or other instructions) and/or data is stored on a machine readable medium as part of a computer program product, and is loaded into a computer system or other device or machine via a removable storage drive, hard drive, or communications interface. Computer programs (also called computer control logic or computer readable program code) are stored in a main and/or secondary memory, and executed by one or more hardware processors (controllers, or the like) to cause the one or more processors to perform the functions of the invention as described herein. In this document, the terms “machine readable medium,” “computer program medium” and “computer usable medium” are used to generally refer to media such as a random access memory (RAM); a read only memory (ROM); a removable storage unit (e.g., a magnetic or optical disc, flash memory device, or the like); a hard disk; or the like.
[0106] Notably, the figures and examples above are not meant to limit the scope of the present invention to a single embodiment, as other embodiments are possible by way of interchange of some or all of the described or illustrated elements. Moreover, where certain elements of the present invention can be partially or fully implemented using known components, only those portions of such known components that are necessary for an understanding of the present invention are described, and detailed descriptions of other portions of such known components are omitted so as not to obscure the invention. In the present specification, an embodiment showing a singular component should not necessarily be limited to other embodiments including a plurality of the same component, and vice-versa, unless explicitly stated otherwise herein. Moreover, applicants do not intend for any term in the specification or claims to be ascribed an uncommon or special meaning unless explicitly set forth as such. Further, the present invention encompasses present and future known equivalents to the known components referred to herein by way of illustration.
[0107] The foregoing description of the specific embodiments will so fully reveal the general nature of the invention that others can, by applying knowledge within the skill of the relevant art(s) (including the contents of the documents cited and incorporated by reference herein), readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present invention. Such adaptations and modifications are therefore intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance presented herein, in combination with the knowledge of one skilled in the relevant art(s).
[0108] While various embodiments of the present invention have been described above, it should be understood that they have been presented by way of example, and not limitation. It would be apparent to one skilled in the relevant art(s) that various changes in form and detail could be made therein without departing from the spirit and scope of the invention. Thus, the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their