Providing a modified content item to a user

Methods and systems for generating a content item associated with search results and, based on a subsequent return to the search results, providing the content item in a modified manner.

BACKGROUND

The present disclosure relates generally to systems and methods for providing a modified content item to a user and more particularly, to providing a modified content item to a user based on a subsequent return to a set of search results.

SUMMARY

In one implementation, in general, a computer-implemented method includes receiving, at a server, a search query. The method may also include providing a web page comprising a set of search results selected based on the query and comprising the content item for display on the web page along with the search results, wherein the content item is selected based on the search query. The method may yet further include receiving an indication of a user interaction with the content item. The method may also include, based on a subsequent return to the web page comprising the search results and the content item, providing the content item in a modified manner.

In another implementation, in general, a system may include a computer-readable storage device comprising instructions; and one or more processors coupled to the tangible computer-readable storage device and configured to execute the instructions to perform operations. The operations may include receiving a search query. The operations may also include identifying a set of search results responsive to the query during a search session. The operations may include providing at least one content item based on the set of search results. The operations may also include receiving an interaction with the content item. The operations may include, based on a subsequent return to the search results, providing the content item in a modified manner.

DETAILED DESCRIPTION

The disclosure herein provides various methods and systems for providing relevant content (e.g., advertisements) to a user, such as providing the relevant content on a search results web page.

In some implementations, content that appears on a search results web page does not change. For example, the same content is shown to the first-time visitor as well as to a repeat visitor. There is no distinction of the user with relation to the content.

In an example, a user may provide a search query on a search engine. For example, the user could search for “used car”. The search results for “used car” may also include content along with the web page. The user may retrieve the content instead of the search results. For example, the user may click on a sponsored link such as “Used car model A for sale; visit www.example.com for details”, which takes the user to the web page for the used car model A.

The user may want to compare the offer on www.example.com to other offers that had previously appeared along with the search results. The user may click the browser's back button to return to the search results. The sponsored link, “Used car model A for sale; visit www.example.com for details,” may remain the same in some implementations.

In some implementations, content that appears on a search results web page may be dynamic. For example, the content may vary depending on whether it is a first time visitor, repeat visitor, etc.

The system and method described herein is a feature that allows different content to be displayed depending on the user. In an implementation, different content will be displayed to a user who has returned to the original search results from a web page than to the same user who is originally viewing the search results.

For example, a user searches for a “used car” using a search engine, clicks on the sponsored link “Used car model A for sale; visit www.example.com for details”, and then returns to the search result page. Here, the user will note that the sponsored link changes. The sponsored link may now read “Used car model A for sale; visit www.example.com for savings of $500 if purchased within the next 36 hours.” In this example, the text “for savings of $500 if purchased within the next 36 hours” is now also displayed to the user.

The content and changed content may be managed by a content provider's (e.g., an advertiser's) online account. The interface may include the option of creating the changed content text. Also, the interface may include various ways to distinguish the content from other content when the user returns to the search results, e.g., highlighting, color, shadowing, fading effect, etc.

FIG. 1is a block diagram of a computer system100in accordance with a described implementation. System100includes client102, which may communicate with other computing devices via a network106. For example, client102may communicate with one or more content sources ranging from a first content source108up to an nth content source110. Content sources108,110may provide webpages and/or media content (e.g., audio, video, and other forms of digital content) to client102. System100may include a content selection server104, which provides advertisement data to other computing devices over network106.

Network106may be any form of computer network that relays information between client102, content selection server104, and content sources108,110. For example, network106may include the Internet and/or other types of data networks, such as a local area network (LAN), a wide area network (WAN), a cellular network, satellite network, or other types of data networks. Network106may include any number of computing devices (e.g., computer, servers, routers, network switches, etc.) that are configured to receive and/or transmit data within network106. Network106may include any number of hardwired and/or wireless connections. For example, client102may communicate wirelessly (e.g., via WiFi, cellular, radio, etc.) with a transceiver that is hardwired (e.g., via a fiber optic cable, a CAT5 cable, etc.) to other computing devices in network106.

