FAQ about traffic sources

  1. Why isn't data being collected on ad systems?
  2. Why is there a lot of direct traffic to the site?
  3. How can I find out where internal traffic is coming from?
  4. Why do my Yandex.Metrica reports show a lot of traffic with the source “Unknown”?
  5. Why isn't traffic from certain sites registered?

Why isn't data being collected on ad systems?

To display information about Yandex.Direct campaigns in Yandex.Metrica reports: In Yandex.Direct, go to the Edit campaign page. Under Yandex.Metrica tags, select the tag installed on your site.

To collect data from other ad systems, you must use tags.

Why is there a lot of direct traffic to the site?

  • This traffic could have been generated by robots. You can see information about robot sessions in the Robots report under the Monitoring group. If you have discovered surges of unnatural traffic in the Robots report and you have reason to believe that this situation will reoccur, we recommend enabling robot filtering using strict filters and behavior.
  • It's possible that this traffic came from sites that use the HTTPS protocol, so the referrer wan't transmitted. In this case, we recommend using the utm_referrer tag.

How can I find out where internal traffic is coming from?

Formally, a session is labeled as Internal traffic when the session begins with a click from a page on the domain that is specified as the site's domain or additional domain in the tag settings. For example, the tag settings list the site address http://mysite.example/. The session starts from the page http://mysite.example/page1.html, and the click wasn't made from an external source, but from a page on the same site, such as http://mysite.example/contacts.html (in other words, the page contacts.html was identified as the referrer when going to page1.html).

There are several reasons why this situation may occur:

  • The user navigated to a page (contacts.html in this case), but didn't perform any actions on the site for the duration of the time set as the session timeout in the tag settings (by default, this is 30 minutes). The user's next click on the site (to page1.html) is a new session, but the source is the same site.


    One possibility is to increase the session timeout. On the other hand, first you need to determine the usage patterns for your site. Let's look at an example with email (Yandex.Mail).

    The user logged in, checked email, and left the page open in the browser. An hour later, the user came back and checked email again, then replied to messages. In this case, it wouldn't be correct to combine all the user's actions in a single session. There really were multiple sessions on the site. So the presence of internal traffic is an indicator of the site's usage patterns.

  • A user followed a link from an external source to a page that doesn't have a tag (for instance, contacts.html), then immediately (during the same session) navigated to a page with a tag (in this case, page1.html). This means that two conditions are met: the session starts from page1.html (because Yandex.Metrica doesn't have data about the contacts.html pageview due to the absence of the tag on this page), but the page the user navigated from (contacts.html) belongs to the same site that is specified in the tag settings (http://mysite.example/).


    We recommend installing the Yandex.Metrica tag on the page. In this case, it may be difficult to tell which page is missing the tag. You can use segmentation to help you find it.

Why do my Yandex.Metrica reports show a lot of traffic with the source “Unknown”?

This situation usually occurs if the code snippet is installed incorrectly (the part of the code that should be inside the <noscript> tag is located outside of this tag).

Why isn't traffic from certain sites registered?

More and more sites are switching to secure HTTPS connections. At the same time, those sites that haven't switched to secure connections yet have a growing percentage of direct traffic. From a technical point of view, direct traffic represents sessions on your site when the user's browser didn't pass the HTTP Referer header. This header normally contains the URL of the previous page that the user navigated to your site from. If this field is missing, it means there wasn't a previous page. For example, the user entered the URL in the browser's address bar.

The W3C (World Wide Web Consortium) has published a Referrer Policy, which contains recommendations on transmitting this header: the referrer should be transmitted when navigating from HTTP to any type of site, and from HTTPS to HTTPS, but the referrer isn't sent when going from HTTPS to HTTP. This means that if you leave the secure loop of HTTPS sites, the browser doesn't openly transmit the URL of the last page you visited in unencrypted format.

In practice, this means the following for site owners: if your site uses HTTP, you won't see the traffic source if this source uses a secured HTTPS connection.


We recommend switching your site to a secured connection. You can get an encryption certificate for free through the Let's Encrypt project, which is a non-profit certification center supported by many prominent representatives of the internet industry. Instructions for switching to HTTPS

If you own a secured internet resource but you want the Referer header to always be transmitted for traffic from your site even when going to unsecured sites, you can put special markup on the site's pages that link to unsecured resources. For more information about how to mark pages, refer to the “Referrer Policy” document (see the section Referrer Policy Delivery). According to the data of the Can I use project, this link markup is already supported by over half of the browsers in use.