Отправляем данные заказа в 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
                Благодарю, лишним точно не будет!            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.