Advertising database system and method

An advertising database method and system provides an advertisement database service which is accessible to website publishers. Advertisement selection information may be received from a publisher of a website, and advertisements may be selected from an advertisement database in accordance with the selection information. The advertisement is provided to the website publisher for display on the website of the publisher. An endorsement of the advertisement by the publisher or by another user may be retrieved from the database and published with the advertisement.

BACKGROUND

A common advertising model utilized on the Internet, in particular with search engine websites, involves a system of providing sponsored links. Sponsored links are paid advertisements that appear in addition to search results when users input keywords at search engine websites. For example, if a user enters the term “flowers,” advertisements that an advertiser believes may be relevant to someone searching for flowers are displayed with particular search results. The advertisements appear as a result of advertisers bidding on particular keywords, such as “flowers.” If multiple advertisers place bids on the same keyword, it is common for advertisements with the highest bids to be displayed when a user enters a search term that matches the keyword. Oftentimes, there is no limit on the number of search terms a particular advertiser may bid on.

The bidding process is commonly managed by an intermediary, such as a search engine website. Advertisers bid on keywords and submit advertisements associated with the keywords to the intermediary. The intermediary typically utilizes one or more databases for storing the advertisements, associating the advertisements with bids and keywords, keeping track of the highest bidders, scheduling, etc., and ensuring that at any given instance the advertisements corresponding to the highest bids are displayed when search terms matching the keywords are entered by the users. Whenever a user clicks on a displayed advertisement, the intermediary charges the advertiser a fee. The intermediary also commonly monitors the “click-through” rate (e.g., how many users actually select or click on the displayed advertisement). In some cases, if the number of users clicking on the advertisement is too low, the advertisement will no longer be displayed, even if it is associated with the highest bid.

Another variation of the above-described concept is to show the keyword-based advertisements on websites other than search engines' search result sites. For example, if a website contains information about flowers, then it is likely that people viewing the website may have an interest in advertisements related to flowers. Thus, the intermediary may provide special programs to which publishers of websites can subscribe. In such a program, the intermediary analyzes the publisher's website to determine a suitable keyword or set of keywords to be associated with the website, such as “flowers” in the above example. The intermediary selects from its database the highest bidder on the determined keyword or keywords and provides the appropriate advertisements for the publisher's website. This type of advertising program is beneficial to the publisher, since the publisher is not required to take action other than display the advertisements and collect monetary compensation for displaying the advertisements. The publisher may also receive monetary compensation each time a viewer of the website clicks on the displayed advertisement. This compensation model is often referred to as “pay per click.” Alternatively, the publisher can be compensated based on the sales of the product featured in the advertisement, such as a certain percentage of the sales revenues of the featured product, rather than based on the number of clicks on the displayed advertisement. This compensation model is often referred to as “pay based on conversion.”

It would be advantageous to provide a system and method that enables publishers to use keyword based advertising arrangements and at the same time to control advertisements that are placed on their websites. It would also be advantageous to provide a system and method that enables web users and publishers to endorse various advertisements, advertisers and/or products referenced in particular advertisements. It would further be advantageous to provide a system and method that enables aggregation of advertisement related data including the endorsements of advertisements and/or advertisers by web users, publishers and advertisers. It should be understood that, although certain advantages are described, the teachings herein may be used to implement systems and methods that do not have any of these advantages but which have other advantages.

SUMMARY

One embodiment relates to a method of accessing an advertisement database. The method comprises selecting an advertisement from the advertisement database, providing the selected advertisement for publication with a web page, and selecting an endorsement for the advertisement from the advertisement database. The endorsement is made by an entity other than the advertiser with whom the advertisement is associated. The advertisement and the endorsement are published together when the web page is published to a visitor.

Another embodiment relates to an advertisement database service for on-line advertising. The advertisement database service is configured to receive advertisements from advertisers. Each advertisement has an associated bid indicative of a remuneration that an advertiser associated with the advertisement will compensate a website publisher for a specified response to the associated advertisement. The advertisement database service is further configured to aggregate the received advertisements in an on-line advertisement database that is accessible to website publishers via the Internet, receive advertisement selection information from a publisher of a website, select an advertisement from the advertisement database in accordance with the selection information, and provide the advertisement to the website publisher for display on the website of the website publisher.

Another embodiment relates to a method of accessing an advertisement database having a plurality of advertisements stored therein. The method comprises providing an advertisement database service which includes the advertisement database and which is accessible to website publishers. The method further comprises receiving advertisement selection information from a publisher of a website, selecting an advertisement from the advertisement database in accordance with the selection information, and providing the advertisement to the website publisher for display on the website of the publisher.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Referring now toFIG. 1, a system100according to an exemplary embodiment is shown. System100comprises one or more website visitors102, one or more website publishers104, one or more website advertisers108, and an advertisement database service110. Visitors102, publishers104, advertisers108and advertisement service110may each comprise one or more computers which are connected to each other by way of network106, such as the Internet. Visitors102are able to view websites made available by a number of publishers104through network106. Advertisers108may offer for sale products or services by advertising on the websites of publishers104. Advertisement service110includes an advertisement database112, an aggregation service114, a manual selection interface116, an advertisement scoring engine118, and advertisement rules logic120. Advertisement service110may be used to facilitate the selection and/or endorsement of advertisements to be placed on websites.

