The present invention relates generally to providing advertisements over a network, and more particularly, but not exclusively, to providing services for selecting and distributing different advertisements for inclusion in a page.
Online advertising is often a principal source of revenue for enterprises engaged in electronic commerce. A number of different types of page-based online advertisements are in use, along with various associated distribution requirements, advertising metrics, and pricing mechanisms. The Hypertext Markup Language (HTML) and Hypertext Transfer Protocol (HTTP) processes enable a page to be configured to contain a position for inclusion of an advertisement that can be selected dynamically each time the page is requested for display in a browser.
One type of online advertisement for products and/or services is a banner advertisement, which typically features an image (animated or static), and/or text displayed at a predetermined position in a page. The banner advertisement usually takes the form of a horizontal rectangle at the top of the page, but it can also be arranged in a variety of other shapes at any other location on the page. If a user clicks on the banner advertisement's location, image, and/or text, the user is taken to a new page that may provide detailed information regarding the products and/or services associated with the banner advertisement.
Another exemplary type of online advertisement is the sponsored listing advertisement. Sponsored listing advertisements can be represented by text and/or images that are displayed in a listing based on a user's search criteria or user browsing data. For example, if a user enters a search query in a web-based search engine, a set of hyperlinked text listings may be displayed in a position in the returned page along with the search query results. Sponsored listing advertisements are often provided according to a bidding model in which advertisers bid on keywords and the higher bids win placement in a listing, and pricing is often calculated on a “pay for clicks” and/or frequency basis.
Advertisement serving technology currently suffers from a proliferation of diverse interfaces, tools, and frameworks for choosing, distributing, and displaying advertisements in pages. For example, a web portal service may have to interact with several internal content managers and external partners that use different and incompatible tools for providing advertisements of particular types. As a consequence, advertisements are often manually reconfigured for use with different serving systems. Such conditions have impeded the deployment, testing, maintenance, and extension of systems that provide advertisements for display in a page.
Non-limiting and non-exhaustive embodiments of the present invention are described with reference to the following drawings. In the drawings, like reference numerals refer to like parts throughout the various figures unless otherwise specified.
For a better understanding of the present invention, reference will be made to the following Detailed Description of the Invention, which is to be read in association with the accompanying drawings, wherein:
The present invention will now be described more fully hereinafter with reference to the accompanying drawings, which form a part hereof, and which show, by way of illustration, specific exemplary embodiments by which the invention may be practiced. The invention may, however, be embodied in many different forms and should not be regarded as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete and will convey fully the scope of the invention to those skilled in the art. The following detailed description is, therefore, not to be taken in a limiting sense.
The invention is directed towards an advertisement services architecture that provides a common framework for universally managing network-based advertisement campaigns associated with various types of advertisement formats and advertisement cost mechanisms. A unified group of interfaces is provided for advertisement configuration, fetching, arbitration and optimization, advertisement campaign validation, and exposing services to external parties as well as to internal users. The invention can be employed with different types of advertisements including banner advertisements, sponsored listing advertisements, and the like. Additionally, an audio clip or sound can be associated with the different kinds of advertisements, which can be played when a page is displayed or if a pointing device is proximate to the advertisement's location in the page.
One aspect of the invention can employ business rules and metrics to optimize the delivery of a guaranteed number of impressions of an advertisement or a performance-based display of advertisements for a specified location in a page. Other aspects of the invention can provide for obtaining a configuration for a page location for displaying an advertisement; determining at least one advertisement that meets the configuration requirements, e.g., size and type; and determining an advertisement for display based on one or more optimization rules.
One type of advertisement enables an advertiser to specifically identify the number of guaranteed impressions to be delivered to a specific audience over a given period of time, where an “impression” is a single advertisement displayed to one user. Other types of advertisements enable an advertiser to specify a budget for displaying the advertisements over a period of time to a user(s), maximum amount to pay for each impression, and the like, based on a particular action or “performance” such as a keyword provided by a user in a search request.
For different types of advertisements, the dynamic selection of a particular advertisement for display in a page may be based on a wide range of considerations, including user browsing and interaction history, user registration information, page subject matter, search terms, distribution methods, and the like. Banner advertisements are often provided on a guaranteed number of impressions basis or they may be performance-based. Similarly, sponsored link advertisements are generally provided on a performance basis, but they can also be provided on a guaranteed number of impressions basis.
Illustrative Operating Environment
As illustrated in
System 100 also includes devices operated by end users and running browser applications or the like, including user 106 (depicted as a conventional personal computer) and web-enabled mobile device 112. Such devices are in communication with universal advertisement services server 110 by way of network 109. Network 109 may be the public Internet and may include all or part of network 108; network 108 may include all or part of network 109.
Portal server 102, third-party server 104, universal advertisement services server 110, user device 106, and mobile device 112 each represent computing devices which may generally include virtually any device that is configured to perform computation and that is capable of sending and receiving data communications by way of one or more wired and/or wireless communication interfaces. Such devices may be configured to communicate using any of a variety of network protocols. For example, user device 106 is configured to execute a browser application that employs HTTP to request information from a web server and then displays the retrieved information to a user.
Networks 108-109 are configured to couple one computing device to another computing device to enable them to communicate data. Networks 108-109 are generally enabled to employ any form of computer-readable media for communicating information from one electronic device to another. Each of networks 108-109 may include one or more of a wireless network, a wired network, a local area network (LAN), a wide area network (WAN), a direct connection such as through a Universal Serial Bus (USB) port, and the like, and may include the set of interconnected networks that make up the Internet. On an interconnected set of LANs, including those based on differing protocols, a router acts as a link between LANs, enabling messages to be sent from one to another. Communication links within LANs typically include twisted wire pair or coaxial cable. Communication links between networks may generally utilize analog telephone lines, full or fractional dedicated digital lines including T1, T2, T3, and T4, Integrated Services Digital Networks (ISDNs), Digital Subscriber Lines (DSLs), wireless links including satellite links, or other communication links known to those skilled in the art. Remote computers and other electronic devices may be remotely connected to LANs or WANs by way of a modem and temporary telephone link. In essence, networks 108-109 may include any communication method by which information may travel between computing devices.
The media used to transmit information across communication links as described above illustrate one type of computer-readable media, namely communication media. Generally, computer-readable media include any media that can be accessed by a computing device. Computer-readable media may include computer storage media, network communication media, and the like. Moreover, communication media typically embody information comprising computer-readable instructions, data structures, program components, or other data in a modulated data signal such as a carrier wave, data signal, or other transport mechanism, and such media include any information delivery media. The terms “modulated data signal” and “carrier-wave signal” include a signal that has one or more of its characteristics set or changed in such a manner as to encode information, instructions, data, and the like, in the signal. By way of example, communication media include wired media such as twisted pair, coaxial cable, fiber optic cable, and other wired media, and wireless media such as acoustic, RF, infrared, and other wireless media.
Framework for Universal Advertising Services
Web-based advertisement validation tool 214, web-based advertisement configuration manager 216, and third-party server applications 218 interact at the users 206 level with portal servers and third parties 224. Users belonging to portal servers and third parties 224 include, for example, portal server content managers responsible for specifying configuration parameters of web page positions and the corresponding types of advertisements, portal server managers and external portal server partners who track and validate their advertisement campaigns, and sales operators who test and validate various aspects of their advertisement campaigns. Web servers 220 and user profile server 222 interact with end users 226 who request, by standard interfaces, the most appropriate advertisements from an available inventory for specific web page positions.
At the applications 204 and users 206 tiers, framework 200 can be regarded as divided into a private 208 component and a public 210 component. Portal servers and third parties 224, interacting with web-based advertisement validation tool 214, web-based advertisement configuration manager 216, and third-party server applications 218, are private 208, while the interaction of end users 226 with web servers 220 and user profile server 222 is public 210. The private 208 and public 210 components correspond to the private and public networks 108 and 109, respectively, illustrated in
Fetching/dispatch interface 302 enables fetching of appropriate advertisements, which may be based on user profile information. Arbitration/optimization interface 304 enables selection of advertisements, including selection of the best available advertisement from among a set of qualifying advertisements for a given position on a page. The selection may be based on predetermined business metrics. An example of such a metric is eCPM (effective cost per thousand, which may correspond to a click-through rate multiplied by the cost per click in performance-based pricing contexts). If a sponsored link advertisement includes a series of multiple links, the eCPM value associated with the sponsored link advertisement may be obtained by computing the average of the individual eCPM values corresponding to each link.
Parameter/configuration interface 306 is employed to control configuration of parameters needed for arbitration and delivery of advertisements, such as the type of advertisement to be served. For example, an advertiser might provide the serving rule “select a class 2 banner advertisement of size 640×80, or a set of three content-match sponsored listings based on optimal average eCPM.” Another example of a serving rule is “serve a class 1 (guaranteed impression delivery) banner advertisement, but if all class 1 banner advertisement campaigns have reached a current delivery quota, serve 50% class 2 banner advertisements and 50% user-match sponsored listings.”
Testing/validation interface 308 enables the determination whether given guidelines or criteria for a particular advertisement campaign are met, and may involve simulation. The exposure of this interface enables third-party advertisers to determine the effectiveness of an advertisement campaign before the advertising enters into production.
Optimization/arbitration subsystem 404 communicates with performance advertisements component 408, guaranteed impression advertisements component 410, and external advertisements component 412. Performance advertisements component 408 interacts with sponsored advertisement server 414. Similarly, guaranteed impression advertisements component 410 interacts with banner advertisement server 416. A component for serving external advertisements 412 also interacts with optimization/arbitration subsystem 404.
Generalized Operations for Providing Universal Advertisement Services
The operation of certain aspects of the invention will now be described with respect to
Process 700 next flows to block 706, where the advertisement client server communicates the advertisement request to the dispatcher. In one embodiment, information about the user is gathered and included in the request. The advertisement client server may retrieve user cookie information based on the browser information passed by the web server. Additional user information is retrieved from the user profile server.
Next, at block 708, the dispatcher provides the advertisement request for arbitration of the request. In an embodiment, the dispatcher provides the request to an advertisement arbitrator. The dispatcher contacts the arbitrator once for each specific advertisement position to obtain the best advertisement for that position. Advertisement position information is passed to a configuration manager. At block 710, the configuration manager determines advertisement serving rules and arbitration requirements and provides information regarding the types of advertisements that may be displayed at the specified position on the page. Processing then continues with steps illustrated in
The flow diagram of
If the decision at block 902 is affirmative, because performance-based advertisements can also be displayed in the specified page position, processing branches to block 910, where the arbitrator asynchronously requests from the banner advertisement server and a sponsored listing server the best performance-based advertisements from running campaigns. Next, at block 912, the arbitrator obtains the best qualified performance-based banner and sponsored listing advertisements along with their respective eCPM metrics. Process 900 then flows to block 914, where the arbitrator applies a business rule to the eCPM values to select the optimal performance-based advertisement. Processing then flows to a return block and performs other actions.
The above specification provides a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.