Client102may be any number of different user electronic devices configured to communicate via network106(e.g., a laptop computer, a desktop computer, a tablet computer, a smartphone, a digital video recorder, a set-top box for a television, a video game console, etc.). Client102is shown to include a processor112and a memory114, i.e., a processing circuit. Memory114stores machine instructions that, when executed by processor112, cause processor112to perform one or more of the operations described herein. Processor112may include a microprocessor, application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), etc., or combinations thereof. Memory114may include, but is not limited to, electronic, optical, magnetic, or any other storage or transmission device capable of providing processor112with program instructions. Memory114may include a floppy disk, CD-ROM, DVD, magnetic disk, memory chip, ASIC, FPGA, read-only memory (ROM), random-access memory (RAM), electrically-erasable ROM (EEPROM), erasable-programmable ROM (EPROM), flash memory, optical media, or any other suitable memory from which processor112can read instructions. The instructions may include code from any suitable computer-programming language such as, but not limited to, C, C++, C#, Java, JavaScript, Perl, Python and Visual Basic.

Client102may include one or more user interface devices. In general, a user interface device refers to any electronic device that conveys data to a user by generating sensory information (e.g., a visualization on a display, one or more sounds, etc.) and/or converts received sensory information from a user into electronic signals (e.g., a keyboard, a mouse, a pointing device, a touch screen display, a microphone, etc.). The one or more user interface devices may be internal to a housing of client102(e.g., a built-in display, microphone, etc.) or external to the housing of client102(e.g., a monitor connected to client102, a speaker connected to client102, etc.), according to various implementations. For example, client102may include an electronic display116, which visually displays webpages using webpage data received from content sources108,110and/or from content selection server104.

Content sources108,110are electronic devices connected to network106and provide media content to client102. For example, content sources108,110may be computer servers (e.g., FTP servers, file sharing servers, web servers, etc.) or other devices that include a processing circuit. Media content may include, but is not limited to, webpage data, a movie, a sound file, pictures, and other forms of data. Similarly, content selection server104may include a processing circuit including a processor120and a memory122. In some implementations, content selection server104may include several computing devices (e.g., a data center, a network of servers, etc.). In such a case, the various devices of content selection server104may comprise a processing circuit (e.g., processor120represents the collective processors of the devices and memory122represents the collective memories of the devices).

Content selection server104may provide digital advertisements to client102via network106. For example, content source108may provide a webpage to client102, in response to receiving a request for a webpage from client102. In some implementations, an advertisement from content selection server104may be provided to client102indirectly. For example, content source108may receive advertisement data from content selection server104and use the advertisement as part of the webpage data provided to client102. In other implementations, an advertisement from content selection server104may be provided to client102directly. For example, content source108may provide webpage data to client102that includes a command to retrieve an advertisement from content selection server104. On receipt of the webpage data, client102may retrieve an advertisement from content selection server104based on the command and display the advertisement when the webpage is rendered on display116.

According to various implementations, a user of client102may search for, access, etc., various documents (e.g., web pages, web sites, articles, images, video, etc.) using a search engine via network106. The web pages may be displayed as a search result from a search engine query containing search terms or keywords. Search engine queries may allow the user to enter a search term or keyword into the search engine to execute a document search. Search engines may be stored in memory122of server104and may be accessible with client102. The result of an executed website search on a search engine may include a display on a search engine document of links to websites. Executed search engine queries may result in the display of advertising data generated and transmitted from server104. In some cases, search engines contract with advertisers to display advertising to users of the search engine in response to certain search engine queries.

In another implementation, content providers (e.g., advertisers) may purchase or bid on the search terms such as keyword entries entered by users into a document such as a search engine. When the search term or keyword are entered into the document, then advertising data such as links to an advertiser website may be displayed to the user. In some implementations, server104may use an auction model that generates an advertisement. Content providers may bid on keywords using the auction model. The auction model may also be adjusted to reflect the maximum amount an advertiser is willing to spend so that a user is exposed to an advertisement a minimum number of times.

A user may opt in or out of allowing content selection server104or other content source to identify and store information about the user and/or about devices operated by the user. For example, the user may opt in to receiving content from content selection server104that may be more relevant to her. In one implementation, the user may be represented as a randomized device identifier (e.g., a cookie, a device serial number, etc.) that contains no personally-identifiable information about the user. For example, information relating to the user's name, demographics, etc., may not be used by an content selection server unless the user opts in to providing such information. Thus, the user may have control over how information is collected about him or her and used by an content selection server or other content source.

