Google Search Appliance software version 6.0
Posted June 2009
Advanced search reporting enables administrators to see what types of links a user chooses on a search results page, and more generally to track all actions that a user performs such as clicking navigational links. This information enables administrators to improve access and latency of search results, and to understand user click behavior.
For terminology definitions, see the Google Enterprise Glossary.
An administrator enables advanced search reporting in the Admin Console's Serving > Front Ends > Output Format page. The search appliance then modifies search result pages by inserting Javascript that tracks all links that a user clicks. When a user clicks a link in the search results, Javascript executes in the browser and requests a URL on the search appliance that starts with /click that contains information about the link. The search appliance logs the arguments given in the URL on the search appliance and then returns a response to the browser. The browser then retrieves the URL on which the user clicked.
The /click URL is not visible to users. This URL has little effect on user-perceived latency because the processing is performed on the client side, and both the request and response are as minimal as possible.
This document enables advanced administrators to understand the /click URL information that is sent to the search appliance. Administrators who monitor network data may see this information. Programmers can also use this information in custom applications.
For information about configuring advanced search reporting in the Admin Console, see Gathering Information about the Search Experience in Creating the Search Experience. For information on search requests, see the Search Protocol Reference.
The following illustration shows the relationship between the search results and the advanced search reporting information.
The steps follow.
| Step | Description |
|---|---|
| 1 | A user initiates a search request to the Google Search Appliance. |
| 2 | The search appliance sends back search results that display on the search results page. |
| 3 | A user clicks a URL in the search results. |
| 4 | The browser sends the associated URL to the search appliance. |
| 5 | The browser also sends a hidden /click URL to the search appliance containing advanced search reporting parameters about the link. For more information, see Request Parameters. |
| 6 | The search appliance responds to the browser by sending a HTTP status code of 204 (no content) to acknowledge receipt of the /click URL. For more information, see Responses. |
| 7 | The search appliance takes the /click URL information and uses the URL to write advanced search reporting information to a log file that an administrator views on the Admin Console. For more information on advanced search reporting and the Admin Console, see Gathering Information about the Search Experience in Creating the Search Experience. |
The end user does not see a /click URL. If an administrator uses a program like tcpdump to view data on the Internet connection, the /click information is visible. Administrators or programmers can use this information for debugging or in an application. The parameters in the /click URL are as follows.
| URL Parameter | Description | Example |
|---|---|---|
cd |
Click data. This is additional, user-provided information to give more information or context about the click. This is not interpreted by the search appliance and is just logged. This would typically only be used by people who perform advanced customization and need to log additional information. | cd=malta |
ct |
Click type. A value that identifies the type of link that a user clicks. For the value, use underscores or a dot without spaces and use alpha-numeric characters. For a complete list of click types, see Click Types in Advanced Search Reports. This is an extensible field and customers can add their own values to this parameter. As a general guideline, we recommend that you do not use any values that Google has already defined, and use a sequence of alpha-numeric characters, underscore, hyphen, and period. Usage of other characters makes it more difficult to encode the request and can later lead to subtle problems in the data flow. |
ct=c |
q |
Query text | q=island+countries |
r |
Rank of the result on which the user clicks. | r=7 |
url |
URL that the user clicked. | url=http%3A//www.foo.com/ |
The following is an example request for advanced search reporting parameters:
/click?ct=desk.news&r=7&url=http%3A//www.foo.com/bar.html&q=olympics
This URL lists the following information:
| Value | Description |
|---|---|
/click |
Start of the advanced search reporting URL. |
ct=desk.news |
User clicked the News link at the top of the search page. |
r=7 |
The rank priority of the click is 7. |
url=http%3A//www.foo.com/bar.html |
The URL on which the user clicked. |
q=olympics |
The search query the user entered that created the search page. |
When a user clicks a cluster label the following example appears:
ct=cluster&cd=spanish+cuisine&q=spain
This URL lists the following information:
| Value | Description |
|---|---|
ct=cluster |
User clicked a cluster label on the search page. |
cd=spain+cuisine |
The click data identifies the click for "spain cuisine." |
url=http%3A//www.foo.com/bar.html |
The URL on which the user clicked. |
q=spain |
The search query the user entered that created the search page. |
In response to the /click URL, the search appliance always sends the same HTTP response back to the browser to acknowledge receipt. The response has a status code of 204 (no content) and a MIME type of image/gif.
The Google implementation running on the client generates a URL with Javascript as a dummy image object. The result is ignored as the response doesn't affect the client behavior -- the purpose is to log the user interactions on the server side.