When a user sends a query to a search engine, the keywords of the query that express the user's intent are used to find relevant documents, including relevant advertisements. In general, search engine providers make money when a user clicks on an advertisement, and thus search engine providers want to return highly relevant advertisements to increase the chances that an advertisement will be clicked.
Moreover, while advertisers want to reach customers interested in their products, they also want to compete with their competitors. Advertisers currently expend significant resources trying to boost their search rank for keywords that are relevant to them, and on bidding on advertisements for keywords that relate to their products. However, there is no easy way, other than bidding for competitor's brand names, to more directly target a competitor.
The model of having advertisers target advertisements based upon keywords works to an extent because keywords generally tend to express a user's intent. However, advertisers or keyword matching systems are limited in their ability to do so, resulting in occasional irrelevant advertisements. Any improvement in matching the actual intent of users to advertisements, and/or allowing advertisers to target competitors, is beneficial to users, advertisers and search engine providers.
This Summary is provided to introduce a selection of representative concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used in any way that would limit the scope of the claimed subject matter.
Briefly, various aspects of the subject matter described herein are directed towards a technology by which the search results obtained from a search engine are processed to determine advertisements that match properties of those search results, such as URL-related information or domain related information in the search results. The selected advertisement is provided for inclusion in a search results page (possibly along with one or more other selected advertisements).
In one aspect, selection of the advertisement depends on the search result properties as well as meeting one or more conditions. Example conditions include click data criterion (whether the search result is likely to be clicked), location criterion (where among the search results is the link ranked), and/or frequency criterion (e.g., how often the URL appears). Other conditions such as also having to match a query term, or based upon some threshold number of total query results, may be used as selection criteria.
Search result-selected advertisements may be ranked in the search results page, including among one another, and/or with any other advertisements that may be present, e.g., obtained via keyword searching. Further, an advertisement may be modified based upon the information in the search results, such as to insert a company name that appears in a search result into the advertisement. A selected advertisement may be shown once per query results page, or may be shown for a session or some other time duration.
Also described is a system for returning keywords in response to a URL/domain. In this way, advertisers can obtain the set of keywords that result in the URL/domain being returned in response to a query with the appropriate keywords.
Other advantages may become apparent from the following detailed description when taken in conjunction with the drawings.
The present invention is illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
Various aspects of the technology described herein are generally directed towards allowing advertisers to show relevant advertisements based upon properties of the search results returned by the search engine, (rather than only based upon search keywords). For examples, advertisers may target domains or URLs, or URL components that are returned by the search engine, as well as snippets and/or content. By way of example, company X can bid on an advertisement to appear whenever a competitor company Y's domain name is returned in a search result, e.g., “We will beat Company Y's prices! Click to compare.” The canonical or other well-recognized corresponding company name may be mapped from information in the URL.
In general, because the results are provided by a search engine, the user's intent may be discerned with greater accuracy than solely based on keywords provided by advertisers to the keyword matching systems. Allowing the advertiser to target the results that the search engine returns facilitates improved targeting and broader targeting.
While some of the examples herein are directed towards showing advertisements targeting competitors, it should be noted that the technology described herein is directed towards improved matching in general. For example, an advertisement may be relevant/an advertiser want an advertisement displayed whenever someone is navigating to a particular page, such as a photography page on a reference website, or is browsing a particular tourist destination. For example, advertisements for a hotel may be displayed when someone searches for “Snoqualmie Falls”, but not {waterfall on the Snoqualmie River}, although these searches give many of the same search results.
It should be understood that any of the examples herein are non-limiting. As such, the present invention is not limited to any particular embodiments, aspects, concepts, structures, functionalities or examples described herein. Rather, any of the embodiments, aspects, concepts, structures, functionalities or examples described herein are non-limiting, and the present invention may be used in various ways that provide benefits and advantages in computing and search technology in general.
As also represented in
When the search engine 104 is done with its operations, the search engine 104 obtains the advertisement results from the advertising platform 112, which the search engine 104 may combine (block 118) into a final results page 120 for returning to the user. Note that other alternatives are feasible, e.g., the advertisement platform can modify the results page and send the final results page 120 to the user, and/or the search engine 104 and the advertising platform 112 may independently provide results to the user browser for rendering as a results page.
In this manner, the results page 120 includes links to documents that are conventionally returned in response to the query, possibly along with other information such as images, “Related Searches” and so forth. The search results 120 also may include advertisements based upon keywords, however as described herein, additional advertisements may be returned that are based upon the properties of the search results 120.
More particularly, the advertising platform 112 matches advertisement data to properties of at least some of the results (sent as the additional information) found by the search engine. For example, the results may be processed to extract domain information and other data (e.g., company names) from the links to be returned. As a more particular example, targeting is possible on exact URLs, such as (http://www.xyz123.com/sports/faq.aspx?q=10), query-less URLs such as (http://www.xyz123.com/sports/faq.aspx), URL patterns such as (http://www.xyz123.com/sports/* or http://*.xyz123.com/*.aspx), and/or domains such as (www.xyz123.com or *.xyz123.com). As can be seen, wildcards and the like may be used in matching results to advertisements.
Further, an advertiser may be allowed to specify that more than that pattern matching be considered in determining a match, such as to base advertisement targeting on historical click data and/or the pattern's position in the results. For example, even if a link is returned as a top ten result, it may not be clicked often, which is information that is obtainable via various query-click logs and the like. Further, the lower the ranking of a link, the less likely it will be clicked. Whether or not an advertisement is selected may be based on the likelihood of that link being clicked, which can be determined from historical data and/or its position in the search results.
In addition to processing the links, other direct properties in the search results may be processed, e.g., text snippets accompanying the links may have data extracted therefrom for use in matching search results to an advertisement. Search result properties also may include indirect considerations, such as processing the content of the underlying documents, (which may be done dynamically and/or offline in advance, such as for popular documents and/or results for popular queries).
Beyond properties obtained from text extraction and the like, other properties of the search results may be considered in advertisement matching. For example, whether the query is considered “news”-related (or some other classification) is additional data that may be extracted from the search results on which an advertiser may bid (such as a news magazine company that wants its advertisement displayed whenever a news-related result appears). As another example of a search result property, an advertiser may want an advertisement displayed if less than some threshold number of results is returned, e.g., when two or fewer two documents are found, an advertiser may show an advertisement such as “If you did not find your answer, ask a real person at . . . ” or the like.
The selection of a matching advertisement may be based upon other factors, beyond the results themselves. For example, from the search results, a general area of intent may be determined as a potentially matching property. Advertisement targeting may be based on that general area of intent plus the URLs that the user has recently visited on the search engine, and/or that the user is predicted to visit based on current or recent user behavior, and possibly the behavior of other users. For example, if a user is browsing for tickets to a sporting event in some city, an advertisement for a hotel in that city may be shown even though the returned search results are only related to purchasing tickets. This may be because the intent of seeking tickets is known from historical information to be often preceded by or followed by travel planning.
Advertisers may bid on the location and/or frequency of the URL appearing in the search results, e.g., in at least one of the first three results for the search, or at least twice, and so forth. Advertisers also may bid on “bags” of targets, such as a collection of “car manufacturer domains” for example. Other logical combinations are feasible, such as using query terms in conjunction with post-searching results, e.g., only show an advertisement if a cable television company's domain name appears in a search result and “internet” was a query term, (so that an internet access provider has its advertisements more directed to users who are seeking internet access and not just cable television). Other criterion may include state information such as time-of-day, day-of-week, a combination of these with location, and so forth.
With the properties extracted from the search results, one or more advertisements based on those properties may be selected. These may be added to the results page 120 before returning in response to the query. For example, if the various possible conditions are met, and an extracted company name is considered like a keyword or set of keywords, the advertisements may be selected in a conventional manner, e.g., using bidding-based selection techniques. However alternative selection mechanisms and the like may be used.
As can be seen, the advertisement targeting may fire per query, that is, if the pattern and/or other extracted data are matched for the current query. However, an advertiser also may specify that their advertisement appear as long as the match occurred any time during a current browsing session, or at least up to some minimum time (e.g., for five minutes if the user is still browsing). Note that if space on the results page for showing a previous advertisement or advertisements is limited, some mechanism such as a bidding-based selector may be used to rank and/or determine which previous advertisement or advertisements are shown, and/or in what order.
Thus, advertisements may be triggered directly on the results shown to the user, and/or may be filtered or weighted by the position on the page. Advertisements may be triggered based on historical information about the query and what was clicked. Advertisements may triggered based on these aspects, or instead on a session (e.g., time window or other criteria) basis.
Result-based advertising also may be used internally by the search engine, such as for so-called feature promotions or house ads. For example, a travel site affiliated with a search engine may be promoted when another travel site (e.g., Travelzzz.com) result is displayed.
The appearance of the advertisement (its text, for example) is customizable based on for what domain the advertisement appeared. For example, an advertiser may create an ad with the text: “We guarantee we will beat {domain}'s prices by 10%” which will fire with the appropriate text from the search result inserted as content of the advertisement whenever the search results contain a link for one or more domains (e.g., abcxyz.com or 765uvw.com).
Step 208 is an optional step (represented by the dashed block) that may adjust the properties based upon user history or prediction as generally described above. In this manner, for example, an advertisement may be matched to search results even though the results themselves do not exactly match, such as in the above hotel advertisement-for-ticket results example where “hotel” was not a directly returned property but rather was indirectly inferred from the ticket intent plus city information.
Step 210 represents the above-described matching and selection process, where the direct and/or indirect properties and any conditions corresponding to the search results are used as criteria to determine whether any advertisements match. By way of example using some of the above-described criteria, an advertiser may bid on an advertisement being shown when a competitor name appears in a URL, but only if in the top five search results.
As also described above, an advertisement also may appear as a result of session or other timing-related criteria being met, such as to show the advertisement for the remainder of a session regardless of what the user has queried for next, and/or to show an advertisement based upon a previous query (e.g., an advertisement not previously shown because of a low bid, which gets shown later when the user queries for something else). Step 212 represents evaluating whether to show one or more sets of advertisements with the new search results, including any that may be bid based on previous queries. If so, each such advertisement is selected at step 214. As described above, a selection/ranking mechanism may be used if there is insufficient space for showing all such previous advertisements on the current results page.
Step 215 represents determining whether all search results are done being processed, e.g., in an implementation in which partial search results are sent from the search engine to the advertising platform. If not done, the process returns to step 204 to process the next set of partial results (including waiting as needed until the search engine provides them).
Steps 216 and 218 are directed towards ranking the search-result based advertisements when two or more are selected. Note that this may be based on existing technology, e.g., the likelihood of being clicked in conjunction with the amount paid per click and so on. Note that any conventionally selected (by keyword) advertisements may also be considered at this time, e.g., they may be ranked and mixed in with search result-based selected advertisements.
Step 220 represents returning the advertisement or advertisements to the search engine. Note that as described above, depending on the alternative implementation that is used, the advertisement or advertisements may be sent to the user instead, and/or the advertising platform can incorporate the advertisements into the results page before providing the final results page to the search engine or user.
Note that
To this end,
The keywords or some subset thereof (e.g., the most frequent of the keywords) that typically lead to that domain or link being displayed are then returned as suggested keywords 338 to the advertiser 330. This facilitates straightforward keyword discovery via a URL or domain, such as that of a competitor.
In this way, the mapping back from the URL or domain entered by an advertiser to a keyword or a set of keywords allows an advertiser to obtain the relevant keywords and thus to target its advertisements more effectively. Note that while this is likely less precise than processing the actual search results obtained for a query, doing so requires less of a change to conventional keyword-based bidding systems, and may incur high computational cost.
Further, note that not only URL/domain bidding may be done in this way. For example, the information provider 334 can “play back” search sessions for some time (e.g., the last X months) to determine for which queries the particular bid condition held. For example, if the advertiser 330 bids for an advertisement to be shown whenever a snippet contains “dog” and the query was a news query, the information provider 334 may process the query log or logs 336, find the searches that match this condition, and return those queries to the advertiser 330.
The invention is operational with numerous other general purpose or special purpose computing system environments or configurations. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with the invention include, but are not limited to: personal computers, server computers, hand-held or laptop devices, tablet devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
The invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, and so forth, which perform particular tasks or implement particular abstract data types. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in local and/or remote computer storage media including memory storage devices.
With reference to
The computer 410 typically includes a variety of computer-readable media. Computer-readable media can be any available media that can be accessed by the computer 410 and includes both volatile and nonvolatile media, and removable and non-removable media. By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by the computer 410. Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above may also be included within the scope of computer-readable media.
The system memory 430 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 431 and random access memory (RAM) 432. A basic input/output system 433 (BIOS), containing the basic routines that help to transfer information between elements within computer 410, such as during start-up, is typically stored in ROM 431. RAM 432 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 420. By way of example, and not limitation,
The computer 410 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media, described above and illustrated in
The computer 410 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 480. The remote computer 480 may be a personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 410, although only a memory storage device 481 has been illustrated in
When used in a LAN networking environment, the computer 410 is connected to the LAN 471 through a network interface or adapter 470. When used in a WAN networking environment, the computer 410 typically includes a modem 472 or other means for establishing communications over the WAN 473, such as the Internet. The modem 472, which may be internal or external, may be connected to the system bus 421 via the user input interface 460 or other appropriate mechanism. A wireless networking component such as comprising an interface and antenna may be coupled through a suitable device such as an access point or peer computer to a WAN or LAN. In a networked environment, program modules depicted relative to the computer 410, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
An auxiliary subsystem 499 (e.g., for auxiliary display of content) may be connected via the user interface 460 to allow data such as program content, system status and event notifications to be provided to the user, even if the main portions of the computer system are in a low power state. The auxiliary subsystem 499 may be connected to the modem 472 and/or network interface 470 to allow communication between these systems while the main processing unit 420 is in a low power state.
While the invention is susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the invention to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of the invention.