In some implementations, the device identifier is associated with a particular instance of a client application (e.g., running on client device102). In some implementations, the device identifier is associated with a user (e.g., when the user logs in with a username and password). Some information that may be associated with the user may include events, such as one or more queries, one or more clicks, browser history data (e.g., the URLs visited, the number of URLs viewed, URL visit durations, etc.), etc. Events may also include advertising metrics, such as impressions, click through rate, etc. for each user. For example, the device identifier may include a time stamp associated with a particular event. Events may also include how many times a user is exposed to a particular ad, a campaign, etc.

Content source108,110may select content to be provided with a webpage based on the device identifier for a user visiting the web page. For example, a user may opt in to receiving relevant advertisements from an content selection server. Rather than selecting an advertisement to be provided on the web page based on the content of the web page itself or on other factors, content selection server104may take into account the device identifier provided as part of the content request. In one example, a user may visit a number of webpages devoted to reviews of golf clubs and later visit a webpage to check stock quotes. Based on the user's visits to the golf-related webpages, the user may be determined to be interested in receiving advertisements for golf clubs. When the user later visits the webpage to check stock quotes, an online retailer of golf equipment may seek to include an advertisement on the webpage for that particular user, even though the financial webpage is unrelated to golf.

If content is selected based in part on a device identifier for a user that opts in to receiving more relevant content, a content provider may specify that certain content is to be provided to a set of device identifiers. For example, an advertiser may identify a set of device identifiers associated with visiting the advertiser's website and making a purchase. Such users may later wish to know if the advertiser is running a sale. In some cases, an advertising network may identify users on behalf of the advertiser that may be interested in receiving advertisements from the advertiser. For example, advertisers may specify a number of topic categories for their advertisements and the advertising network may match users' interests to the categories, to provide relevant advertisements to the users.

FIG. 2is an example illustration of content212being selected by content selection server104. As shown, client102may send a webpage request202to a content source via network106, such as content source108. For example, webpage request202may be a request that conforms to the hypertext transfer protocol (HTTP), such as the following:GET/weather.html HTTP/1.1Host: www.example.org

Such a request may include the name of the file to be retrieved, weather.html, as well as the network location of the file, www.example.org. In some cases, a network location may be an IP address or may be a domain name that resolves to an IP address of content source108. In some implementations, a client identifier, such as a cookie associated with content source108, may be included with webpage request202to identify client102to content source108.

In response to receiving webpage request202, content source108may return webpage data204, such as the requested file, “weather.html.” Webpage data204may be configured to cause client102to display a webpage on electronic display116when opened by a web browser application. In some cases, webpage data204may include code that causes client102to request additional files to be used as part of the displayed webpage. For example, webpage data204may include an HTML image tag of the form:<img src=“Monday_forecast.jpg”>

Such code may cause client102to request the image file “Monday_forecast.jpg,” from content source108.

In some implementations, webpage data204may include content tag206configured to cause client102to retrieve an advertisement from content selection server104. In some cases, content tag206may be an HTML image tag that includes the network location of content selection server104. In other cases, content tag206may be implemented using a client-side scripting language, such as JavaScript. For example, content tag206may be of the form:

Where AdNetwork_RetrieveAd is a script function that causes client102to send an content request208to content selection server104. In some cases, the argument of the script function may include the network address of content selection server104, the referring webpage, and/or additional information that may be used by content selection server104to select content to be included with the webpage.

Content request208may include a client identifier210, used by content selection server104to identify client102. In various implementations, client identifier210may be an HTTP cookie previously set by content selection server104on client102, the IP address of client102, a unique device serial for client102, other forms of identification information, or combinations thereof. For example, content selection server104may set a cookie that includes a unique string of characters on client102when content is first requested by client102from content selection server104. Such a cookie may be included in subsequent content requests sent to content selection server104by client102.

In some implementations, client identifier210may be used by content selection server104to store history data for client102, with the permission of the user of client102. For example, content request208may include data relating to which webpage was requested by client102, when the webpage was requested, and/or other history data. Whenever client102visits a webpage participating in the content network, i.e., a webpage that includes an advertisement or other content selected by content selection server104, content selection server104may receive and store history data for client102. In this way, content selection server104is able to reconstruct the online history of client102regarding webpages in the content network. In some implementations, content selection server104may also receive history data for client102from entities outside of the content network. For example, a website that does not use content selected by content selection server104may nonetheless provide information about client102visiting the website to content selection server104, with the user's permission.

