Event tracking
Event tracking refers to recording user interactions alongside search results. This is usually the successful search outcome customers use to power machine learning.
When using Event tracking tokens are not required, and events are simply bound to the query that generated the result set and a unique identifier for your result (i.e. the name of a field in your schema with the Unique constraint).
Using data generated from tracking clicks on results and any other events your app sends back to our API, our machine learning can update relevance scores and improve results shown to users.
Event tracking is Search.io's preferred method of tracking moving forward, as it is even simpler than our original Click Tracking while being as flexible as our PosNeg Tracking but without the need to deal with tokens. Both Click and PosNeg tracking have been deprecated.
Documentation relating to event tracking for customers using our API can be found in relevant API clients.

Click Tracking

Click tracking refers to recording user click interactions alongside search results. This is usually the successful search outcome customers use to power machine learning.
A Click token records an interaction for the query-result pair when an end-user enters a query and clicks on a search result.
Using data generated from click tracking, machine learning can update relevance scores and improve results.
Click tracking is inbuilt and pre-configured for standard Site Search integrations. e.g. for search interfaces created using our React client or the Search Interface Builder in the Console.
Documentation relating to click-tracking for customers using our API can be found in relevant API clients.

Testing click tracking

Note: These instructions are for testing "Search Interface Builder 1.4" using Google Chrome.
  1. 1.
    To test click tracking, on a search results page in a browser, open the developer tools by right-clicking and choosing "Inspect" or CTRL + SHIFT + I.
  2. 2.
    Navigate to the "Network" section and click the checkbox to "Preserve log".
  3. 3.
    Enter a new search query in the interface, and then press enter. Once the results have rendered, press "Clear" (next to the red recording button) to make it easier to find the click request.
  4. 4.
    Click on any search result to navigate to the result destination page and list all the requests that the browser made while fetching the page.
  5. 5.
    In the Network tab, search for "re.search.io/token" among the request Headers.The request will be a hashed code with the Request URL beginning https://re.search.io/token/ When this is present, a token has been generated and recorded.

PosNeg Tracking

PosNeg tracking refers to the recording of variably weighted user interactions with search results. As the name suggests, PosNeg tracking can be used to record both positive and negative interactions on query results. The resulting data is used for analytics and to power machine learning.
When initiating PosNeg tracking, both pos and neg tokens are generated for query-result pairs. Your app should store the tokens the user interacts with in ways you find relevant, e.g. a like, dislike, click, vote, product view, cart add or purchase. When these interaction events occur, your app should then send them back to our API along with the name of the event and optionally a weight to indicate strength when you have events of differing importance.
PosNeg tracking corrects for position bias by:
  1. 1.
    penalizing negatively interacted results
  2. 2.
    penalizing results occurring above those with positive interactions that were not interacted with
  3. 3.
    boosting results with positive interactions
The above scoring system works slightly differently to Click Tracking. It is better for apps where:
  • clicks are not a good measure of success
  • multiple different events with different values that optimize differently (e.g. cart adds, purchases, wishlists)
  • implicit negative interactions occur (e.g. tinder-style thumbs up/down)
Otherwise it is more complex to implement and if your app does not fit into the above we recommendClick Tracking.
Documentation relating to PosNeg tracking for customers using our API can be found in relevant API clients