--- title: Troubleshoot user visits slug: '2994' canonical_url: https://docs.coveo.com/en/2994/ collection: coveo-analytics source_format: adoc --- # Troubleshoot user visits Accurate user [visit](https://docs.coveo.com/en/271/) tracking is essential for meaningful analytics and helps you understand how users interact with your Coveo search solution. In some cases, you may encounter issues while exploring user visits that require further investigation. For example, you might notice multiple visits from the same user but with different [client IDs](https://docs.coveo.com/en/lbjf0131/). This article provides troubleshooting steps to ensure consistent visit tracking, helping you maintain reliable analytics for better insights. ## Access your browser developer tools When troubleshooting user visits directly from your search page, you'll need to access your browser developer tools. . Open your web browser's developer tools. > **Note** > > The examples in this article use the **Google Chrome** developer tools. > For browser-specific information, see: > > * [Google Chrome](https://developers.google.com/web/tools/chrome-devtools/open) > > * [Mozilla Firefox](https://developer.mozilla.org/en-US/docs/Tools) > > * [Safari](https://support.apple.com/en-ca/guide/safari/sfri20948/mac) . Select the **Network** tab. ## Find the client ID The client ID is a UUID that helps identify a specific browser. In the context of user visits, it enables [Coveo Analytics](https://docs.coveo.com/en/182/) to link [events](https://docs.coveo.com/en/260/) like searches and clicks to the same user, therefore it's important to ensure that one is provided in each request. . [Access your browser developer tools](#access-your-browser-developer-tools). . In your search page, perform a query. . In the **Name** column of the **Network** tab, look for POST or GET requests on `/rest/v15/analytics/`. . On the **Payload** tab, under the **Request Payload** section, find the client ID. ![Client ID in payload | Coveo](https://docs.coveo.com/en/assets/images/coveo-analytics/clientid-payload.png) > **Notes** > > * If you're using the [Collect endpoint](https://docs.coveo.com/en/l41i0031#whats-the-collect-endpoint), look for the [`cid`](https://docs.coveo.com/en/l41i0031#cid-string-required) parameter. > > * If you don't see the client ID in the request, check for a `visitor` query parameter in the request: > > On the **Payload** tab, under the **Query String Parameters** section, find the `visitor` query parameter. > > ![Visitor query parameter in payload | Coveo](:https://docs.coveo.com/en/assets/images/coveo-analytics/visitor-query-payload.png) ## Find the `coveo_visitorId` cookie value The `coveo_visitorId` cookie is a [first-party cookie](https://docs.coveo.com/en/mbeg8404/) that stores the client ID value, and the `clientId` property in the payload should match the value of the cookie. If you're using the `visitor` query parameter to track visits, make sure that the value of the parameter matches the value of the cookie. . [Access your browser developer tools](#access-your-browser-developer-tools). . In your search page, perform a query. . In the **Name** column of the **Network** tab, look for POST or GET requests on `/rest/v15/analytics/`. . On the **Cookies** tab, find the `coveo_visitorId` cookie. ![Coveo visitor cookie | Coveo](https://docs.coveo.com/en/assets/images/coveo-analytics/coveo-visitor-cookie.png) . Verify that the `coveo_visitorId` cookie value matches the client ID or visitor query parameter value, depending on which one is present in the request. ## Leverage the Event browser The [**Event browser**](https://platform.cloud.coveo.com/admin/#/orgid/usage/health/latest-events) ([platform-ca](https://platform-ca.cloud.coveo.com/admin/#/orgid/usage/health/latest-events) | [platform-eu](https://platform-eu.cloud.coveo.com/admin/#/orgid/usage/health/latest-events) | [platform-au](https://platform-au.cloud.coveo.com/admin/#/orgid/usage/health/latest-events)) tab of the **Data Health** page helps you inspect user visits by filtering events marked as **Invalid**. You can then assess the client ID and [visit ID](https://docs.coveo.com/en/272/) to identify potential inconsistencies in the visit tracking process. See [Event browser](https://docs.coveo.com/en/n3re0108/) for more information. ## Check whether your website uses an intermediate server Using intermediate servers between users and Coveo Analytics, such as a proxy server, can cause inconsistencies in the visit tracking process. A user's request may be altered or anonymized before it reaches the website, which can impact the accuracy of the visit data. If this is the case, you may want to consider using a [reverse proxy](https://docs.coveo.com/en/n9ig0408/) instead. ## Tracking issues across subdomains If you noticed that visits are handled correctly when the user stays within a specific part of the website, but stop working when they move to another section, you may want to consider the following troubleshooting steps: * [Verify how the `coveo_visitorId` cookie is set](#verify-how-the-coveo_visitorid-cookie-is-set) * [Verify the authentication providers](#verify-the-authentication-providers) * [Consider customizing your data tracking](#consider-customizing-your-data-tracking) ### Verify how the `coveo_visitorId` cookie is set If your cookie storage medium isn't resilient to changes in the domain name, you may lose track of your user visits when they move from one section to another. Therefore, you should ensure that the `coveo_visitorId` cookie is set on the whole website domain. **Example** You have both `a.example.com` and `b.example.com`. If you only set a cookie on `a.example.com`, the cookie wouldn't be visible on `b.example.com`. To track visits across those two websites, you would need to explicitly set the cookie on the whole `example.com` domain. ### Verify the authentication providers If you use different authentication providers across your website subdomains, your users' usernames can change depending on the active one. This change in usernames can affect visit tracking, as each time the username changes, a new visit starts, therefore breaking the user's journey into multiple visits. **Example** You have both `a.example.com` and `b.example.com`. A user has to authenticate using Google on `a.example.com` and Microsoft on `b.example.com`. This causes the user to change from one user name to another, therefore dividing the user visit. ### Consider customizing your data tracking While a client ID should remain the same between subdomains, it would change between top-level domains. If your search solution includes more than one top-level domain, you may want to consider customizing your data tracking to ensure consistent visit tracking across all top-level domains. For information on how to troubleshoot this issue, see [Customize data tracking](https://docs.coveo.com/en/n1ie8558/).