Атрибуция

Новых считаем по первому клику, старых — как хотите. Для новых реально важен первый канал, откуда он приплыл

Проблема остается в том, что масштабировать каналы retention почти невозможно. Здесь мне кажется позиция Тимофея Шиколенкова о том, что каналы retention не должны впрямую участвовать в дележе стоимости конверсии согласно мультиканальной атрибуции логичной

Только в пределах выбранной модели атрибуции, в итоге все равно всегда есть погрешность ) Я к атрибуции отнушусь больше как к теории, потому что для разных источников и задач — разная атрибуция. Вполне очевидно что контекст интересен как источник новых клиентов, а любой ретаргетинг — для ретеншена и удержания. Но в одну модель это строить нельзя, потому что данные все равно будут кривые. Любое занижение эффективности первого клика приведет к занижению кол-ва новых клиентов и снижению общей выручки в будущем )
При этом в русском екоме до сих пор на первый клик все кладут, а топовые агентства строят свои отчеты по ласт-клику

Зависит от типичного сценария привлечения и конверсии клиента. На мой взгляд самые ценные переходы — первый и последний. В Analytics есть атрибуция, 40% на первый, 40% на последний, и 20% равномерно на все остальные. Называется «Атрибуция с привязкой к позиции»: https://support.google.com/analytics/answer/1665189?hl=ru

Снова про MP

в GA можно и нужно передавать факт заказа. На сколько я знаю на сегодняшней момент статус заказа и отмены заказа, которые происходят с задержкой (когда человека не было на сайте, а менеджер через некоторое время или дни меняет статусы заказа или отменяет заказ) стабильно приводят к тому, что в GA уходит новая транзакция и записывается на последний не прямой канал.

Например, пользователь пришле из yandex / cpc, сделал заказ. Ему позвонил на след. день менеджер и изменил статус заказа. Пользователь, например, вернулся по ретаргетингу по google / cpc или другим способом на сайт на след. день. Еще через день менеджер опять позвонил и заказ по каким-то причинам отменился. в GA уйдет транзакция и запишеться на google / cpc.
на всякий для всех написал, так как это очень частотный вопрос.
Если кто знает придумает другой способ, с удовольствием узнаю (видел порядка 5-7 архитектур и способов все не работающие, в том числе склеивание через Import Data protocol, но с удовольствием узнаю, если я что-то не учитываю или появился новый способ)

Гугл делает сервис аналитики для Adwords, Googl Analytics не создавался как инструмент бизнес или продуктовой аналитики
Он ничего не знает про юнит-экономику, ARPU, ARPPU, все еще работает в основном по сессиям (хотя API 4 года как переводят на user-base аналитику и последние новости в блоге радуют). GA — в первую очередь API first разработку делают и они ок работать с доп. сервисами — Гуглу это выгодно иначе пользователи передут на другие user base системы аналитики и гугл потеряет возможность использовать данные для анализа что люди ищут и для продажи Adwords
Вместе с тем GA действительно улучшается, просто очень медлено.
edited
Сложного в MP полно, объясните разработчикам (хотя это есть в справке), почему при отправке eventAction с не целым eventValue (например 2.0 — число почти целое, но просто разработчик тип не проверил) в ответ на post запрос вы получите 200 ОК, но событие не будет записана
объясните что питон библиотеки, которые разработчики правильно берут с гитхаба для работы с MP часто записывают свой user-agent и по этой причине легко увидеть в GA что транзакции были отправлены с браузера или устройства: Python
Объясните чем “” отличается от (not set), и почему если использовать Core API вы выгружаете данные с запросом с dimension=ga:sourceMedium, ga:campaign, ga:keyword — вы получите меньше строчек чем через dimension=ga:sourceMedium, ga:campaign — потому что пустые “” keyword не передадуться в отличие от (not set)
ну и реально еще 50 таких примеров, могу в личке рассказать.
А еще попробуйте своими силами передавать транзакции, которые в CRM были получены через jivosite, calltracking и т.д. да еще правильно положив их в GA — практика показывает, что у 90 из 100 компаний это не получается или стоит очень дорого
и нафиг ломается и падает точность статистики, если кто-то из маркетологов забыл и выложил лендинг с неверно поставленным счетчиком через ga_clientID

Или поставил счетчик через GTM (еще недавно там погрешность была 10-15% при записи ga_clientID — теперь с помощью custom Task можно ставить счетчик через GTM почти без погрешности)

Дебаг с помощью Google Tag Assistant

Врубаем record: http://joxi.ru/bmo6zYouxe5j4r и выполняем нужные действия, а потом смотрим отчет: http://joxi.ru/V2VRL5nSxRza72
Очень удобно смотреть что записалось в кастом деменшен или какая текущая кампания/канал. Также можно тестить кроссдоменное отслеживание.

Как исключать источники перехода

https://support.google.com/analytics/answer/2795830?hl=ru

Фишка в том, что там в поле фильтр по содержит:

В списке исключаемых источников перехода используется вариант соответствия «СОДЕРЖИТ». Например, если ввести example.com, трафик со страницы sales.example.com также будет исключаться (поскольку доменное имя содержит example.com).

 

Рефлексия по задаче

