1. Field of the Invention
This invention generally relates to targeting videos on a video web site for placements of advertisements and more specifically to targeting videos by audience or content.
2. Description of the Related Art
The sharing of video content on websites has developed into a worldwide phenomenon. On average, over 10,000 videos are posted to video sharing websites every day, and this number is increasing as the tools and opportunities for capturing video become easy to use and more widespread. Shared video content provides opportunities to present advertising to viewers along with the requested video content. Oftentimes, there is a desire to target the advertising to particular types of viewers and content.
One technique for delivering targeted advertising is for an advertiser to associate an advertisement with particular terms in a search query and/or generally with the set of search results that result from the query. For example, a targeted advertisement can be presented if a particular term appears in a search query. Advertisers can bid for particular terms that are likely to appear in search queries and have their advertisements presented when the terms appear in the query or as keywords (e.g., tags) associated with the videos in the results set.
Embodiments of the invention include methods, computer-readable storage media, and computer systems for targeting videos based on the audience characteristics or the actual content of the video. Advertisers search for videos by entering search criteria into a user interface. Advertisers can search based on characteristics of the audience (viewers) of the videos, such as age range, gender, and interests of the viewers, and/or based on metadata associated with the videos. A set of videos that meet the search criteria is then retrieved. Through a graphical user interface, advertisers can select individual ones of these videos or groups of these videos. The selected videos or groups of videos can be added to a media plan associated with the advertiser. The items from the media plan can be imported into an advertising campaign management system, wherein the advertiser's ads are associated with the selected videos or groups of videos. Subsequently, viewers who view videos from among the selected videos and groups of videos also view the advertiser's ads in connection with the videos, for example as instream advertisements or as overlays on the videos.
The figures depict an embodiment of the present invention for purposes of illustration only. One skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.
The video hosting service 110 provides video content (referred to herein as “videos”) to the client 130 via the network 101. In one embodiment, the video hosting service 110 is located at a website provided by YOUTUBE, LLC of San Bruno, Calif., although the video hosting service 110 can also be provided by another entity. As will be described below in more detail with respect to
The advertising campaign management system 120 manages and stores advertising content, and provides the advertising content (i.e., ads) to clients 130 via the network 101 in association with videos from the video hosting service 110. In some instances, the advertising content is in the same format as the content provided by the video hosting service 110 (e.g., is a playable video ad). In other instances, other types of advertising are provided to the clients, such as pure text advertising, advertising providing a hyperlink to an advertiser's website, text-and-audio advertising, and static image advertising. In one embodiment, the functions of the advertising campaign management system 120 are provided by the video hosting service 110, rather than by a separate system.
The ads managed by the advertising campaign management system 120 are supplied by an advertiser who selects the specific videos or groups of videos with which to show the ad, using the video targeting tool 1105 of the video hosting service 110 described herein. The advertiser may submit bids for the specified videos, agree to pay rates specified by a rate card, or agree to other payment terms associated with the video or group of videos.
The client 130 is a computer or other electronic device used by one or more users to perform activities including viewing video content received from the video hosting service 110 and viewing advertising received from the advertising campaign management system 120. The client 130, for example, can be a personal computer executing a web browser 132 that allows the user to browse and search for videos available from the video hosting service 110. In other embodiments, the client 130 is a network-capable device other than a computer, such as a personal digital assistant (PDA), a mobile telephone, a pager, a television “set-top box,” etc. Whereas some users use clients 130 to access the video hosting service 110 primarily to view videos, advertisers also use clients 130 to access the video hosting service 110 to select videos in connection with which to show advertising, as will be described in detail below.
The network 101 represents the communication pathways between the video hosting service 110, the advertising campaign management system 120, and the client 130. In one embodiment, the network 101 is the Internet. The network 101 can also utilize dedicated or private communications links that are not necessarily part of the Internet. In one embodiment, the network 101 uses standard communications technologies and/or protocols. Thus, the network 101 can include links using technologies such as Ethernet, 802.11, integrated services digital network (ISDN), digital subscriber line (DSL), asynchronous transfer mode (ATM), etc. Similarly, the networking protocols used on the network 101 can include the transmission control protocol/Internet protocol (TCP/IP), the hypertext transport protocol (HTTP), the simple mail transfer protocol (SMTP), the file transfer protocol (FTP), etc. The data exchanged over the network 101 can be represented using technologies and/or formats including the hypertext markup language (HTML), the extensible markup language (XML), etc. In addition, all or some of links can be encrypted using conventional encryption technologies such as the secure sockets layer (SSL), Secure HTTP and/or virtual private networks (VPNs). In another embodiment, the entities can use custom and/or dedicated data communications technologies instead of, or in addition to, the ones described above.
The processor 202 may be any general-purpose processor. The storage device 208 is, in one embodiment, a hard disk drive but can also be any other device capable of storing data, such as a writeable compact disk (CD) or DVD, or a solid-state memory device. The memory 206 may be, for example, firmware, read-only memory (ROM), non-volatile random access memory (NVRAM), and/or RAM, and holds instructions and data used by the processor 202. The pointing device 214 may be a mouse, track ball, or other type of pointing device, and is used in combination with the keyboard 210 to input data into the computer 200. The graphics adapter 212 displays images and other information on the display 218. The network adapter 216 couples the computer 200 to the network 101.
As is known in the art, the computer 200 is adapted to execute computer program modules. As used herein, the term “module” refers to computer program logic and/or data for providing the specified functionality. A module can be implemented in hardware, firmware, and/or software. In one embodiment, the modules are stored on the storage device 208, loaded into the memory 206, and executed by the processor 202. The computer 200 is configured to perform the specific functions and operations by various modules, for example as detailed in
The types of computers 200 utilized by the entities of
As shown in
The front end server 1101 handles communication with the clients 130 via the network 101. The front end server provides a user interface in a web page to the client 130, and interactions with clients 130 are handled through the user interface. For example, a user may select videos to view through the webpage provided to user's client 130. As another example, an advertiser receives a separate webpage at its client 130 to select videos in connection with which to show targeted advertising. Examples of the user interface web pages for targeting videos by audience characteristics and content are shown in
The ingest server 1102 processes video files received by the front end server 1101 from a user for posting to the video hosting service 110. In one embodiment, the processing of a video file received includes assigning a video identification (video ID) to the video file and storing the video file in a videos database 1110. Other steps that may be involved in the processing of the received video file before storing it in the videos database 1110 include: formatting (e.g., transcoding), compressing, metadata tagging, content analysis, and/or other data processing methods. In one embodiment, the front end server 1101 also receives a form with the video file received from the user. The form includes information entered by the user about the video, such as the title, description, and tag information. The ingest server 1102 stores the information included in the form as metadata of the video file in the videos database 1110. Additionally, the ingest server 1102 updates data contained on the user that transmitted the video file to the video hosting service 110 in the user database 1111. In one embodiment, the ingest server 1102 stores the video ID assigned to the stored video file with the data of the respective user in the user database 1111.
In one embodiment, the videos database 1110 is a storage system that includes video files shared by the video hosting service 110 with users. All of the videos contributed by one entity are referred to as a single “channel.” The videos stored in the videos database 1110 may also be organized into vertical hierarchical categories according to content, referred to herein as “verticals,” with categories higher in the hierarchy being more general than categories lower in the hierarchy. For example, a category for a hip-hop music artist might belong to the category “entertainment|music|urban|artist.” Here, “entertainment” is the top category, “music” is a sub-category of entertainment, “urban” is a sub-category of music, and “artist” (i.e., the name of the artist) is a sub-category of urban.
The user database 1111 includes data on users that communicate with the video hosting service 110. An example of data included in the user database 1111 for a specific user includes the video IDs of video files transmitted by the user to the video hosting service 110 and the video IDs of video files that the user has accessed from the videos database 1110 for viewing. Additionally, the user database 1111 also stores demographic information about the user, including the user's gender, age, subject matter interests, income level, where the user lives (e.g., country, state, etc.), and/or any other demographic information.
The user registration module 1107 creates and manages user accounts for the video hosting service 110, although in some implementations it is not necessary to have an account to view videos from the video hosting service 110. For those users who establish accounts, during account creation, users are requested to provide demographic information and a user login is assigned. The user registration module 1107 stores the user demographic information in the user database 1111 associated with the respective login. For users who do not establish accounts, they may be identified by the user's internet protocol address, which the user registration module 1107 can store in the user database 1111.
The video search server 1103 processes any search queries received by the front end server 1101 from users seeking to view videos. A search query received by the front end server 1101 from a user includes search criteria, such as keywords that may identify videos the user is interested in viewing. The video search server 1103 uses the search criteria to query the metadata of video files stored in the videos database 1110. The search results from the query are transmitted to the front end server 1101 for presentation to the user. For example, if a user provides the front end server 1101 with a keyword search query with the word “Lakers” the video search server 1103 identifies videos stored in the videos database 1110 related to the word “Lakers.”
The video access server 1104 processes requests from users (“viewers”) to access certain videos. In one embodiment, the video access server 1104 receives a request from a viewer to access a video when the viewer clicks on a link to the video. The request received from the viewer includes the video ID of the video the viewer wishes to access for viewing (this can be included automatically once the viewer clicks on the link for the video). The video access server 1104 uses the video ID to search and locate the video in the videos database 1110. Once the requested video is located, the video access server 1104 transmits the video to the viewer via the front end server 1101. The video is presented to the viewer on a web page. Metadata associated with the video may also be presented with the video, such as the title and description of the video. In one embodiment, after transmitting the video to the viewer, the video access server 1104 stores the video ID of the video transmitted to the viewer in the user database 1111 with the data of the respective viewer. In another embodiment, the video access server 1104 responds to requests from advertisers to preview videos being considered for placements of advertisements.
The data collection server 1106 collects data on the demographic profile of the users who watch each video, and stores the information in the view count database 1112 according to the demographics. The view count can be tallied as a whole for the viewers of a video and tallied separately along each demographic division, such as gender, age, region of the world, etc., if such information is available, for example, if such information has been provided by users. The view counts are updated each time a viewer accesses a video. For example, assume User A requests and watches a video B. The video access server 1104 notifies the data collection server 1106 that User A has viewed video B. The data collection server 1106 pulls the demographic information about User A from the user database 1111, which in this example contains the information that User A is an 18-year-old male. The data collection server 1106 updates the view count database 1112 to reflect that an 18-year-old male has viewed video B. Thus, the total view count for video B is incremented by 1, as is the view count for males who viewed video B and the view count for 18-year-olds who viewed video B. Likewise, the tallies along any other demographic partitioning can be updated in the view count database 1112 according to the information pulled from the user database 1111 by the data collection server 1106. For example, view counts can be recorded according to a number of different granularities for age ranges and/or recorded according to keywords that are used in users' profiles. If no demographic information about User A is available from the user database 1111 (perhaps because User A has not established an account through the user registration module 1107), the total view count for video B is still incremented by 1, but the demographic tallies are not altered. The information in the view count database 1112 is used to calculate the number of views per day of each video, which determines the number of impressions per day that an advertiser can expect from placing an ad in connection with the video. The information in the view count database 1112 is also used to identify which videos have audiences that skew towards or match demographic characteristics that an advertiser desires for the audience of the advertiser's ads. The score of a video with respect to a given audience is computed as follows: Let m be the watches of a video by the target audience; M be the total watches of the video; N be the total watches of the target audience on any video; w be the weight (between 0 and 1 inclusive) given to recall; and then the score of a video is
The video targeting tool 1105 of the video hosting server 110 will now be described with reference to
In one embodiment, the front end server 1101 of the video hosting server 110 provides a web page containing a user interface that allows an advertiser to input video search criteria. An advertiser uses the browser 132 of a client 130 to enter the search criteria and submit it to the front end server 1101 that passes the criteria to the criteria receipt module 11051. The search criteria include one or more characteristics of the viewers of the video or criteria relevant to the content of the video. The criteria receipt module 11051 extracts the search criteria from the advertiser's input. In one embodiment, the advertiser's input is in the form of a search query, and the criteria receipt module 11501 receives the search query and parses it by performing tasks including verifying the query syntax, filtering out stop words, identifying the query terms, and identifying any query parameters. The criteria receipt module 11501 then provides the search criteria to the other modules of the video targeting tool 1105.
A video search engine 11502 of the video targeting tool 1105 processes the criteria received from the advertiser via the criteria receipt module 11051. The video search engine 11052 uses the criteria to query the videos database 1110 to find videos that satisfy the input criteria.
A results page formation module 11053 forms a results page containing search results generated in response to the video search engine 11052 querying the videos database 1110. The results page formation module 11053 forms a results page that lists the video results, and may also list associated information like suggested alternative queries and options for ranking the results. The results page formation module 11053 may include one or more thumbnail images from the videos in the result set, and may include information such as the title of the video, a description of the video, a rating of the video, the date the video was contributed, the total number of view of the video and the number of view per day, the length of the video, and/or any other descriptive information related to the video that has been stored as metadata in the videos database 1110. The results page formation module 11053 passes the results page to the front end server 1101 to provide to the client 130. The advertiser can select videos of interest for placing ads from the results page.
The media plan module 11054 manages the selected videos and groups of videos for which the advertiser has expressed an interest in placing ads. The media plan module 11054 displays the advertiser's selections, for example in a list, and the user can add or delete items from the list. In one embodiment, the items from the media plan can be imported into an advertising campaign management system 114, such as GOOGLE ADWORDS™ wherein the advertiser's ads are associated with the selected videos or groups of videos. Subsequently, viewers who view videos from among the selected videos and groups of videos from the video hosting service 110 also view the advertiser's ads in connection with the videos.
The steps illustrated in
The client 130 receives search criteria from the advertiser, which the client 130 then provides 410 to the criteria receipt module 11051 of the video targeting tool 1105 of the video hosting service 110. The search criteria may include characteristics of the audience of the video and/or criteria relevant to the content of the video.
Referring back to
In the example of
In
From the user interface 600, the advertiser has an option of displaying the items that meet the advertiser's criteria in a list view or as a wall of videos. The user interface 600 displaying the list view corresponds to button 6112.
Still another of the advertiser's options for how to view the results from the advertiser's search for videos that meet the audience criteria is to display the contents of verticals tab 613. The listing under the verticals tab 713 also includes the item name 631, the ad specifications 632 and the view count per day 633. Under the item name 631, the name of the vertical can be listed in a hierarchy of categories and sub-categories that can be expanded and collapsed. As described above, in some embodiments, the ad specifications 632 column includes a list of the acceptable ad formats that can be used in connection with the videos within the vertical. The view count per day column 633 includes is the number of times the videos from the vertical are played (in whole or in part) per day. As described above, the advertiser can add or remove verticals from the media plan by selecting buttons under the action column 634. In one alternative embodiment, the advertiser can select to view example videos from within the vertical as a wall of video thumbnails similar to the grid view described above with reference to
Referring back to
Referring again to
The present invention has been described in particular detail with respect to several possible embodiments. Those of skill in the art will appreciate that the invention may be practiced in other embodiments. The particular naming of the components, capitalization of terms, the attributes, data structures, or any other programming or structural aspect is not mandatory or significant, and the mechanisms that implement the invention or its features may have different names, formats, or protocols. Also, the particular division of functionality between the various system components described herein is merely exemplary, and not mandatory; functions performed by a single system component may instead be performed by multiple components, and functions performed by multiple components may instead performed by a single component.
Some portions of above description present the features of the present invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. These operations, while described functionally or logically, are understood to be implemented by computer programs. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules or by functional names, without loss of generality.
Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “determining” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system memories or registers or other such information storage, transmission or display devices.
Certain aspects of the present invention include process steps and instructions described herein in the form of an algorithm. It should be noted that the process steps and instructions of the present invention could be embodied in software, firmware or hardware, and when embodied in software, could be downloaded to reside on and be operated from different platforms used by real time network operating systems.
The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored on a computer readable medium that can be accessed by the computer and run by a computer processor. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, application specific integrated circuits (ASICs), or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus. Furthermore, the computers referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
In addition, the present invention is not described with reference to any particular programming language. It is appreciated that a variety of programming languages may be used to implement the teachings of the present invention as described herein, and any references to specific languages are provided for enablement and best mode of the present invention.
The present invention is well suited to a wide variety of computer network systems over numerous topologies. Within this field, the configuration and management of large networks comprise storage devices and computers that are communicatively coupled to dissimilar computers and storage devices over a network, such as the Internet.
Finally, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter. Accordingly, the disclosure of the present invention is intended to be illustrative, but not limiting, of the scope of the invention.