As described in greater detail below, in an exemplary embodiment, system100provides website publishers104the ability to review and select available web advertisements for placement on corresponding websites. For example, advertisers108may supply on-line advertisements associated with a particular keyword or keywords. The publishers104then make their own decisions about which advertisements to put on their web pages. Publishers104may, for example, base their advertisement placement decisions on their own experience with the products or services featured in the advertisements, on their experience with the manufacturers of the products or providers of the services, or on other factors, such as recommendations from persons or entities they trust. In an exemplary embodiment, a database112of advertisements from different advertisers may be maintained by advertisement service110along with bid amounts that indicate a maximum that each advertiser108is prepared to pay in response to a visitor102clicking on or otherwise selecting the advertisement from a web page where the advertisement is published. In this embodiment, publishers104may be given access to all the advertisements and associated bids in the database112and may select which advertisements to put on their web pages using the service110.

In another exemplary embodiment, the publishers104may add endorsements of advertisements on their web pages. For example, a publisher104may offer its own name and reputation in support of (or, in appropriate circumstances, in opposition to or in disavowal of) the representations made in the advertisements and the reputations of the advertisers who supply the advertisements. For example, a publisher104can include its own testimony about the products, services, or other items featured in the advertisements, or user reviews of same. Likewise, a publisher104can include its own assessment as to the credibility, trustworthiness, or other qualities of the various advertisers. A publisher104can even endorse an advertisement for the sake of the advertisement itself, irrespective of what that advertisement is trying to sell or who placed it, as for example where the advertisement is particularly eye-catching, humorous, or thought-provoking, or where the advertisement is one prepared by a particular advertising agency whose characteristic style is likely to appeal to the publisher's target audience. Endorsements from publishers104may also be syndicated such that an endorsement of an advertisement may be published on any website that publishes a given advertisement, not just the website of the publisher104making the endorsement. The endorsements may also be made by other users. For example, visitors102may also be provided with the ability to endorse advertisements. In an exemplary embodiment, aggregation service114may be used to aggregate and store the endorsements with the advertisements in the database112. Providing the ability to endorse advertisements extends the notion of “celebrity endorsement” to everyday visitors102and publishers104of websites.

Referring now toFIG. 2, the advertisement service110is shown in greater detail. InFIG. 2, table200is shown which represents information which may be stored in the advertisement database112. The database112may store information concerning multiple advertisers108and for multiple advertisements for each of the advertisers108. For example, the advertisement database112may contain hundreds or thousands of advertisements or more. Column202lists different advertisers and column204lists different advertisements for each of the different advertisers. InFIG. 2, an advertiser ID and advertisement ID are shown as being stored for each advertiser and advertisement, respectively. It will be appreciated that additional information may also be stored. For example, for each advertiser ID, additional information concerning the advertiser may be stored (e.g., complete name, contact information, electronic billing codes or addresses, and so on). Likewise, for each advertisement ID, additional information concerning the advertisement may be stored, such as a datafile containing the advertisement associated with the advertisement ID, a product ID or product category to which the advertisement relates, the manufacturer of the advertised product, a retailer(s) that is selling the advertised product, the advertising agency that created the advertisement, and so on. The advertisement service110may define identification systems (e.g., alphanumeric numbering systems or conventions) to maintain consistency across all publishers104and all advertisers108with regard to advertiser IDs, advertisement IDs, product IDs, product categories, manufacturer IDs, retailer IDs, and/or any other information that is maintained. Such identification systems may be created and maintained as part of the creation and maintenance of the database112. In an alternative embodiment, the advertisement service may adopt existing identification systems to the extent such identification systems already exist.

Some of the additional information that is stored for each advertisement is shown in column206, which includes a plurality of sub-columns208-220. As will be described in greater detail below, the information stored in column206may be used as selection criteria for selecting advertisements. The selection based on the data in column206may, for example, be performed in manual fashion using selection interface116and/or in automated or semi-automated fashion using advertisement scoring engine118and/or advertisement rules logic120.

In column208, for each advertisement, the format of the advertisement is identified (e.g., streaming video, text, combined text and picture, and so on). The publisher104may want to select advertisements having a particular format, for example, depending on the amount of space to be dedicated to a particular advertisement, the overall look and feel of the publisher's website, and so on. In column210, the content of the advertisement is identified. In an exemplary embodiment, a predetermined number of categories may be defined, and an advertisement may be designated by the advertiser108or another entity as fitting into any one or more of the predefined categories. For example, as shown, an advertisement may be designated as being humorous and family friendly.

In column212, geographic information for the advertisement is stored. The geographic information in column212may be used to ensure that advertisements are selected for a visitor102which are relevant to the visitor102based on the known or assumed location of the visitor102. For example, it would normally not be useful for a website that targets a Texas audience to publish an advertisement for a tire shop located in Toledo, Ohio. Alternatively, the actual address information for the visitor102may be known (e.g., because address information was obtained from the visitor102when the visitor102registered to use the website of the publisher104or when the visitor registered to use system100, because address information of the visitor102has been determined based on the IP address of the visitor102, etc.). Again, in this instance, if it is known that the address of the visitor102is in Texas, then displaying an advertisement for a tire shop in Toledo, Ohio to the visitor102would normally not be productive. As will be appreciated, the geographic information in column212may be stored in a variety of forms (e.g., one or more zip codes, city/state information, metropolitan statistical areas, and so on).

In columns214and216, performance metrics for the advertisements may be stored. For example, the overall conversion rate (column214) and the overall click-through rate (column216) may be maintained. The performance metrics may be obtained and updated based on feedback provided by the publishers104.

