# Patent

## Title
Selecting key phrases for serving contextually relevant content

## Abstract

A process is described for assessing the suitability of particular keyword phrases for use in serving contextually relevant content for display on particular web pages. In one embodiment, the process involves determining frequencies of occurrence of particular keyword phrases within a peer group of pages associated with a target URL. Popularity levels of the phrases, as assessed using other sources of information, may also be considered. A process is also disclosed in which selected keyword phrases on a web page are transformed into links that can be selected by a user to view bundled content that is related to such keyword phrases.

## Background
RELATED APPLICATIONS
This application claims the benefit of U.S. Provisional Appl. No. 60/885,853, filed Jan. 19, 2007, the disclosure of which is hereby incorporated by reference.


FIELD OF THE INVENTION
The present invention relates to computer-implemented processes for identifying the terms and/or phrases most suitable for serving contextually relevant content. The invention also relates to processes for serving contextually relevant content for display within web pages or other types of documents.
BACKGROUND
A variety of systems exist for selecting content, such as advertisements, to present on web pages based on the content of such web pages. These systems often fail to select content that is relevant to, or suitable for display on, the particular page at issue. For example, an ad for a particular product or company may be selected to display on a web page containing an article that is critical of that product or company. As another example, an ad for a particular product may be displayed on a page containing an article about a completely unrelated topic merely because the product is briefly mentioned in the article. Existing systems also frequently display the selected ad in a manner that is distracting to users. These and other issues contribute to a low industry-wide click through rate of less than 1%.
SUMMARY OF THE DISCLOSURE
A process is described for assessing the suitability of particular keyword phrases for use in serving contextually relevant content for display on particular web pages or sites. In one embodiment, the process involves determining frequencies of occurrence of particular keyword phrases within a peer group of pages associated with a target URL. Popularity levels of the phrases, as assessed using other sources of information, may also be considered. A process is also disclosed in which selected keyword phrases on a web page are transformed into links that can be selected by a user to view bundled content that is related to such keyword phrases.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a system for identifying and serving contextually relevant content according to one embodiment.
FIGS. 2A-2C illustrates examples of a panel formats that may be used by the system of FIG. 1 to serve bundled content.
FIG. 3 illustrates how a panel may be presented on a web page in response to user selection of a keyword phrase that has been transformed into a user-selectable link.
FIG. 4A illustrates one embodiment of a process that may be implemented by the indexing engine of FIG. 1 to identify key phrases that are relevant to a particular URL or page.
FIG. 4B depicts a peer group of web pages associated with a target page.
FIG. 4C illustrates a user-activity-based method for selecting key phrases to use for serving contextually-relevant content.
FIG. 5 illustrates one embodiment of a process performed by the system of FIG. 1 when an advertiser creates and ad campaign.
FIG. 6 illustrates one example of a form page that may be used to create the ad campaign.
FIG. 7 illustrates how selected key phrases may be presented to the advertiser via a campaign cloud interface in the process of FIG. 5.
FIG. 8 illustrates a campaign summary page.
FIG. 9 illustrates a campaign purchase form.
FIG. 10 summarizes the process depicted by FIGS. 5-9.
FIG. 11 illustrates one embodiment of a process that occurs when an end user loads a panel-enabled web page of a publisher site 34.



