Воронка по Красинскому

Самая корректная воронка в GA— это воронка по когортам.

Мы смотрим на пользователей, а не на сеансы.

Вот шаблон воронки

Объясню:

users::condition::ga:sessionCount==1;dateOfSession<>2017-04-01_2017-04-30;users::sequence::ga:eventAction==Step1_buy;->>ga:eventAction==Step2_buy;->>ga:eventAction==Step3_order;ga:transactions>0

users::condition:: — условие

dateOfSession<>2017-04-01_2017-04-30 — аналог настройки в сегментов сеанс между. Максимально 30 дней

users::sequence:: — последовательности в сегментах

Делал по видео:

 

 

Полезное из выступлений Ильи Красницкого

Конспект

1 . Если мы наблюдаем, что конверсия из заказа в подтвержденный заказ примерно по каналам везде одинакова, то ищите проблемы в отделе продаж.

2. С рекламными каналами/источниками/кампаниями существует всего 3 управленческих решения:

  • Отключить если не сходится совсем(в том числе и по ассоцииоравному ROI)
  • Донастроить/Доработать
  • Не трогать: работает и работает
  • Усилить (поднять ставки, расширить семант)

3. Очень важно расскладывать всю экономику бизнеса на мелкие кусочки и сводить в таблице:

4. Оцениваем кампании также и по ассоциированному доходу

5. ДОКАПЫВАЙСЯ ДО СУТИ

6. Как принять решения после аналитики?

 

Саммари по 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…

Советы по GTM

Использование DOM элементов (document ready)

Если вы в своём коде собираетесь обращаться к элементам которые находятся на страницы (кнопки, формы, поля и пр.), то свой код нужно оборачивать в такую конструкцию:

$(document).on('ready', function(){
    тут_вставьте_ваш_код
});

Это даст гарантию того, что ваш код не сработает раньше, чем загрузятся элементы DOM (т.е. страница).

 

Сохранность кода (замыкание)

При интеграции кода GTM в глобавльную обрасть видимости попадают все ваши объявленные переменные, что может повлечь перезатирания переменных, которые используются на сайте. Для экранирования вашего кода стоит использывать замыкания. (https://developer.mozilla.org/ru/docs/Web/JavaScript/Closures)

(function(){
    тут_вставьте_ваш_код
})();

Узнать текущую и предшествующиую страницуwindow.location + document.referer

  • Чтобы узнать с какой страницы пришел пользователь стоит использовать глобальную переменную document.referrer
  • Для того, чтобы узнать на какой странице сейчас находится пользователь стоит использовать переменную window.location (http://javascript.ru/window-location):

<tbody> </tbody>

Свойство Описание Пример
hash часть URL, которая идет после символа решетки ‘#’, включая символ ‘#’ #test
host хост и порт www.google.com:80
href весь URL http://www.google.com:80/search?q=javascript#test
hostname хост (без порта) www.google.com
pathname  строка пути (относительно хоста) /search
port номер порта 80
protocol протокол http:
search часть адреса после символа ?, включая символ ? ?q=javascript

Пример:

dataLayer.push({'event': 'GAevent', 'eventCategory': 'категория', 'eventAction': 'действие', 'eventLabel': window.location.href});

Проверять есть ли jQuery на странице

Иногда разработчики сайтов не используют jQuery, поэтому стоит проверить загружен ли он на странице.
Для этого зайдите в консоль и в строке ввода вставьте jQuery. Если вывелось Uncaught ReferenceError: jQuery is not defined(…), то значит jQuery не подключен на странице и стоит его подключить или попросить разработчиков.

Если же jQuery подключен, но ваш код срабатывает раньше чем он загружается, то можно использовать функцию window.onload:

window.onload = function() {
    тут_вставьте_ваш_код
}

Как работаю отчеты в CubeLine

  1. С помощью PQ забираются данные из систем и приводятся в вид: Кампания, Дата, Показы, Клики, Расход, Система
  2. Также выкачивается GA: Система, Кампания, Дата, Сессии,Отказы и т.д. туда дальше
  3. Присоединяем таблички система друг к другу с помощью функции PQ — «добавить запросы»
  4. С помощью функции PQ — «добавить запросы» мы «присоединяем» таблички GA и контекста друг к другу. В данных GA в показах/кликах/расходах будет стоять null и наоборот.
  5. С помощью файла словаря к полученной табличке присоединяются различные сегменты: поиск/рся и т.д. Связываем с помощью функции PQ — «Слияние запросов», ключ указываем — кампания|система. Идет внутренние соединение (только совпадающие строки). Вообще, в файл словарь попадают название всех кампаний из систем, GA и удаляются дубликаты.
  6. Из этих данных строятся сводные таблички. Т.е. сводная таблица «схлопывает» те сегменты, что мы указали в словаре.

Конспект курса Stepic Web Технологии

Internet — глобальная сеть передачи данных, изначально создавалась для научного сообщества.

Протоколы:

HTTP — основной протокол передачи данных. Служит для передачи гипертекстовых страничек.

Из чего состоит URL:

1

Т.е. по сути, адрес сайта можно указать чистым ip адресом.

Web клиенты

Основной веб клиент — браузер.

2016-10-09_14h14_13

*Доп. ресурсы — это, например, скрипты или стили css.

Атрибуты форм GET и POST

GET — получаем данные. Например это будет форма поисковой строки на сайте.

POST — отправляем данные. Например это форма контактов.

Сетевые протоколы

2

Более подробно и в фановом виде — https://howdns.works/ep1/

Архитектура Фронтенд и Бэкенд

2016-10-09_14h24_32

 

 

 

Как настроить USER ID

Статья SIMO

В чем фишка: создаем USER ID, который будет записываться в вечную куку. Эта кука будет активироваться, даже если пользователь не залогинился! Передаем эту куку в кастом деменшен. В качестве уникального значения куки можно использовать идентификатор договора,заказа, id личного кабинета.

Поехали:

  1. Создаем Data Layer Variable {{uid in datalayer}}. Значение дата лейра — userId
  2. Просим разработчика сделать так, чтобы при входе в личный кабинет(заказе) в даталейр пушился userID:
    dataLayer.push({
      ‘userId’ : ‘AAA-123’,
      ‘event’ : ‘authentication’

    });

     

  3. Создаем 1st Party Cookie uid in cookie. Имя куки userId
  4. Создаем Custom JavaScript Variable. Назовем эту переменную user id. В коде будет так:function() {
    if ({{uid in datalayer}}) {
    var d = new Date();
    d.setTime(d.getTime()+1000*60*60*24*365*2);
    var expires = ‘expires=’+d.toGMTString();
    document.cookie = ‘userId=’ + {{uid in datalayer}} + ‘; ‘+expires+’; path=/’;
    return {{uid in datalayer}};
    } else if ({{uid in cookie}}) {
    return {{uid in cookie}};
    }
    return;
    }5. Создаем поле в главном теге UA:


    А также кастомный деменшен:

    1472633813581

Профит!