In columns218and220, bid information may be stored. Advertisers108may be permitted to provide bids based on keywords (column218). As another example, rather than using keywords, the advertiser108may designate the advertisement as belonging to one or more categories of a taxonomy of advertisement database112and provide a bid for each taxonomy (column220).

Referring now also toFIG. 3,FIG. 3shows an example of a taxonomy that may be used to categorize advertisements in connection with receiving bids in column220. As shown inFIG. 3, the advertisements may be arranged in a hierarchical tree model, based on the topics or keywords to which they relate. A root node302forms the base of the hierarchical tree. Under the root node302, there are two subcategories for advertisements, “Products”304and “Services”306. Each of these categories contain further subcategories, such as “Books and Magazines”308, “Sport and Leisure”310, “Medical services”312and “Legal services”314, which in turn have their own subcategories, until a final desired granularity has been reached in which the advertisements can be placed. In the example shown inFIG. 3, the advertisements stored in the lowest level of granularity would relate to “Books and Magazines about growing flowers”316, “Books and Magazines about arranging flowers”318, “Juggling supplies for professionals”330, “Juggling supplies for amateurs”332, “Bike Stores”322, “Bike parts”324, “Legal Services for Taxes”326, and “Legal Services for Estate Planning”328. In an exemplary embodiment, the taxonomy is created and maintained by the advertisement service110pursuant to the creation and maintenance of the advertisement database112. As will be appreciated, many other taxonomies can be implemented that may provide for easy and efficient searches. A more detailed example of a taxonomy arrangement is disclosed in U.S. Ser. No. 11/223,809, filed Sep. 9, 2005, “Server System and Methods for Matching Listings to Web Pages and Users,” hereby incorporated by reference. Advertisers108may designate advertisements as belonging to one or more of the above taxonomy categories and publishers104may search for and select advertisements falling within one or more of the taxonomy categories.

The bid amounts stored in columns218and220reflect how much advertiser108is willing to pay each time its advertisement is clicked on or otherwise selected by visitors who encounter the advertisement on a publisher's website. In an exemplary embodiment, multiple bids may be contained within each bid category. For example, advertisers can bid not only on keywords but also on particular publishers. As another example, advertiser108may provide more than one per-click bid. For example, the advertiser108may provide a first bid indicating how much advertiser108will compensate a publisher104that places an advertisement on its website, and may provide a second bid indicating how much advertiser108will compensate another user that provides an endorsement in association with the advertisement in addition to displaying the advertisement (e.g., compensation to another publisher104, in the case of a syndicated endorsement). According to another exemplary embodiment, rather than provide a per-click bid, the advertiser108may pay a fixed fee to advertisement service110to place its advertisement in a particular category of the taxonomy for a particular time period. This fee may vary, for example, depending on the popularity of the category or the type of items that are advertised within a particular category. For example, it may be more expensive for advertiser108to make an advertisement available in a general “Sports and Leisure” category than in a more specialized “Bicycle Parts” category. Likewise, it may be more expensive to place an advertisement in a “Best Sellers” category than in an “Advanced Quantum Physics books” category, due to the likely lower number of visitors, and thereby website publishers, that will select an advertisement from the latter category. Ad selection based on the bids and other information stored in the database112is described in greater detail below in connection withFIG. 5.

Also shown inFIG. 2is aggregation service114which includes an aggregation engine224and a communication module226. Aggregation engine224and communication module226are used to collect information to populate and maintain database112. In general, aggregation engine224collects and stores specific data related to the advertisements and users that are part of advertisement service110. Aggregation engine224may prompt users to provide such information (e.g., either manually or via automated service requests). Additionally, or alternatively, computers of publishers104and advertisers108may be programmed to generate, and aggregation engine224may be programmed to receive, batch transfers of such information. For example, aggregation engine224may receive feedback information from publishers104, such as information relating to performance metrics (e.g., conversion rates), information relating to a popularity ranking of the advertisement within its advertisement subcategory within the taxonomy ofFIG. 3, a ranking among publishers104or subgroups of publishers, a ranking among visitors102or particular groups of visitors, and so on. Aggregation engine224may receive advertisements and related information from advertisers108. Aggregation engine224may also be used to aggregate endorsement information, as described below. Any such information that is collected may be stored in database112. The aggregation engine224may also be used to access the database112to provide advertisements, endorsements, and other information to the users102,104, and108based on selections made using selection interface116, scoring engine118and/or rules logic120. External communication module226manages communications with the entities102,104, and108of the system100in collecting such information.

Referring now toFIGS. 4-5,FIGS. 4-5are flowcharts illustrating processes by which advertisers and publishers, respectively, may use the system100ofFIG. 1. Referring first toFIG. 4,FIG. 4is a flowchart illustrating a process400by which advertisers108may use the system100. At step402, an advertiser108creates one or more advertisements that the advertiser108would like to make available to the publishers104. The advertisements may be stored in electronic format (such as text files, image files, etc.) so that they can be submitted to advertisement service110over network106.

At step404, the advertisement is then submitted to the advertisement service110wherein it is ultimately made available to the publishers104. For example, each advertisement may be submitted as a data file to advertisement service110using network106. The data file is then associated with the advertisement ID in column204. When submitting the advertisement, other information needed to complete database112may be included by the advertiser108, such as the format of the advertisement (column208), the content of the advertisement (column210), geographic information (column212), and bid information for the advertisement (columns218and220). Once the advertisement has been placed in the database112, the advertisement is available for selection by publishers104.