Если использовать метрику users и date одновременно, то метрика users будет завышена. Это справедливо при нескольких вызовах API.

Как делать сводные aggregate(sessions ~ sourceMedium, data =ga_data, FUN = sum)

Команда .libPaths() покажет папки где хранятся пакеты. В первую из них можно зайти и удалить пакет.

Скачивая через devtools ты скачиваешь последнюю версию. Т.е. не стабильную.

Пост о статистической значимости

Что значит статистическая значимость.
«Изменение позволило достичь повышения конверсии на 20% с статистической значимостью 90%». К сожалению, это утверждение вовсе не равнозначно другому, очень похожему: «Шансы повысить конверсию на 20% составляют 90%». Так о чем же речь на самом деле?

90% — это вероятность проявления каких бы то ни было изменений в конверсии. Другими словами, если бы мы проводили десять А/B-тестов, чтобы получить этот результат, и решили бы проводить все десять до бесконечности, то один из них (так как вероятность изменений 90%, то 10% остаётся на неизменный исход), вероятно, закончился бы приближением результата «после теста» к первоначальной конверсии – то есть, без изменений. Из остающихся девяти тестов некоторые могли бы показать рост, составляющий куда меньше 20%. В других результат мог бы превысить эту планку.

Т.е. если говорить про p- value, то это вероятность получить такие же или более выраженные отличия. Чем больше уровень p-value, тем больше шанс, что в последующих тестах мы получим более отличающиеся значения. Вот так, никакой гарантии!

Как тестировать изменения в относительных величинах(конверсии, например)

Любую конверсию можно представить вот так:

Это так называемый биномиальный эксперимент.

Биномиальный эксперимент состоит из n испытаний, каждое из которых может
принимать одно из двух значений: «успех» или «неудача».
Каждое испытание должно быть независимым — исход предыдущего испытания не влияет на результат следующего. Вероятность успеха одинакова для каждого испытания. В примере с монетами каждое испытание — подбрасывание монеты. Успехом мы считаем выпадение решки. Неудачей — выпадение орла.

Можно проверить в калькуляторе http://getdatadriven.com/ab-significance-test Там используется односторонний критерий (one-sided test) t.test в R

Как тестировать изменения AOV

Скопировать ревень для транзакций для двух вариантов:

Вставить в калькулятор http://www.evanmiller.org/ab-testing/t-test.html

 

 

 

Регулярки и ругулярки в JS

Нам нужно отследить с помощью регулярки ссылку https://tver.petrovich.ru/catalog/18410/164371/

Как это сделать обычной регуляркой

/catalog/.+/\d+
/catalog/.+/[0-9]+
/catalog/[0-9]+/[0-9]+
/catalog/\d+/\d+

. точка означает любой символ

+ означает один или более

Т.е. запись .+ ищет любые символы до следующего элемента регулярки.

\d любая цифра

\d+ находит числа – последовательности из 1 или более цифр:

[0-9] последовательность цифр, вообще тоже самое что и \d Вообще так указываются последовательности, например [A-Za-z0-9] ищет все буквы в любом регистре и цифры, а вот так наоборот не ищет [^A-Za-z0-9]

Как это сделать регуляркой в JS

Слеши "/" говорят JavaScript о том, что это регулярное выражение. Они играют здесь ту же роль, что и кавычки для обозначения строк. Т.е. ругулярку нужно писать в /регулярка/ И из это возникает необходимость экранировать /, вот так \/

Вот так ищется нужный url:

if (window.location.href.search(/catalog\/[0-9]+\/[0-9]+/) > 1){…..}

Подробнее

https://learn.javascript.ru/regular-expressions-javascript

http://www.regextester.com/

 

 

 

Новый/вернувшийся пользователь в GA

Новый/вернувшийся пользователь в GA считается по куке. Если в рассматриваемый период GA увидит у чувака новую куку, то он запишит его в новые. Если у пользователя уже есть кука, то он запишит его в вернувшиеся.

Вася, Таня и Петя посещают сайт в течение недели следующим образом:
1. Вася заходит на сайт впервые и делает это 2 раза за всю неделю.
2. Таня заходит на сайт не первый раз и в течение недели делает это дважды.
3. Петя заходит на сайт впервые и делает это один раз за всю неделю.
Тогда пользователей за эту неделю будет 3 (Вася, Таня и Петя), вернувшихся — 2, новых — 2. Число сеансов на сайт при этом — 5.

Вот поэтому сумма вернувшихся и новых не равна метрике пользователи:

Советы по EE от Simo Ahava

  1. Only the most recent ecommerce object is included in the hit!

2. Важно сохранять одинаковость(согласованность) данных на всех этапах воронки. Т.е. одинаковые названия товаров, одинаковые названия категорий. Это важно потому, что EE построен на хитах.

Enhanced Ecommerce is comprised almost entirely of hit-level interactions. This means that every Enhanced Ecommerce payload sent to Google Analytics is unique, and does not persists its information across subsequent hits.

 

3. Все в EE строится на хитах. Все, кроме  листов. Последний лист на который кликнул пользователь приравнивается к листу с которого пользователь совершил транзакцию.

Product lists and promotions have an attribution mechanism, where the last list or promotion that the user interacted with before a purchase within the same session is the one which gets full credit for the purchase.

Статья