DETAILED DESCRIPTION OF THE SPECIFIC EMBODIMENTS
A system that embodies various inventive features will now be described with reference to the drawings. Nothing in this description is intended to imply that any particular feature, characteristic, or component of the system or its use is essential to the invention.
I. Overview
FIG. 1 illustrates the basic components of a system 30, referred to as the Intextual system, for acquiring and serving contextually relevant content for display on web pages. The figure also shows the various entities that interact with the Intextual system. These entities include the following: advertisers that operate advertiser web sites 32; publishers that operate publisher web sites 34 (i.e., sites that publish or syndicate content served by the Intextual system 30); end users that access the publisher sites 34 via browser software running on end user computing devices (one computer/browser 36 shown); and social content providers that upload social content (e.g., photos, videos, music, textual content, etc.) to one or more social media sites 38.
As illustrated, the Intextual system 30 (hereinafter “the system”) includes a bundle server 40 that serves bundled content for display within, or in conjunction with, web pages 42 of the publisher sites 34. The bundled content is preferably displayed in association with specific key phrases that appear in pages of the publisher sites 34. (As used herein, a “key phrase” can be either a single term or a sequence of two or more terms.) As described below, the system 30 uses a novel process to select the key phrases that are likely to be the most effective for particular ads, advertisers and publishers. This process involves analyzing social media content obtained from one or more social media sites 38 to assess the popularity levels of particular key phrases.
As depicted in FIG. 1, the bundled content is preferably displayed in a panel 44 that appears when the user clicks on, or in some embodiments hovers a mouse cursor over, the corresponding key phrase (which is displayed as a special link) in a web page 42 of a publisher site 34. The panel 44 preferably occupies a portion of the browser's main viewing area, such that a portion of the web page (including the key phrase) is still visible. As shown in FIGS. 2A, 2B and 3, the panel in one embodiment includes (1) an area that displays thumbnail images of videos related to the key phrase; (2) an area that displays one or more clickable advertisements related to the key phrase, and (3) an area that displays thumbnail images of one or more photos related to the key phrase. FIG. 2C illustrates the panel's configuration when it is docked at the bottom of the browser's main viewing area.
FIG. 3 illustrates how the panel 44 may be presented on a web page 42 in response to user selection of a corresponding key phrase (“Atari 2600”) that has been transformed into a link. The selected key phrase is displayed at the top of the panel. The panel 44 also displays photos and video images associated with the key phrase. Because no advertisements are associated with the selected keyword phrase in this example, none are shown. If the user selects another highlighted key phrase on the page 42, the embedded JavaScript updates the panel 44 with content corresponding to that key phrase. As described below, the rate at which users click on a particular highlighted key phrase may be monitored by the system 30, and used as one factor to assess whether this key phrase should continue to be transformed into a link. This assessment may be performed at the publisher page level, the publisher site level, and/or a global level.
The videos and photos are preferably obtained from social media sites 38 such as YouTubeTM, FlickrTM and MyspaceTM, and may be obtained via interfaces to these sites or by using a crawling/scraping process. If the user clicks on a thumbnail of a video, the panel 44 expands on the screen (expanded views not shown), loads the corresponding web page from the associated social media site, and begins to play the video as displayed on that page. If the user clicks on a thumbnail image of a photo, the panel 44 expands and loads the corresponding photo page of the associated social media web site. If the user clicks on an ad, the panel expands and loads the corresponding landing page of the advertiser's web site. (As discussed below, the system tracks, and charges the corresponding advertisers for, such ad selection events.) In each of these scenarios, the user can click on additional links within the panel 44 to navigate to other content (e.g., to other videos or photos of a social media site, or to other content of the advertiser site). If the user clicks on one of the links at the bottom of the panel 44, the panel expands to reveal related content obtained from the corresponding source; for example, if the key phrase is “Apple Computer” and the user clicks the WikipediaTM link, the panel displays the Wikipedia entry for this phrase. At any time, the user can close the panel, or restore its smaller size/format, using the controls at the upper right hand corner of the panel.
Thus, the panel 44 acts as a portal or mini browser that enables the user to access social and sponsored content without navigating away from the publisher's web page 42. Because the key phrases are selected so as to correspond to current popular topics, the sponsored and social content displayed within the panel 44 tends to be highly useful and relevant to users.
As depicted in FIG. 1, a publisher can enable the display of the panel 44 on a web page 42 by adding a tag to the web page's HTML coding. A web page that includes such a tag is referred to herein as a “panel-enabled” page 42. The tag may be a JavaScript line or sequence that causes the user's web browser 36 to request a JavaScript component from the bundle server 40 (or from another server of the system). When the browser 36 loads and executes this JavaScript component, the key phrase or phrases appearing on the web page 42 are transformed into special links that can be clicked on to cause the panel 44 to be displayed with contextually relevant content. The JavaScript component is also responsible for creating the display of the panel 44, and for populating the panel with the bundled content associated with the key phrase. In other embodiments, ActiveXTM, Flash, or another type of scripting language or control may be used in place of JavaScript.
As shown in FIG. 1, the system 30 may host a web site 50 that provides functionality for advertisers to create and manage ad campaigns. One example of a process by which the advertisers create ad campaigns is described below. Advertisers may additionally or alternatively create ad campaigns via the corresponding publisher sites 34 through an interface to the system 30. The system's web site 50 may also provide functionality for publishers to register with the system to publish content served by the system.
As illustrated in FIG. 1, the system includes an indexing engine 52 that is responsible for analyzing various sources of information for purposes of selecting appropriate key phrases. The information sources preferably include the following: (1) web pages of the publisher sites 34, (2) web pages of the advertiser sites 32, (3) pages 54 (referred to as “peer pages”) of sites that have direct links to, or are the target of direct links from, the publisher and advertiser sites, and (4) social media sites 38.
The indexing engine 52 is preferably invoked in two primary scenarios. The first is when an advertiser creates an ad for display on a particular publisher web site 34 or a group of publisher sites. In this scenario, the indexing engine 52 is used to select and rank key phrases to suggest to the advertiser. The second scenario is when an end user/browser 36 loads a panel-enabled page 42 of a publisher site 34. In this scenario, if the page 42 has not recently been analyzed by the indexing engine 52, the indexing engine retrieves and analyzes the web page 42 to identify key phrases to transform into links. Both of these scenarios are described below.
The various components of the system 30 may be implemented as executable code (software) executed by one or more general purpose computers. The components may reside at a common location, or may be distributed geographically. The software code and associated data may be stored in any type or types of computer data repository (e.g., relational databases, flat files, hard disk storage, RAM, etc.). The browsers 36 may be any conventional web browser capable of executing JavaScript. The various communications depicted in FIG. 1 and other drawings occur over the Internet and/or other computer networks.
II. Operation of Indexing Engine
FIG. 4A illustrates one embodiment of a process that may be implemented by the indexing engine 52 to identify key phrases that are relevant to a particular URL or page. This process is referred to herein as “Peer-based Language Processing,” or PLP, as it involves the processing of a peer group of web sites or web pages to identify relevant key phrases. As will be recognized, the process shown in FIG. 4A can be varied significantly without departing from the scope of the invention.
In block 1, the indexing engine 52 receives a URL for which to identify relevant key phrases. If the indexing process is triggered by advertiser generation of an ad, this URL is typically the advertiser-specified landing page URL of the ad. If the process is triggered by a user loading a panel-enabled web page 42 of a publisher site 34, the URL is the URL of this panel-enabled web page. For ease of description, the URL received in block 1 will be referred to as the “target URL,” and the corresponding web page will be referred to as the “target page.”
In blocks 2-4, the indexing engine 52 retrieves and parses the target page (block 2) to extract a set of key phrases (block 3) and a set of outbound link URLs (block 4). The key phrases are extracted in one embodiment by stripping out HTML tags, and by using one or more language files to remove stop words. As depicted by block 5, the indexing engine 52 also accesses an external service/database, such as a web service provided by Alexa Internet, to identify inbound link URLs (i.e., URLs of web pages that point to the target page and are not part of the target page's Internet domain). The inbound and outbound URLs form a “peer group” for the target URL. As mentioned below, in scenarios in which the advertiser is creating an ad campaign, the peer group may also include some or all of the web pages of the advertiser's target site 32 (i.e., the site that includes the landing page for the ad campaign).
As depicted by block 6, the indexing engine 52 retrieves and scans the content of the identified inbound and outbound URLs (and possibly additional pages of the peer group) to determine phrase frequency of the extracted phrases within the peer group. Key phrases having relatively high frequencies of occurrence across the peer group tend to best characterize the target page, and thus tend to be more useful than less-frequently-occurring key phrases for serving context-relevant content.
FIG. 4B depicts one example of a peer group that may be formed for a particular target page (T). In this example, the peer group includes three types of additional pages: (1) pages that include a link to the target page, (2) pages to which the target page includes a link, and (3) other pages of the site of the target page. Typically, the peer group will include web pages of many different web sites.
Various other methods may be used to form the peer group. For example, web usage trails of users may be analyzed in aggregate to identify other web pages that are behaviorally related to (e.g., commonly accessed during the same browsing session as) the target web page; these behaviorally related pages may then be used as, or used to supplement, the peer group.
As depicted by block 7 of FIG. 4A, the indexing engine 52 also determines the popularity levels of the extracted key phrases. This may be accomplished by, for example, determining the frequencies with which the extracted key phrases appear within a repository of social media content, and/or determining how often media related to these key phrases is viewed. This may be accomplished by, for example, scanning an index of one or more social media web sites 38. Scraping methods can also be used to extract view counts for particular videos, pictures, and other content items on the social media sites 38. Key phrases that appear relatively frequently in the social media and/or relate to content that is frequently viewed typically correspond to relatively popular subjects and topics, and thus tend to be more useful than the less-frequently-occurring key phrases. The social media sites 38 may be separate and distinct from the advertiser sites 32 and publisher sites 34.
The popularity levels of the key phrases may additionally or alternatively be assessed using other sources of information. For example, the key phrase popularity levels can be assessed by analyzing search query logs of an Internet search engine, a social media site, and/or a news site. As another example, a service such as GoogleTM Trends may be used to assess key phrase popularity trends, so that key phrases rapidly gaining in popularity can be given more weight.
In addition, some social media sites 38 include publicly accessible APIs that provide access to usage statistics regarding the frequencies with which particular key phrases are used to tag, or are used to search for, particular photos, videos or other content items on a social media site. YouTube.com is one example of a social media site that provides such an API. These APIs may be used as an additional or alternative source of information for assessing the key phrase popularity levels in block 7.
For example, each key phrase may be scored or assessed based (or based in-part) on its acceleration (i.e., the rate at which it is gaining in popularity) in social media sites, or based on another popularity metric, as determined via a mathematical scoring model that examines user activity over time. One example of such a model is depicted in FIG. 4C. This figure depicts a graph representing the popularity level of a particular key phrase over time. The vertical axis in this example represents the current popularity level of the key phrase as measured by one, or any combination of, the following metrics: (1) the view count associated with one or more corresponding media items (videos, photos, etc.) on a social media site or group of sites 38, (2) the number of times the key phrase has been submitted as a search query to one or more Internet search engines, (3) the number of times the key phrase, as transformed into links on publisher sites 34 as described above, has been selected. Each of these metrics (1)-(3) may be based on a most recent window or dataset of user activity data, such as the last 3 days of user activity. The dashed box in FIG. 4C represents the period of time during which the key phrase should generally be transformed into links on the publisher sites 34. Specifically, as the key phrase is rapidly gaining in popularity, the system 30 may score the key phrase relatively highly to increase the probability that it will be selected for use in targeting content. As the acceleration begins to decline, the system 30 may assign a lower popularity score that decreases the key phrase's probability of use. Rather than using a phrase scoring method, hard cutoffs could be used to enable and disable the key phrase's use.
In block 8, each extracted key phrase is scored by combining its peer frequency with its social media frequency/popularity. An appropriate weighting method may optionally be used to give more weight to one type of content (peer versus social) than the other. Various other criteria may also be incorporated into the scores. For example, key phrases that appear relatively infrequently across the entire web (or some other reference document collection) may be scored more highly on the basis that they better distinguish the peer group from the web or reference document collection as a whole. As another example, relatively popular web pages in the peer group, and/or relatively popular social content items, may be weighted more heavily in measuring key phrase frequency.
The output of the indexing engine 52 is a set of name/value pairs representing the extracted key phrases and their respective scores. These name/value pairs are stored in a database 60 of the system in association with the target URL. The most highly scored key phrases tend to be relatively popular key phrases that characterize the target site or page, and which are the most useful for selecting contextually relevant content.
If the target URL is a landing page of an advertisement, the extracted key phrases with the highest scores are suggested to the advertiser as part of a “campaign cloud” (see FIG. 7, discussed below). In this scenario, the scores are preferably used to set corresponding CPC (cost per click) and CPM (cost per thousand) rates for charging the advertiser for ad click-through events. If, on the other hand, the target page is a panel-enabled page 42 of a publisher site 34, the extracted phrases and scores are used by the system 30 to select specific key phrases to display on the target page as special links.
As mentioned above, in ad generation scenarios in which the advertiser designates a particular publisher site 34, the process shown in FIG. 4A may be varied to include the advertiser's target site in the peer group of the publisher. This increases the likelihood that the extracted phrases suggested to the advertiser are phrases that actually appear (and ideally appear reasonably frequently) on the advertiser site 32.
As will be recognized, the PLP process described above can be used in a wide range of applications, including applications that do not involve the display of bundled content, and including applications in which the key phrases on the publisher page are not converted into special links. The present invention encompasses such applications. As one example, the PLP process can be used in GoogleTM AdSenseTM type applications in which ads are displayed in a designated area of the publisher web page.
The process by which an advertiser interacts with the system to create an ad campaign will now be described with reference to FIGS. 5-10. As represented by event A in FIG. 5, the advertiser initially uses an advertisement form page 62 of the system 30 to create an ad. An example of such a form page is shown in FIG. 6. The ad preferably includes an ad title, ad text, and the URL of a landing page. In this example, the ad form is branded with the logo of a corresponding publisher, and the ad is being created specifically for display by this publisher.
In event B, the indexing engine is invoked to generate a set of key phrases and associated scores for the designated landing page. This may be accomplished using the process shown in FIG. 4A, discussed above. The results are stored in a database 60 (event C) in association with the advertisement.
In event D, a web page depicting a resulting “campaign cloud” is generated and displayed to the advertiser. An example of such a display is shown in FIG. 7. In this display, the size of each key phrase is directly proportional to its score. The phrases with the lowest scores, or which have scores falling below a selected threshold, may be omitted from the cloud. The controls displayed with the campaign cloud enable the advertiser to add and remove key phrases.
While viewing the campaign cloud, the advertiser can “mouse over” a key phrase to view its estimated average CPC and average CPM. These values are preferably calculated based on the publisher's minimum CPC and CPM values, and based further on the key phrase scores. CPM and CPC rates are calculated by simplifying the phrase scores to a scale of 1-10 and multiplying the base cost set by the publisher by the score. For example, a publisher specifying a base CPM of $0.50 will equate to a $5.00 CPM for the most popular phrases in it's peer group. Market trend data, publisher traffic statistics and category information may be factored into the CPM value as well. Phrases entered by the advertiser will be added to the cloud with their corresponding scores on the publisher site. If no score exists or the phrase does not exist on the publisher site, the phrase is assigned the publisher's minimum cost.
Upon proceeding from the campaign cloud page (event E in FIG. 5), the advertiser is presented with a campaign summary page. An example of such a summary page is shown in FIG. 8. Using this page, the advertiser enters and submits a desired budget. The advertiser then proceeds to a campaign summary purchase form (FIG. 9) and specifies payment information. Upon completion of the payment process, the details of the campaign are stored in an ad campaign database (event f).
The above-described process by which the advertiser interacts with the system to create an ad campaign is summarized in FIG. 10.
III. Browser Loading of Panel-Enabled Page (FIG. 11)
FIG. 11 illustrates the process that occurs when an end user loads a panel-enabled web page 42 of a publisher site 34. In event 101, the tag included in the page causes the user's browser/computer 36 to send a request to the system 30. In response to this request, the system 30 accesses a database to determine whether the page is already indexed. If the page is already indexed, the bundle server 40 returns a cacheable JavaScript component to the browser (event 102a). This JavaScript requests the key phrases associated with this page, and causes the browser 36 to transform any occurrences of these key phrases into special links.
If the page is not indexed, the system invokes the indexing engine 52, which generates a dataset of key phrases and associated scores. This dataset is stored in a database 60 (event 102b) in association with the URL of the panel-enabled page, and is maintained therein for a selected period of time (e.g., 1 day or 1 week). Once the indexing is completed in this scenario, the process ends (i.e., no panel is generated).
Returning to the scenario in which the page is already indexed, if a user clicks on one of the special links/key phrases 66 (one shown in FIG. 11), the previously loaded JavaScript causes the browser 36 to send a bundle request to the bundle server 40 (event 3a). (This request may alternatively be made in advance of user selection of a special link, and maintained hidden within the web page unless/until the user selects a special link.) This request identifies the URL of the web page 42 being viewed, and may also identify the particular key phrase 66 selected. The bundle server 40 responds to this request by identifying the key phrases associated with the publisher web page, identifying ads associated with these key phrases (excluding any that do not meet criteria pre-specified by the publisher), and by identifying the most popular social media items that match these keyword phrases. The bundle server then assembles the ads, key phrases and social media items (or thumbnails thereof) into a bundle, and returns the bundle to the web browser 36 (event 104). A separate bundle request may alternatively be generated for each key phrase/link 66 selected by the user.
The JavaScript displays the panel on an independent graphic layer of the web page 42, and loads the panel 44 with the bundle content associated with the key phrase selected by the user. If the user thereafter selects a different key phrase/special link on the page, the panel is reloaded with the bundle content associated with that key phrase. The JavaScript may also be configured to draw ads and related content within other ad units.
The foregoing description of specific embodiments does not limit the invention in any way. Other embodiments and applications that are apparent to those of ordinary skill in the art, including embodiments that do not provide all of the features and advantages set forth herein, are also within the scope of this invention. The scope of the present invention is intended to be defined only by reference to the following claims. Applicants also reserve the right to pursue additional claims that are supported by the present disclosure, including claims of broader scope.

## Claims

1. A computer-implemented method of selecting one or more key phrases to use to select contextually-relevant content to present, the method comprising:
identifying a key phrase that appears on a web page of a web site;
generating a score for the key phrase based at least in part on view counts of social media content items associated with the key phrase, said social media content items being accessible to users on one or more social media sites that are separate from said web site, wherein generating the score comprises determining, based at least partly on the view counts, whether a rate of consumption of social media content associated with the key phrase is increasing; and
using the score to determine whether to use the key phrase to select contextually-relevant content to present on the web page;
said method performed by a computer system that comprises one or more computers.

2. The method of claim 1, wherein generating the score comprises determining, based at least partly on the view counts, whether a popularity level of the key phrase is increasing.

3. The method of claim 1, wherein the score is generated based at least partly on a measure of a rate at which a popularity level of the key phrase is increasing.

4. The method of claim 1, wherein using the score to determine whether to use the key phrase to select contextually-relevant content to present on the web page comprises comparing the score to scores generated for other key phrases of the web site.

5. The method of claim 1, wherein the social media content items include videos that are available for viewing on at least one social media site.

6. The method of claim 1, wherein the social media content items include photos on at least one social media site.

7. The method of claim 1, wherein the score is additionally based on a frequency of occurrence of the key phrase in a set of peer pages associated with said web page, said peer pages including pages of one or more additional web sites.

8. The method of claim 7, further comprising automatically identifying said set of peer pages, at least in part, by identifying outbound links from, and inbound links to, said web page.

9. The method of claim 1, further comprising automatically using the score to determine whether to convert an occurrence of the key phrase on the web page into a link for displaying related content.

10. The method of claim 9, further comprising responding to user selection of the link by causing content related to the key phrase to be displayed in a panel on the web page, said content including an advertisement associated with the key phrase and non-advertisement social media content associated with the key phrase.

11. The method of claim 10, wherein the social media content includes a thumbnail image of a video on a social media site, said thumbnail image being selectable by a user to view the video in said panel.

12. The method of claim 1, further comprising taking the score into consideration in calculating a CPC (cost per click) amount and/or a CPM (cost per thousand) amount for the key phrase.

13. A system for selecting key phrases for providing context-relevant content to users, comprising:
a computer system comprising one or more computers, said computer system programmed with executable code modules to at least:
identify a key phrase that appears on a page of a publisher site;
generate a score for the key phrase based at least in part on view counts of social media content items associated with the key phrase, said social media content items being accessible to users on one or more social media sites that are separate from the publisher site, wherein the computer system is programmed to generate the score by a process that comprises determining, based at least partly on the view counts, whether a rate of consumption of social media content associated with the key phrase is increasing; and
determine, based at least partly on said score, whether to use, or to suggest use of, the key phrase for selecting contextually-relevant content to present on the publisher site.

14. The system of claim 13, wherein the computer system is programmed to determine, based at least partly on said view counts, a rate at which a popularity level of the key phrase is increasing, and to use said rate as a factor in generating said score.

15. The system of claim 13, wherein the social media content items include videos that are available for viewing on at least one social media site.

16. The system of claim 13, wherein the social media content items include photos on at least one social media site.

17. The system of claim 13, wherein the computer system is programmed to generate the score based additionally on a frequency of occurrence of the key phrase in a set of peer pages associated with said page, said peer pages including pages of one or more additional sites.

18. The system of claim 17, wherein the computer system is programmed to identify the set of peer pages using outbound links from, and inbound links to, said page.

19. The system of claim 13, wherein the computer system is programmed to use the score to determine whether to suggest use of the key phrase for selecting contextually-relevant content to present on the publisher site.

20. The system of claim 13, wherein the computer system is programmed to use the score to determine whether to convert an occurrence of the key phrase on the page into a link for displaying contextually relevant content.

21. The system of claim 20, wherein the computer system comprises a bundle server that is responsive to user selection of the link by causing content related to the key phrase to be displayed in a panel on the page, said content including an advertisement associated with the key phrase and including non-advertisement social media content associated with the key phrase.

22. The system of claim 13, wherein the computer system is additionally programmed to use the score to calculate at least one of (1) a CPC (cost per click) amount for the key phrase, and (2) a CPM (cost per thousand) amount for the key phrase.