Advertisers108may also be provided with the ability to update the information in the database112. For example, if an advertiser is running a campaign for product X which comprises a series of three advertisements, the datafile for the advertisement may be updated to include the new advertisement (e.g., a new streaming video data file, or a new text/picture datafile). This allows the publishers104to publish each of the three advertisements in the ad campaign series without the publisher104having to update any selections. This arrangement may also be used in situations where publisher104is primarily interested in promoting a specific advertiser rather than promoting specific individual products or services.

When the advertisement has been selected by the publisher104, that is, by making it available to visitors102through the publisher's web page, the advertiser108may be notified of the selection, at step406. According to an exemplary embodiment, upon submitting the advertisement to advertisement service110, advertiser108can specify that it does not wish to be notified when the advertisement is selected by a publisher104, in which case step206is not performed.

Whenever a visitor102selects the advertiser's advertisement on a publisher's website, advertiser108is charged a fee by advertisement service110and, in response, provides remuneration to the advertisement service (step408). Although the remuneration may be calculated on a click-by-click basis, for example, remuneration may be provided on a daily, weekly, or monthly payment basis to advertisement service110, depending upon the billing arrangements that have been made between advertisement service110(or publisher) and advertiser108. It will be appreciated that, in addition to providing compensation in monetary form, the compensation may also be provided in other forms (such as points, rewards, barter, setoffs, and so on).

FIG. 5is a flowchart showing a process500by which a publisher104may use system100ofFIG. 1. At step502, a web page is generated which includes space for one or more advertisements that will be selected from and supplied by the advertisement database112. The web pages may be generated manually or automatically. For example, if the web pages are generated automatically, a template may be used which contains fields, to be populated with various information (e.g., a field to be populated with a news story or other content of interest to a visitor, along with additional fields to be populated with advertisements).

At step504, the advertisement database112is accessed through network106and a selection is made of an advertisement to be displayed on the publisher's website. In an exemplary embodiment, the selection is manually performed by the publisher104using manual selection interface116. Manual selection of advertisements may, for example, be used in connection with static web pages. For example, the manual selection interface116may comprise a website made available to the publishers104to allow the publishers104to access the database112. When a publisher104wants to select an advertisement to be shown on its web page, the publisher104visits the website of the advertisement service110and navigates its advertisement database112to identify advertisements that it would like to publish on its web page. The navigation may be performed by browsing, that is, the publisher104may be permitted to select and view the contents of different advertisement categories. For example, the publisher may be allowed to drill down on various categories of the taxonomy shown inFIG. 3. The navigation may also be performed by searching, that is, the publisher may be permitted to type in one or more keywords and obtain a list of advertisements associated with the keywords. The advertisement information may, for example, be presented to the publisher in tabular format, such as in a format similar to that shown inFIG. 2. The publisher may then click on various items in the table to obtain additional information (e.g., click on the advertisement ID to see a copy of the advertisement, click on the bid amount to obtain additional details concerning the bid, and so on).

In another exemplary embodiment, the selection is performed automatically. Automatic selection of advertisements may, for example, be used in connection with web pages that are dynamically generated. For example, advertisement scoring engine118may be used to implement a scoring algorithm which generates a score for each advertisement in the database112based on similarity of the advertisement with other advertisements selected by the publisher104. The scoring algorithm may, for example, take into account any of the parameters identified in columns208-220inFIG. 2. For example, if the publisher104typically selects humorous advertisements from within a particular preferred taxonomy, then advertisements which are designated as being humorous and which are classified within the publisher's preferred taxonomy would score higher than other advertisements in the database112. Historical data may be maintained regarding previous manual selections of advertisements made by the publisher104. Alternatively, in order to have a well-defined sample set of advertisements, the publisher104may be permitted to maintain a first “approved” library of advertisements which it believes fit the image of its website and a second “disapproved” library of advertisements which it believes do not fit the image of its website. The scoring of other advertisements may then be performed based on the similarity of the other advertisements to the advertisements in the approved library and the dissimilarity of the other advertisements to the advertisements in the disapproved library.

As will be appreciated, the scoring algorithm may be based on any of a variety of mathematical models. For example, a logit model may be used having the form

Ad_Scoren=eXn⁢β1+eXn⁢β
(where X is a vector comprising a set of explanatory variables (e.g., data obtained from the208-220for one of the advertisements, which may be either numeric or categorical values), β is a vector comprising a set of weighting coefficients for the explanatory variables, and Ad_Scorenis the score assigned to a particular one of the advertisements under consideration). A regression algorithm may be used to determine an optimal set of weighting coefficients. For example, the regression algorithm may take the values for the advertisements in the approved and disapproved libraries as inputs and generate a set of weighting coefficients which optimally predicts the probability whether an advertisement under consideration would be approved or disapproved by the publisher. Those advertisements with the highest probability of being approved are then selected for publication by the publisher104.

In another embodiment, rather than the selection being entirely automatic, the scoring algorithm is used to generate suggested advertisements, e.g., to facilitate the manual selection of advertisements for static web pages. The publisher104may then view the advertisement and decide whether or not to accept the suggestion. The scoring algorithm may adjust weighting coefficients based on feedback from the publisher (that is, whether the suggestions of the scoring algorithm are accepted or rejected). For example, for a group of suggested advertisements, some of which are accepted and some of which are rejected, the weighting coefficients of the scoring algorithm may be re-optimized based on feedback. The next time suggestions are made to the publisher104, the updated scoring algorithm may be used and further updates may be made.

