Отправляем данные заказа в 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
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Самому смешно, но руки не доходят отладить гит.
Кстати, можно же вообще компонент собрать и выложить бесплатно в макет.
Может у кого есть время?
Ну а кто-то, кому нечто особое нужно, заюзает класс дополнив его…
Если будут данные, отпишусь.
Если будут новые вводные, возможно придётся вернуться к js, совсем не спорю )
Доки
developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce?hl=ru
Но я рекомендую сразу реализовывать расширенную эл. торговлю, т.к. только в ней можно отправлять транзакции для отказанных заказов
developers.google.com/analytics/devguides/collection/analyticsjs/enhanced-ecommerce?hl=ru