In some cases, client identifier210may be sent to content selection server104when the user of client102performs a particular type of online action. For example, webpage data204may include a tag that causes client102to send client identifier210to content selection server104when the a displayed advertisement is selected by the user of client102. Client identifier210may also be used to record information after client102is redirected to another webpage. For example, client102may be redirected to an advertiser's website if the user selects a displayed advertisement. In such a case, client identifier210may also be used to record which actions were performed on the advertiser's website. For example, client identifier210may also be sent to content selection server104as the user of client102navigates the advertiser's website. In this way, data regarding whether the user searched for a product, added a product to a shopping cart, completed a purchase on the advertiser's website, etc., may also be recorded by content selection server104. In some implementations, content selection server104may use the data regarding users' online actions to calculate performance metrics for a webpage (e.g., a conversion rate, a click-through rate, etc.).

In response to receiving content request208, content selection server104may select content312to be returned to client102and displayed on display116. For example, content selection server104may select content212based on client identifier210and/or on a user identifier associated with client identifier210. In one implementation, content selection server104may determine whether client identifier210corresponds to a similar user identifier as that of one or more other user identifiers. For example, content selection server104may determine whether a client identifier for client102is associated with characteristics that are similar to that of one or more other user identifiers specified by an advertiser. Content selection server104may analyze history data for the one or more user identifiers specified by the advertiser to identify characteristics of the user identifiers. The characteristics may be compared to those of the user identifier associated with client102to determine its similarity. In some implementations, content selection server104may determine a similarity score to represent how similar the characteristics of the user identifier is to that of the user identifiers specified by the advertiser.

In some implementations, content selection server104may use characteristics of the one or more user identifiers specified by an advertiser or other content source to train a behavioral model. For example, a large number of user identifiers associated with online purchases of insurance may have recently visited a webpage that compares rates among different insurance carriers. Such a characteristic may be used in a behavioral model by content selection server104to identify other user identifiers of users that may also be interested in purchasing insurance. In some implementations, the behavioral model may be constructed by representing a user identifier as a set of feature vectors. In general, a feature vector refers to an n-dimensional vector of characteristics of a user identifier, such as information about online actions associated with the user identifier. Characteristics of a user identifier may include webpages visited by the user identifier, advertisements selected by the user identifier, and/or advertisements selected by the user identifier that led to a conversion. In general, a conversion refers to the performance of a certain action. Typically, the action is the purchase of a good or service. For example, a selected advertisement that led to a conversion may be an advertisement that diverted a client device to a website at which a purchase was made. Other examples of conversions include creating a user profile on a website, subscribing to receive marketing offers (e.g., by providing a postal or email address, by providing a telephone number, etc.), or downloading software from a website.

In some implementations, characteristics of user identifiers may be normalized by utilizing a term-frequency inverse document frequency (TF-IDF) count. Webpages visited by a user identifier may be represented by their uniform resource location (URL) or similar addresses. A selected advertisement may be an advertisement embedded into a webpage, a game, a pop-up advertisement, a banner advertisement, or the like.

In some implementations, content selection server104may aggregate feature vectors to find a set of characteristics based on a statistical measurement of the aggregated characteristics. For example, the aggregated characteristics may be the number of times a webpage was visited by the set of user identifiers, the number of times an advertisement or group of advertisements was selected, and/or the number of times an advertisement or group of advertisements led to a conversion. In various implementations, a statistical measurement of the aggregated characteristics may be the average, median, centroid, or other statistical measure of the aggregated characteristics. In one implementation, the aggregated characteristics having the highest amount of activity may be selected (e.g., the top five most visited webpages, the top ten selected advertisements, etc.).

A received set of user identifiers may be subdivided by content selection server104into clusters to generate the behavioral model, in one implementation. In some cases, different groups of user identifiers may be associated with the same event and may be associated with widely different interests and motivations. For example, a roll of copper tubing may be purchased from an online hardware store both by plumbers and by hobbyists that homebrew beer. In such a case, the online histories for these two groups may widely differ. For example, the short-term histories of the plumbers may include a number of webpages devoted to making a certain type of plumbing repair. Likewise, the short-term histories of the hobbyists may include a number of webpages devoted to do-it-yourself projects to make a heat sink using copper tubing. Using clustering allows for the different groups of user identifiers to be treated separately in the behavioral model.

