What is the AQS parameter in Google search query?

When I search Google from Chrome's omnibox, there is an aqs parameter embedded in the query, like &aqs=chrome..69i57.42x1j.

  1. What is the purpose of it?
  2. What does it contain?
  3. Does it (uniquely) identify the browser?

This is a tricky undocumented parameter. You will only find references for that in the Chrome(ium) developers community. My answer is based on some Google Searches only so maybe someone from inside will help further.

  • AQS stands for Assisted Query Stats and is a string parameter
  • It's "used for logging purposes" as you can find in some commenting in this code.
  • It "contains impressions of all autocomplete matches shown at the query submission time".
  • It doesn't look like that this would be used to uniquely identify a browser, but this is only speculation as the documentation appears to be closed for Google people (if you follow the URL pointed in this same code comment).

Finally, just to point to more background on the lack of documentation, there is this SO question and this curious comment from a Chrome developer in this thread about AQS implementation: "the comment here is both too short and confusing. Perhaps a longer explanation of what AQS is, what the constraints on it are, and why those constraints are necessary, should be added to some canonical place that talks about AQS."

That's it, if the documentation was created it's not Google findable.


No full answer, but a few things I discovered.

  • The number after the dot seems to be the milliseconds between the first keypress and submitting the query. So for chrome..69i57j69i60j69i61l2j69i60j0.2486j0j7 it's 2486ms
  • It always starts with chrome..69i57
  • What follows seems to be a encoded list of the autocomplete results, when you type a long query this list will get longer.
  • I am not sure of the last part (j0j7). The last digit seems to indicate whether you picked one of the suggested terms.

Edit: My guess at the time was right: https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/autocomplete/autocomplete_controller.cc&sq=package:chromium&type=cs&l=392&rcl=1383945446


In chrome://settings you can configure which search provider is used by the omnibox. The URL specified by the default Google provider in Chromium on Ubuntu is as follows:

{google:baseURL}search?q=%s&client=ubuntu&channel=cs&{google:RLZ}{google:originalQueryForSuggestion}{google:assistedQueryStats}{google:searchFieldtrialParameter}{google:searchClient}{google:sourceId}{google:instantExtendedEnabledParameter}{google:omniboxStartMarginParameter}ie={inputEncoding}

This might provide additional detail as to what the browser sends to google.