CSS селекторы

SELECTOR DESCRIPTION
.thisclass Matches if element has class “thisclass”
.thisclass.thatclass Matches if element has class “thisclass” and class “thatclass”
#thisid Matches if element has ID “thisid”
#main .navlink Matches if element has class “navlink” and is a descendant of an element with the ID “main”
div#main > .navlink Matches if element has class “navlink” and is the direct child of a DIV element with the ID “main”
:checked Matches if element is checked (radio button or checkbox)
[data-title*=”chairman mao”] Matches if element has attribute “data-title” with the string “chairman mao” somewhere in its value
a[href$=”.pdf”] Matches if element is a link (A) with a HREF attribute that ends with “.pdf”
.contactmail:only-child Matches if element has class “contactmail” and is the only child of its parent

Источник: https://www.simoahava.com/analytics/matches-css-selector-operator-in-gtm-triggers/

 

cookieDomain : auto или Субдоменное отслеживание

Проблема:

However, if the visitor first visits test.simoahava.com, and then moves to www.simoahava.com, these two domains will have different _ga cookies, and thus different Client IDs, and thus the user will be a different user with a new session!

Вот пример:

https://screenpresso.com/=DSBic

https://screenpresso.com/=eTsOf

Решение:

 

Почему это исправит ситуацию:

The answer is in the cookieDomain setting. When you set cookieDomain to auto, the following will happen with a (fictional) domain like www.simoahava.co.uk:

GA tries to write the cookie on .co.uk, which is the first possible root domain candidate. This fails because the browser is not authorized to write a cookie on a top-level domain like that.
Next, GA tries to write the cookie on .simoahava.co.uk, which is the next possible root domain candidate. This works because that’s a valid domain to write the cookie on.

Пользовательские переменные в Google Tag Manager

http://prometriki.ru/polzovatelskie-peremennie-v-google-tag-manager-chast-2/

Тип Переменная JavaScript

Принимает значение переменной JavaScript, имя которой указано в поле Имя глобальной переменной

Тип Пользовательское событие

Принимает значение, равное текущему значению переменной event.

Тип Собственный код JavaScript

Один из самых полезных типов переменных, указав который можно “написать” собственную переменную на языке JavaScript, в зависимости от различных условий. Обязательно содержимое макроса должно быть заключено в конструкцию вида:

function(){
ВАШ КОД НА JAVASCRIPT
return ОДНА ИЗ ПЕРЕМЕННЫХ ИСПОЛЬЗОВАВШИХСЯ ВЫШЕ;
}

Тип Таблица поиска

Также один из полезнейших типов переменных, который позволяет избежать использование конструкций if … else, а также switch. Поскольку лучше один раз увидеть, подготовил изображение с комментариями, думаю, что это наиболее удобный вариант описывающий логику работы переменной:

 

Тип URL

Это переменная для работы с различными URL. Каждый URL описывается следующим образом:

 

О dataLayer

Итак, начнем с главного – dataLayer это название переменной JavaScript, которая служит для передачи данных, которые Google Tag Manager не может получить сам, но они необходимы ему для работы, такая переменная называется уровнем данных.

С одной стороны, это массив (об этом говорят квадратные скобки и сам метод push()). С другой стороны – это объект (почему нет?). Ведь у него есть свойства и методы.

dataLayer.push(); Конструкция push() предназначена для добавления значения в массив, не более.

Саммари по MP

  1. Сохранять источник/канал/ключевое слово/объяву чтобы источник не перезатирался
  2. Используем ni=1, чтобы не плодить новый сеанс
  3. Нужно хранить ip, и User-Agent пользователя и передавать их в теле запроса.

    В самой справке об этом тоже немного упоминается:  https://developers.google.com/analytics/devguides/collection/protocol/v1/reference?hl=ru#post
    Вот параметры, которые позволяют переопределить ip и user-agent:  https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters?hl=ru#uip и https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters?hl=ru#ua

  4. Использовать POST запрос

Главное про MP

Проблемы MP :

  1. если у посетителя были заходы со смартфона, то после выполнения запроса последний заход становится с desktop
  2.  если CID клиента не найден в GA, то об этом нет какого-то оповещения, источник трафика отображается просто как прямой заход
  3. при отправке MP создается новая сессия.
  4. Если специально в запросе МР не указывать источник, то он не перезапишется. Если же пользователь за это время сам сменил источник то транзакция будет отнесена к новому источнику. Присваивается последний не прямой переход
  5. Можно увеличить время сеанса, но уверена, что время ожидания кампании решит проблему со сменой источника. Это будет справедливо, если пользователь затем зайдет по прямому трафику. А если по объявлению из другой кампании, или из органики, или с другого сайта, то, мне кажется, это не поможет.
  6. Если не указывать cn, cm и cs, то сессия примет источник и канал предыдущей непрямой сессии. В параметрах MP всегда передавать источник канал, ключевое слово и т.д. А то перезатерется
  7. Уже достаточно давно если послать в течение одной сессии 2 одинаковые транзакции, то Google их будет считать одной. Если ты подождешь 30 минут или закроешь сессиию/начнешь сессию с другого источника, то транзакций будет в GA две, хоть и совпадают все остальные параметры.
  8. Убирать галку фильтрации ботов Exclude all hits from known bots and spiders
  9. Custom dimension должен быть user scope, тогда и product метрики сегментироваться будут
  10. Лучше передавать pageview, чтобы например транзакцию и все предыдущие шаги представить в виде воронки для целей.
  11. Если отправить запрос с событием и ni=1 с отсутствием других активных сессий пользователя, сессия не создастся, а событие передастся.
  12. нужно хранить ip, и User-Agent пользователя и передавать их в теле запроса,чтобы корректно определялся девайс и т.д. и т.п. В самой справке об этом тоже немного упоминается: https://developers.google.com/…/protocol/v1/reference…Вот параметры, которые позволяют переопределить ip и user-agent: https://developers.google.com/…/protocol/v1/parameters…
    https://developers.google.com/…/protocol/v1/parameters…