In some implementations, feature vectors may be subdivided into clusters by computing a weighted nearest-neighbor list for each user identifier in the set of user identifiers that content selection server104uses to train the behavioral model. For example, the feature vectors may be analyzed by content selection server104to determine which vectors are closest to one another. In one implementation, the nearest-neighbor list for the received set of user identifiers may be determined by applying a k-nearest-neighbor (KNN) algorithm, or similar algorithm, to the feature vectors. For example, webpages visited by plumbers may be used to form one cluster, while webpages visited by home brewing hobbyists may be used to form a second cluster, based on their nearest neighbors.

In some implementations, content selection server104may calculate a similarity score for the user identifier associated with client102based on how similar the characteristics of the user identifier are to those of one or more user identifiers specified by an auction participant (e.g., an advertiser or other content provider). For example, an advertiser may send a request to content selection server104to identify a user identifier similar to one or more user identifiers specified by the advertiser. Content selection server104may determine whether the user identifier associated with client102is a similar user identifier and generate a similarity score for the user identifier. In some implementations, content selection server104may automatically generate a bid for the advertiser or other content provider, in response to content selection server104receiving content request208from client102. For example, if the user identifier of client102is determined to be similar to user identifiers specified by an advertiser, content selection server104may generate a bid in the auction on behalf of the advertiser. In one implementation, the bid may be determined by content selection server104based in part on the similarity score for the user identifier associated with client102. Based on the results of the auction, content selection server104may select content212and return the content to client102or return an instruction to client102configured to cause client102to retrieve content from another source.

FIG. 3is an example of an illustration of interface300in accordance with a described implementation.

Interface300may be an interface for a content provider to select from among content to configure. In a brief overview, interface300may include header301to allow the content provider to view content that has been enabled, the budget of the content, the targeting of the content, and/or links to edit the content, etc. Interface300may also include an ad groups tab301to enable the content provider, for example, to select which advertisement group to modify, edit, view, etc. Interface300may also include settings tab305to enable the content provider, for example, to modify the settings of the provided content, such as locations, languages, campaign name, budget, etc. Interface300may also include advertisement tab307to enable the content provider, for example, to modify, monitor, view, etc. content, such as an advertisement. Interface300may also include keyword tabs309to allow the content provider to add, edit, modify, etc. keywords associated with the content. Interface300may also include networks tab311to enable the content provider, for example, to select where to display the content, such as a display network. Interface300may also include ad extensions tab313to enable the content provider, for example, to provide additional information along with the content.

As shown inFIG. 3, advertisement tab307is shown as selected. Header307amay include tabs to display all specific ads, ads based on time, device, network, etc., create a filter, such as CTR>x %, customize columns (e.g., by attributes, performance, etc.), change graph options (e.g., metrics to compare), or download/schedule a report. In other implementations, header307amay include fewer or less tabs. Advertisement tab307may also include graph307b. Graph307bmay include various performance metrics graphed over various intervals of time.

Header307cmay include tabs configured to add an advertisement, to change status of the advertisement (e.g., enable, pause, delete, etc.), to enable alerts (e.g., allows the content provider to track changes that may be important), to create rules for advertisements, keywords, ad groups, etc. (e.g., pause ads when x occurs, enable keywords when x occurs, etc.), and additional actions. Header307cmay include fewer or less tabs.

As shown inFIG. 3, tab315, configured to add an advertisement, is illustrated as having been selected. Tab315enables the content provider, for example, to add a text ad or an image ad, a mobile ad, a modified ad317, or to display an advertisement builder (e.g., a tool to help a content provider configure an advertisement).

Modified advertisement317may be selected by the content provider. This selection gives the content provider the option to add an advertisement that is modified from an advertisement already configured by the content provider. For example, the content provider may select this option to modify an advertisement with a different message for a returning visitor to the search results, the web page, etc.

FIG. 4is an example of an illustration of an interface400for a content provider to configure and preview the modified advertisement in accordance with a described implementation. Interface400may include portion410for selecting which advertisement group to modify. For example, inFIG. 4, the content provider may select the “massage” advertisement group.

Portion412may be filled out by the content provider at interface400or pre-filled (e.g., automatically configured) using a previously configured advertisement. Preview pane414may display original ad414aand modified ad414b. Preview pane414may also show the ad as a side ad, as shown inFIG. 4, a top ad, or another appropriate configuration.

