Fixing missing click reports in analytics

Problem description

The search click reports are missing data for a period or is empty.

Solutions

The analytics includes a number of reports that are based on click reporting - such as the top result clicks report.

Sometimes these reports will be missing or empty in the analytics. This is normally because there is no click data being recorded by Funnelback. These reports rely on a callback mechanism to log a user’s click on the results. If this mechanism isn’t called then the reports will be missing.

Check the search result URLs

Run a search against the collection that has the missing click reports and examine the URLs for each search result.

Check that search results are using one the following links to track result clicks. Instead of linking directly to the URL of the search result, each result should call a URL on the Funnelback server which then redirects the user to the result’s actual URL.

e.g. http://example.com/s/redirect?collection=example-collection&url=https%3A%2F%2Fexamplesite.com%2Fpage%2&auth=x%2Fp7ZHFIt%2BoHPJInXNJqzQ&profile=_default&rank=4&query=example

If these links don’t call /s/redirect but go directly to the URL of the search result then clicks will not be logged and the click reporting will be absent.

If the URLs call a different URL on the server (e.g. for an integrated search) then the integration will need to be examined to make sure that the redirect controller is being called in the background.

Resolution

Configure links to use the click tracking program in a template. Any links to a result should point to the search result variable s.result.clickTrackingUrl.

From Freemarker is this accessed with ${s.result.clickTrackingUrl}. For integrations with search.json and search.xml the clickTrackingUrl element of the result item in the data model should be used when rendering the search results.

For integrations that need to redirect via the calling server (such as a CMS) the ui.modern.click_link value in the results page configuration can be used to set the correct click program.