The scoring algorithm may also be adjusted in a manner which tries to match the overall composition of the advertisements in the library (e.g., a certain percentage of humorous advertisements, a certain percentage of professional advertisements, certain percentage of advertisements from different taxonomies, and so on). For example, if 25% of the advertisements in the library are designated as humorous, and 30% of the advertisements selected within a predetermined preceding time period (e.g., the previous week) have been humorous, then the weight given to humor in the scoring algorithm may be decreased (i.e., such that being humorous does not help an advertisement's score as much as it would under normal circumstances).

As another example, a rules logic120may be implemented which stores business rules for selecting advertisements. The rules logic120may be used to facilitate manual selection of advertisements for static web pages or for automatic selection of advertisements for dynamically generated web pages. The rules logic120may be made accessible to publishers104via a website of the advertisement service110so that the publishers104may program business rules into the rules logic120. For example, a publisher104may decide only to publish advertisements where the bid per click is above a certain threshold value. As another example, a website for a boating club may decide to publish any advertisement which is designated as being within a boating equipment taxonomy, so long as the click-through rate and the bid-per-click value are above predetermined threshold values. As another example, another publisher104may decide that only advertisements which are designated as being family-friendly may be published on its website. As another example, a publisher104may decide to publish any advertisements that are made available by a particular advertiser. The rules logic120may store rules to implement such business decisions. Advertisements may then be selected that meet the parameters defined in the rules logic120. To the extent that more advertisements meet the defined parameters than can be published on the website, further selection may be performed randomly, under the direction of the advertisement service110, or in another manner. Alternatively, the advertisements that fit within the parameters defined in the rules logic120may be presented to the publisher104as suggested advertisements, and the publisher104may manually review the suggested advertisements to arrive at a set of advertisements to be published on its website.

As another example, publishers104may be placed into cohorts. For example, a daily newspaper in one city may be placed in the same cohort as a daily newspaper in another city. Advertisements may then be selected for one member of a cohort based on selections made by other members of the same cohort.

As will be appreciated, the above advertisement selection techniques may be used apart from or in combination with a keyword bidding system. For example, in the context of the taxonomy arrangement described above, the publisher104may select advertisements for a static web page using the taxonomy ofFIG. 3, without the use of keywords. Likewise, the scoring algorithm may be used to select advertisements for dynamically generated web pages based on parameters other than keywords, or by using the keywords only to ensure relevancy of the selected advertisements (without looking at the amount of the keyword bid when selecting the advertisement). The publisher104may then be compensated, for example, on a per click basis (e.g., each time a visitor102clicks on an advertisement, the advertiser pays whatever per click bid the advertiser associated with the advertisement in the advertisement database112). On the other hand, if the above advertisement selection techniques are used in combination with a keyword bidding system, then the above advertisement selection techniques may (for example) be used to perform an initial filtering of advertisements, followed by an ultimate selection of an advertisement based on a keyword bid. For example, if one-hundred advertisers have bid on a particular keyword, the rules logic120may be used to narrow the list of potential candidate advertisements to twenty-five (e.g., the twenty-five advertisements meeting predetermined criteria as set forth in the business rules). Of the remaining twenty-five advertisements, the advertisement with the highest bid (or other parameter, e.g., revenue-generating potential, depending on the advertisement selection algorithm used) may be selected.

In another exemplary embodiment, the aggregation service114may include blocking logic that permits advertisers108to block selection of their advertisements by publishers104. For example, an advertiser108may wish to opt out of being published on the web pages of a certain publisher on the basis that the advertisements of the advertiser108have low relevancy to the web pages of the publisher104, on the basis that the marketing image of the publisher104is not consistent with the marketing image of the advertiser108, or for another reason.

At step506, the selected advertisement is associated with the web page. As a result, whenever the web page is viewed, the correct advertisement is retrieved from the advertisement database112and is displayed to the visitor102.

Although in the embodiment ofFIG. 5the advertisement is shown as being selected after the web page is generated, it may be noted that the advertisement may also be selected before the web page is generated. That is, a publisher104may select various advertisements in advance. When a particular web page is generated, one of the pre-selected advertisements may be published with the web page. For example, a publisher104may select a group of advertisements (or a group of advertisers, etc.) to randomly alternate on the publisher's website.

At step508, it is determined whether any further advertisements should be selected. If publisher104desires to select more advertisements from the advertisement database, the process returns to step504and repeats steps504-508, as described above, until no more advertisements are to be selected. Whenever a visitor102views a publisher's website and clicks on an advertisement, publisher104receives remuneration from advertisement service110(step510). The remuneration may, for example, be a percentage of what advertisement service110charges advertiser108, a fixed fee, a compensation based on the advertiser's sales revenues for the product featured in the advertisement, or any other suitable compensation arrangement agreed upon by publisher104and advertisement service110.

Referring now toFIG. 6, users (e.g., visitors102, publishers104) may also be provided with the ability to endorse advertisements, and the endorsements may be published with the advertisements when the advertisements are published. This allows reputations to be attached to products or services, particular advertisers, particular advertisements or advertising agencies, etc., based on who endorses them. The aggregation can be done in a personalized manner to match an individual visitor102with products or services that are endorsed by publishers or by other visitors102that the individual visitor likes. An aggregation service can allow a particular visitor102to view recommendations by a group of people, such as his friends, people in his neighborhood, or other people that he trusts, who are part of a network of people (social network) to which the visitor102belongs. For example, the social network may be created and maintained by the advertisement service110pursuant to the creation and maintenance of the advertisement database112. As another example, the social network may be an existing social network created and maintained by a third party. In such an embodiment, of course, membership information for the social network would need to be obtained by the advertisement service110from the third party, e.g., by way of the Internet. A feedback mechanism may be implemented in the aggregation service, so that a visitor102can select to view recommendations from only a subset of trusted friends among all the people in his network. Using this feedback mechanism, a visitor102can ignore recommendations and endorsements from persons or entities that he or she does not know or does not trust. This allows virtually anybody to endorse a product. Consumers are likely to find such personal endorsements more useful than traditional celebrity endorsements in many instances, for example, in connection with advertisements for services, since not very many people among the general public are likely to use the same gardener, doctor, auto mechanic, and so on as a particular celebrity.

As shown inFIG. 6, a number of additional columns656-668of information may be added to the advertisement database as compared to what is shown inFIG. 2. For each advertisement, information may be stored for each endorsement that is made. InFIG. 6, the additional information is shown as being in a separate row for each endorsement; accordingly, a number of rows of data are added for each advertisement. Each row of data includes information about an endorsement made by another user, such as a publisher104or a visitor102. In column656and658, a publisher ID or visitor ID is stored, respectively, for a publisher104or visitor102associated with a particular endorsement. In column660, a member network of the endorser is stored. In column662, the endorsement is stored. It may be noted that the endorsement may take a variety of different forms. For example, the endorsement may be a simple text endorsement. As another example, the publisher104or visitor102may submit a file containing an audio-visual endorsement (e.g., an endorsement made by a visitor102using a webcam). Endorsements from publishers104may be received by way of selection interface116when the advertisement is selected or at other times. Endorsements from visitors102may be received when the advertisement is displayed to the visitor102. That is, the visitor102may be given the option to provide feedback to the advertisement service110(e.g., by clicking on a link near the advertisement, and then typing in a text endorsement and/or recording an audio-visual endorsement with a webcam). Other mechanisms for obtaining endorsements from users are described below in connection withFIG. 8. Visitors102and publishers104may endorse specific advertisements (e.g., based on advertisement ID), specific advertisers (e.g., based on advertiser ID), specific manufacturers (e.g., based on manufacturer ID), specific retailers (e.g., based on retailer ID), specific products (e.g., based on product ID), specific product categories (e.g., based on product category ID), and so on, depending on what information is maintained for advertisements in database112as described above in connection withFIG. 2. In columns664and668, performance metrics for the endorsement may be stored.

Endorsements for advertisements may then be selected in generally the same manner as described above in connection with the advertisements themselves. For example, once an advertisement is selected as described above in connection withFIG. 5, one or more endorsements for the advertisement may be selected based on matching selection criteria. That is, an advertisement may be associated with a specific advertiser, specific manufacturer, specific retailer, specific product, specific product category, and so on, as described above. A search may be made of the database112for endorsements that are associated with the advertisement itself or with the same manufacturer, product or other criteria. One or more matching endorsements may then be selected for the advertisement.

For example, for static web pages, a publisher may access manual selection interface116to select endorsements based on matching selection criteria. As another example, for dynamically generated web pages, business rules may be stored in rules logic120for selecting advertisements. For example, a publisher104may decide that, if a visitor102is a member of a member network, a search for endorsements will first be made to locate any endorsements by other members of the same member network. If any such endorsements exist, that endorsement will be published. If no such endorsements exist, then another endorsement may be selected based on other rules stored in rules logic120. As will be appreciated, other information may be stored for each endorsement and used as selection criteria in selecting advertisements. For example, the address of the endorser may be stored to allow endorsements to be selected based on whether the endorser is from the same geographic area (e.g., as opposed to the same member network) as the visitor102. A publisher104may also store a business rule which always causes any endorsements made by the publisher itself to be published with the advertisement, if any such endorsements exist for the advertisement under consideration. As another example, endorsements may be selected based on performance metrics. For example, the performance of an endorsement may be tracked (e.g., whether displaying the endorsement next to an advertisements results in an increased likelihood of the visitor102clicking on the advertisement). An endorsement selection algorithm may then be implemented which selects endorsements based on past performance (e.g., with better performing endorsements being selected more often). New endorsements may be tested during a trial period, or the endorsement selection algorithm may be configured to cycle through all advertisements so that all endorsements receive at least a minimum number of impressions.

In the examples described above, both the advertisement and the endorsement are selected by the publisher104using tools provided the advertisement service110. As will be appreciated, however, either the advertisement or the endorsement or both may be selected by the advertisement service110.

Referring now toFIG. 7,FIG. 7provides an example of a publisher's web page as displayed in an individual's web browser. As can be seen inFIG. 7, the web page is downloaded in the visitor's browser in a conventional manner by typing in the address of the web page in an address field of the web browser. The web page contains an information section704with the information that is provided by publisher104. On the right hand side of the web page, there is an advertising section706that contains three advertisements that publisher104has selected from the taxonomy of advertisement database112of advertisement service110.

In the example shown inFIG. 7, first advertisement708brelates to flower books and was selected from the subcategory “Flowers” of the “Books and Magazines” category308inFIG. 3. The second advertisement710brelates to estate planning law and was selected from the subcategory “Estate Planning”328inFIG. 3. The third advertisement712brelates to juggling supplies and was selected from the subcategory “Supplies”320inFIG. 3. Each advertisement has an associated endorsement708a,710a,712aadded by publisher104. Advertisements can be placed anywhere on the web page. InFIG. 7, the advertising section is shown by way of example as being placed on the right hand side. In another exemplary embodiment, a visitor102may be provided with a link that may be clicked on to be presented with multiple endorsements, such as all endorsements for an advertisement, all endorsements for an advertisement meeting predetermined selection criteria (e.g., all endorsements from other members of the social network of the visitor102, all endorsements meeting other endorsement selection criteria as described above in connection withFIG. 6), and so on.

Publishers' endorsements increase the likelihood that visitors102who trust the publishers will click on the advertisements with which the endorsements are associated. Thus, advertisers whose advertisements are endorsed by publishers get attention from more visitors102. The result is that the advertisers' sales are increased, the publishers receive more revenues, and the visitors102are more likely to have their expectations fulfilled when clicking on a particular advertisement, both in the “pay per click” compensation model and in the “pay based on conversion” compensation model. Since the publishers put their own reputations at stake through their endorsements, the publishers are motivated to recommend high quality or good value products, thereby enhancing the customer experience for visitors102that click on advertisements bearing the publishers' endorsements. Thus, overly positive or overly negative endorsements are discouraged and the interests of all the participants in the advertising model are aligned in the same way. Publishers are likely to make honest recommendations, since they will receive more revenues if more people trust them, and the trust is built by making balanced comments that are both positive and negative.

In another exemplary embodiment, as indicated above, endorsements of publishers104may be syndicated and placed on websites of other publishers104. For example, certain publishers104may be willing to offer a “seal of approval” type of endorsement for the products or services being advertised in a particular advertisement. In such a situation; a portion of the per-click fee (or other fee) charged to the advertiser108may be used to compensate the endorsing publisher104for the endorsement. The advertiser108may be charged a premium in the per-click fee to cover the cost of the endorsement, and the premium to be paid may be taken into account in the advertisement and endorsement selection process described above.

In another exemplary embodiment, as indicated above, endorsements may be made by a visitor102that is not a publisher104(e.g., as in the case of an individual endorsing an advertisement to friends in the individual's social network). In such a situation, the system100provides a mechanism which allows the individual to voice an opinion on the advertisement, and compensation for the endorsement is not necessary. In another exemplary embodiment, such individuals may also be provided compensation for making such endorsements.

FIG. 8is a flowchart of a process800for how a visitor102interacts with the system100in providing an endorsement with regard to an advertisement. The process800starts with a visitor102viewing a web page made available by a publisher104, which contains endorsed advertisements (step802). The visitor102selects one of the advertisements that are displayed on the web page (step804), for example, by clicking on the advertisement with a computer mouse, which may result in a new browser window opening up with the advertiser's website or a different website featuring the product or service described in the selected advertisement (step806). In addition, information relating to the advertisement's endorsements may be displayed to the visitor102.

The visitor102may be provided with the ability to provide an endorsement regarding the selected advertisement (step808). If the visitor chooses not to provide an endorsement, the process ends. If the user chooses to provide an endorsement, the process goes on to step810where the user submits comments to the advertisement service110. An endorsement from the visitor102may be obtained, for example, by providing a link on the web page on which the advertisement is presented which the visitor102to click on to provide an endorsement. In another exemplary embodiment, the visitor102may be provided with access to an endorsement website that is operated by the advertisement service110and that is configured to receive visitor endorsements. For example, the advertisement ID (or another unique identification number) may be displayed to the visitor102and may be used by the visitor102to associate an endorsement with a particular advertisement on the visitor endorsement website. Alternatively, or in addition, the visitor102may be provided with the ability to search advertisements on the visitor endorsement website and to provide an endorsement once a particular advertisement is located (e.g., where the user makes the decision to provide an endorsement some time after originally viewing the advertisement). In another exemplary embodiment, the link to the website of the advertiser108may be provided in a frame, and the visitor102may be provided with the ability to click on another portion of the publisher's web page outside of the frame to provide the endorsement. Once it is received, the user's endorsement may be stored and presented to other visitors102who wish to know not only what the publishers104think, but also what other visitors102among the general population of users or within their social network think about the product or service that is featured in the selected advertisement.

FIG. 9is a flowchart showing a process900for how the aggregation service114registers users such as advertisers108, publishers104and/or visitors102of the system100. The process900starts with the aggregation engine224receiving information identifying a user through the external communication module226(step902). The aggregation engine224then assigns a unique User ID to the received user information (step904). Any social network associations submitted by the user are associated with the assigned User ID (step906), such that specialized endorsement information of the kind discussed above can be retrieved at a later point in time. Finally, the process stores all the user information, any associated advertisement identifiers, and any network associations in the database112(step908), which completes the process.

It may be noted that, although visitors102may register with the system100using the process shown inFIG. 9, the system100may also be used in connection with visitors102that are not registered. For example, other processes may be used to obtain user-specific information for the visitor102and/or the system100may operate without such information.

FIG. 10is a flowchart showing a process1000for operations of the aggregation service114when a visitor102clicks on an advertisement on a publisher's web page and is provided with endorsements from other users. As a result of a visitor102selecting an advertisement, the aggregation service114receives user identifying information, such as an IP (Internet Protocol) address, that can be correlated with a particular User ID in the database112(step1002). The aggregation service114also receives an advertisement identifier for the selected advertisement (step1004). Based upon the received user identifier, the aggregation service searches the database112to determine whether the visitor102that selected the advertisement belongs to any registered social networks (step1006).

The aggregation engine224then determines, based on the Ad ID and the information stored in the database112, whether any other publishers104or visitors102have provided an endorsement, as described above (step1008). If no visitors or publishers have provided an endorsement, the process skips to step1012and presents the advertisement to the visitor102. However, if other users have endorsed the advertisement, the process selects one or more endorsements to be displayed to the visitor102as described above (step1010) before presenting the final displayed advertisement to the user in step1012, which ends the process.

In another exemplary embodiment, the network106is a digital television network, and the visitors102receive advertisements from the publishers104using televisions. For example, the publishers104may be cable television providers or hotel providers. Advertisements and endorsements may be customized for visitors based on information obtained for the visitors when registering for cable TV service or during room registration.

Here and throughout, terms such as “user,” “advertiser,” “publisher,” “visitor,” and so forth are to be understood in the broadest possible sense. Herein, the term “user” is used generically to refer to advertisers, publishers, and visitors. By way of illustration and not of limitation, an “advertiser” may be an individual or a commercial, government, or non-profit entity; may be directly responsible for placing an advertisement, announcement, message, or the like, or may be a broker, reseller, or intermediary for another's advertisements, announcements, messages, or the like; may be advertising for its own products and services or may be advertising on behalf of another; may be represented by a human agent or by a web service, software agent, or other programmatic construct; etc. Likewise, a “publisher” is not restricted to persons or entities who purport to be in the on-line publishing business (or any other kind of publishing business), nor to entities who have complete or even primary control over the content of particular websites; but rather is used in a more general sense, and includes, for example, any person or entity responsible directly or indirectly for putting content on the Internet, whether by hosting or sponsoring websites, posting pages, frames, graphics, applets, blogs, audiovisual content, etc., on their own or others' websites, providing web services that can source content for websites, or in any other manner. Still further, a “visitor” may be an individual who visits and views or otherwise perceives the content of a website and pages therein via a web browser or other client software program running on a personal computer, wireless handheld device, or the like, but may also be, for example, a corporate or other entity whose servers access published web content and advertisements by invoking web services through appropriate application programming interfaces (APIs); a “visitor” may or may not be the intended or actual end consumer of a product or service that is the subject of an advertisement; etc. In sum, persons of skill in the art will appreciate that a wide variety of actors, more than can be conveniently set forth here, can play the roles of “advertiser,” “publisher,” and “visitor” for purposes of the present invention. It will be further appreciated that the self-same person or entity may be both “publisher” and “advertiser,” or both “publisher” and “visitor,” or both “advertiser” and “visitor”, or even all three, depending on the context. In a similar vein, and as will be apparent from the foregoing, terms such as “web page,” “website,” and so forth are used to give specific illustrative examples of settings in which on-line content and advertisements can be presented to and perceived by users. Such examples are not intended to be limiting, and persons of skill in the art will appreciate that many other such settings now known or yet to be developed may be suitable to the practice of the present invention in specific embodiments.

It should be noted that although flowcharts may be provided herein to show a specific order of method steps, it is understood that the order of these steps may differ from what is depicted. Also two or more steps may be performed concurrently or with partial concurrence. Such variation will depend on the software and hardware systems chosen and on designer choice. It is understood that all such variations are within the scope of the invention. Likewise, software and web implementations of the present invention could be accomplished with standard programming techniques with rule based logic and other logic to accomplish the various database searching steps, correlation steps, comparison steps, and decision steps. It should also be noted that the word “component” as used herein and in the claims is intended to encompass implementations using one or more lines of software code, and/or hardware implementations, and/or equipment for receiving manual inputs. It is to be understood that any method steps as recited herein (e.g., in the claims) may be performed by a configuration utility (e.g., Java™-based) executed by a computing device based on input by a user. Of course, according to various alternative embodiments, any suitable configuration utility, application, system, computing device, etc. may be used to execute, implement and/or perform method steps as recited in this disclosure (including the claims).

The invention is described above with reference to drawings. These drawings illustrate certain details of specific embodiments that implement the systems and methods and programs of the present invention. However, describing the invention with drawings should not be construed as imposing on the invention any limitations associated with features shown in the drawings. The present invention contemplates methods, systems, and program products on any machine-readable media for accomplishing its operations. The embodiments of the present invention may be implemented using an existing computer processor, or by a special purpose computer processor incorporated for this or another purpose or by a hardwired system.

An exemplary system for implementing the overall system or portions of the invention might include a general purpose computing device in the form of a computer, including a processing unit, a system memory, and a system bus that couples various system components including the system memory to the processing unit. The system memory may include read only memory (ROM) and random access memory (RAM). The computer may also include a magnetic hard disk drive for reading from and writing to a magnetic hard disk, a magnetic disk drive for reading from or writing to a removable magnetic disk, and an optical disk drive for reading from or writing to a removable optical disk such as a CD-ROM or other optical media. The drives and their associated machine-readable media provide nonvolatile storage of machine-executable instructions, data structures, program modules and other data for the computer.