Отправляем данные заказа в Google Analytics (PHP)
Добрый день.
Чаще всего данные в GA отправляются через JS. По опыту это не лучший вариант и ну совсем не удобный.
Поэтому, при поступлении новой заявки решено было сделать через Measurement Protocol. Полезная информация есть, например, здесь (за что ребятам спасибо).
Набросал простой класс и снабдил его подробными комментариями, думаю кому-то пригодиться.
Использовать можно где угодно: в своём сниппите или в плагине на событие «msOnCreateOrder».
Пример использования:
Код: ga.class.php
Важно: у меня этот класс гораздо шире (особенности проекта), это усечённый вариант и я его особо не тестировал, но должен работать нормально.
UPD: Посмотрел на более свежую голову: исправил 1 ошибку + немного оптимизировал код. По ссылке — обновлённый файл.
Чаще всего данные в GA отправляются через JS. По опыту это не лучший вариант и ну совсем не удобный.
Поэтому, при поступлении новой заявки решено было сделать через Measurement Protocol. Полезная информация есть, например, здесь (за что ребятам спасибо).
Набросал простой класс и снабдил его подробными комментариями, думаю кому-то пригодиться.
Использовать можно где угодно: в своём сниппите или в плагине на событие «msOnCreateOrder».
Пример использования:
if(include_once($modx->getOption('core_path').'/ga.class.php')) {
$GA = new GA($modx,$orderID);
$GA->action();
}
Код: ga.class.php
Важно: у меня этот класс гораздо шире (особенности проекта), это усечённый вариант и я его особо не тестировал, но должен работать нормально.
UPD: Посмотрел на более свежую голову: исправил 1 ошибку + немного оптимизировал код. По ссылке — обновлённый файл.
Поблагодарить автора
Отправить деньги
Комментарии: 15
Круто! И все же может лучше на гитхаб разместить класс?)
Надо бы )
Самому смешно, но руки не доходят отладить гит.
Кстати, можно же вообще компонент собрать и выложить бесплатно в макет.
Может у кого есть время?
Самому смешно, но руки не доходят отладить гит.
Кстати, можно же вообще компонент собрать и выложить бесплатно в макет.
Может у кого есть время?
Займусь, если дадите добро.
Разумеется: добро.
Ок. В ближайшие дни будет пакет.
Отлично!
Ну а кто-то, кому нечто особое нужно, заюзает класс дополнив его…
Ну а кто-то, кому нечто особое нужно, заюзает класс дополнив его…
Или даже собрать небольшой свободный компонент.
Пока писал ответ на предыдущий коммент, появилось это предложение )
А я наоборот ушел от отправки данных с помощью php в сторону js. При js гугл сам подхватывает нужные данные текущей сессии пользователя и, что самое важное, текущий 100% корректный гугл-id пользователя
Такой задачи не ставили, не могу сказать, насколько это важно.
Если будут данные, отпишусь.
Если будут данные, отпишусь.
Ну как же, а отслеживание рекламных активностей (по источнику перехода, по utm-меткам), привлеченные средства по этим же активностям, пути пользователя до заказа, кол-во дней с первого посещения до заказа и т.п. Всё, что нужно для эффективного маркетинга
Мы же разработчики. Маркетологи задачу поставили, мы реализовали.
Если будут новые вводные, возможно придётся вернуться к js, совсем не спорю )
Если будут новые вводные, возможно придётся вернуться к js, совсем не спорю )
Имейте ввиду ;)
Доки
developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce?hl=ru
Но я рекомендую сразу реализовывать расширенную эл. торговлю, т.к. только в ней можно отправлять транзакции для отказанных заказов
developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce?hl=ru
Доки
developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce?hl=ru
Но я рекомендую сразу реализовывать расширенную эл. торговлю, т.к. только в ней можно отправлять транзакции для отказанных заказов
developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce?hl=ru
Благодарю, лишним точно не будет!
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.