FIG. 5is an example of an illustration500of a search query in accordance with a described implementation. Search query502may be entered at a search engine using a keyword, e.g., “automobiles,” an image, an audio command, etc. Search query502may be entered into a search field on a web page, as illustrated byFIG. 5. The search engine may perform a search of its index and provide search results504. Search results504may include a set of documents, where each document indicates a URL, along with a link to the page, and a snippet of text to display context to the document to the user. Documents may include any type of media that may be indexed and/or retrieved by a search engine, including, but not limited to, web pages, images, text documents, multimedia files, PDFs, etc.

The search engine may also provide a request for advertisement506. The request may depend on the search results. The request may include a number of advertisements, the amount of screen or page space occupied by search results504, the size and shape of the advertisements, etc. The request provided by the search engine may also include the query, information based on the query, information associated with, or based on, the search results, etc. The information may include identifiers related to the search results (e.g., document identifiers), text extracted from a document, topics, etc.

The search engine may combine search results504with advertisement506provided by content selection server104. The combined information may be provided for presentation to the user that submitted the search query. InFIG. 5, search results504are maintained as distinct from advertisement506to not confuse the user between advertisement506and search results504.

FIG. 5also shows an example of advertisement506, which is shown as a modified advertisement. Advertisement506has been modified to include language “Did you also check out our limited time free warranty?” This language may be annotated to advertisement506based on the user returning to search results504from another advertisement, another web page, etc.

FIGS. 6-8are also examples of advertisement506being modified for a return visitor. For example, inFIG. 6, the modified language of advertisement506is italicized. InFIG. 7, the modified language of the advertisement is bolded. InFIG. 8, the modified language of advertisement506has an icon alongside it. In other implementations, the content provider or the system may provide any text, image, graphic, etc. to distinguish the modified advertisement from an advertisement that is not modified (e.g., an initially viewed advertisement.) Each of the modifications inFIGS. 6-8may be previewed prior to display, such as by the preview pane as described inFIG. 4.

FIG. 9is an example of an illustration of a flow diagram of a method for generating content associated with search results. Method900may be performed by various systems and components. Method900may be performed online or offline.

At block902, a search query is received. In some implementations, the search query is received from a user, visitor, etc. The search query may be text, audio, an image, etc. The search query may be a phrase entered into an input field. One or more terms, phrases, etc. may be accepted from the search query. In some implementations, the search query may be received by a web browser. Additional information may be provided with the search query (or in the alternative), e.g., information related to the content of the page as well as a content item request. Multiple interpretations, associations, etc. may be generated for the search query. Each of these interpretations, associations, etc. may be explored, e.g., by a parsing algorithm. The most relevant interpretation may be selected and returned as part of the search results provided to the user. In some implementations, another step or steps may be performed for each term, phrase, etc.

At block904, a web page including a set of search results selected based on the query may be provided. In some implementations, the web page may include a content item for display on the web page alongside the search results. The content item may be selected based on the search query. For example, the keyword of the search query may be provided to a content auction, where the relevant content item wins the auction based on the relevance of the search query keyword. The content item may include at least one of text, image, interactive, rich media, and video data.

At block906, an indication of a user interaction with the content item may be received. For example, the user may select the content item and be taken to the web page associated with that content item.

At block908, based on a subsequent return to the web page including the search results and the content item, the content item is provided in a modified manner. In some implementations, the modified manner may include the modification of a format of the content item to distinguish the content item from the set of search results and other content items. The modified content item may include a discount from the displayed content item on the web page, e.g., a better deal may be offered to the return visitor. In other implementations, the modified content item may include a promotional offer, e.g., an additional product or service.

In some implementations, the subsequent return to the search results may occur during a search session. The subsequent return to the search results may be denoted by a back button of a web browser. The search session may include an interval of time between search queries. In some implementations, the search session may include an interval of time that is indicated by logging into or out of a search engine interface. In some implementations, the search session includes a relationship between a newly received search query and previously received search queries.

Method900may also include determining whether a portion of the web page comprising information from the content item has been viewed, and, if not, providing the modified content item along with the search results.

The operations described in this specification can be performed by a data processing apparatus on data stored on one or more computer-readable storage devices or received from other sources.