Analytics
Сейчас в сети: 551
Сейчас в сети: 551
Настройка целей, отслеживание электронной торговли, многоканальные последовательности и тд
Подсказки
star_border
Ответить

Внешние переходы с поддоменов

Студент ✭

Есть проблема с регистрацией внутренних переходов с поддоменов.

Несколько поддоменов регистировались как внешний трафик.

Попытались решить это с помощью кода:

https://docs.google.com/document/d/1pW4EelqTZIb4HWwMFcVR7S8teMxNoavZTG8tyZ5QE3w/edit

 

В результате наоборот все переходы стали внешние.

Где ошибка?

 

Спасибо

 

1 Ответ экспертаverified_user

Утвержденные решения
Лучший ответ.
Решение
Утверждено Марина (Админ сообщества)
сентября 2015

Здравствуйте!   Давайте разбирать Ваш код:   1. GA исполь...

Ведущий участник

Здравствуйте!

 

Давайте разбирать Ваш код:

 

1. GA использует 2 типа кода (universal analytics в расчет не беру): асинхронный и несаинхронный. Оба до сих пор работают, хотя последний уже официально не поддерживается. 

 

Ваш код отслеживания является комбинацией асинхронного и неасинхронного, что уже само по себе влияет на корректность работы счетчика.

 

2. Метод _setAllowHash уже не используется.

 

3. Методы для передачи для междоменного отслеживания стоят после _trackPageview (т.е. после отправления данных на сервер). Поэтому возникают проблемы с поддоменами.

 

В связи с данными замечаниями, предлагаю следующий код (асинхронный):

 

<script type="text/javascript">

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16674530-1']);

_gaq.push(['_setLocalRemoteServerMode']);

var rsrc=/mgd_src=(\d+)/ig.exec(document.URL);
if(rsrc != null) {
   _gaq.push(['_setCustomVar', 1, 'mgd_src', rsrc[1], 2]);
}

_gaq.push(['_setDomainName', 'yves-rocher.ru']);
_gaq.push(['_trackPageview']);

 

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src=('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

</script>

 

При желании, можно добавить _gaq.push(['_addIgnoredRef','yves-rocher.ru']); после _gaq.push(['_setDomainName', 'yves-rocher.ru']);. Есть мнения, что такая конструкция более корректная.

 

Удачи!

 

-------
С уважением, Владимир

Просмотреть решение в исходном сообщении


Все ответы
Лучший ответ.
Решение
Утверждено Марина (Админ сообщества)
сентября 2015

Здравствуйте!   Давайте разбирать Ваш код:   1. GA исполь...

Ведущий участник

Здравствуйте!

 

Давайте разбирать Ваш код:

 

1. GA использует 2 типа кода (universal analytics в расчет не беру): асинхронный и несаинхронный. Оба до сих пор работают, хотя последний уже официально не поддерживается. 

 

Ваш код отслеживания является комбинацией асинхронного и неасинхронного, что уже само по себе влияет на корректность работы счетчика.

 

2. Метод _setAllowHash уже не используется.

 

3. Методы для передачи для междоменного отслеживания стоят после _trackPageview (т.е. после отправления данных на сервер). Поэтому возникают проблемы с поддоменами.

 

В связи с данными замечаниями, предлагаю следующий код (асинхронный):

 

<script type="text/javascript">

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-16674530-1']);

_gaq.push(['_setLocalRemoteServerMode']);

var rsrc=/mgd_src=(\d+)/ig.exec(document.URL);
if(rsrc != null) {
   _gaq.push(['_setCustomVar', 1, 'mgd_src', rsrc[1], 2]);
}

_gaq.push(['_setDomainName', 'yves-rocher.ru']);
_gaq.push(['_trackPageview']);

 

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src=('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

</script>

 

При желании, можно добавить _gaq.push(['_addIgnoredRef','yves-rocher.ru']); после _gaq.push(['_setDomainName', 'yves-rocher.ru']);. Есть мнения, что такая конструкция более корректная.

 

Удачи!

 

-------
С уважением, Владимир