There are a few reasons why you may see referrers from your own domain in Heap:
The Session has timed out in a tab.
In Heap, a session is defined as a single period of activity. On the web, a session ends after 30 minutes of pageview inactivity. When the page loads for a new session, a cookie is set marking the start of that session. On each page load, we re-assess whether the cookie should be reset or not.
If the user navigates away from the page but leaves it open, the cookie remains the same, even after the 30-minute window when the session has expired. If the user navigates back to that open page and completes actions on this page without reloading it, then those actions will be attached to the previous session ID, because the cookies haven’t been reset. An example of this is when the user places an item in their shopping cart, navigates away from the page, then returns later to complete their checkout.
This effect is more noticeable on Mobile due to auto-refreshing behavior on certain operating systems (particularly Apple’s Mobile Safari).
You have the
resetIdentity API call on a page of your site.
When a logged-in user visits this page, the resetIdentity API will temporarily create a new, anonymous user. When that user re-logs in (which resets their cookies), their identified again under the correct identifier. If the user never logs back in, or cookies expire, that temporary anonymous user will continue to exist within your dataset.
If this is happening, talk to your developer to re-evaluate your API configuration, or reach out to firstname.lastname@example.org.
Heap is not loaded on your landing page.
If Heap is loaded on other pages on your site, but not on the landing page, then referrers from the landing page will list your site’s domain. You can fix this by adding the Heap installation snippet to your landing page’s header block. See our web installation doc for complete steps.
Users are navigating/navigated (redirects) to new pages before Heap finishes loading, or before the document itself finishes loading.
To fix the former, make your JS synchronous and optimize the loading of stylesheets.
To fix the latter, if you are using a tag manager, load Heap with highest priority. If you are not using a tag manager or loading Heap in the body, update your app to load Heap in the directory.