Nano Hash - криптовалюты, майнинг, программирование

Google Analytics, похоже, не срабатывает

Я пытался просмотреть множество тем вокруг GA, и мне кажется, что я сделал то, что требовалось. Мой сайт состоит из HTML5 и angular.js, страница структурирована примерно следующим образом (через ng-include)

index.html
|-header
--|-navigation
|-content
|-footer

при нажатии на ссылку из панели навигации содержимое изменится (частичная страница в angular), верхний и нижний колонтитулы останутся прежними.

Последний тег скрипта в моем ‹ head > выглядит следующим образом (внутри index.html)

<script type="text/javascript">
        var globalLanguage = 'en';

        // GA tracking variable
        var _gaq = [['_setAccount', 'UA-XXXXXXXX-X'], ['_trackPageview']];
</script>

и в нижней части index.html, перед закрывающим тегом ‹/body >:

<script type="text/javascript">
    (function(d, t) {
        var g = d.createElement(t), s = d.getElementsByTagName(t)[0];
        g.async = 1;
        g.src = '//www.google-analytics.com/ga.js';
        g.type = 'text/javascript';
        s.parentNode.insertBefore(g, s);
    }(document, 'script'));
</script>

Все мои функции контроллера angular вызывают общую функцию, как описано в разделе Tracking Google Analytics. Просмотры страниц с помощью Angular.js

function gaqPageView($scope, $location, $window) {
    console.log('triggering google analytics');
    $scope.$on('$viewContentLoaded', function(event) {
        console.log('event triggered, tracking: ' + $location.path());
        $window._gaq.push([ '_trackPageview', $location.path() ]);
    });
}

Я вижу операторы журнала консоли, в консоли тоже нет ошибок. Когда я распечатываю содержимое _gaq, я получаю массив, который растет по мере того, как я перемещаюсь по странице (что означает, что мой вызов _gaq.push работает нормально).

Однако в моем сетевом вызове (в инструменте разработчика Chrome) я не вижу никакого вызова _utm.gif в Google Analytics. (Основы отладки кода Google Analytics: отладчик GA Chrome и другие инструменты).

Что мне здесь не хватает? похоже, что аналитика Google не запускает событие и не сообщает о нем?

Редактировать: я почти уверен, что здесь я глуп, сама переменная _gaq представляет собой обычный массив javascript, поэтому, конечно, _gaq.push работает просто отлично. Но чего мне не хватает, чтобы заставить Google Analytics включиться и начать отправлять содержимое этого _gaq?


  • _gaq должен быть заменен объектом при загрузке ga.js get — если нет, это подразумевает проблему с функцией в конце страницы, которая должна его вставить. Возможно, добавьте тег console.log внутри функции, чтобы убедиться, что она работает. Вы также должны увидеть, что скрипт ga.js был вставлен, просмотрев элементы страницы в инструментах Chrome Dev. 14.04.2013
  • Я вижу, что «скрипт» для ga.js добавлен, и запрос на получение ga.js от Google извлекает javascript. однако сам объект _gaq представляет собой обычный массив. 14.04.2013

Ответы:


1

В настоящее время вы используете свой сервер на локальном хосте или в имени интрасети без «.» -- отслеживающий GIF-запрос по умолчанию не выполняется для серверов localhost.

См. раздел GIF-запрос Google Analytics не отправлен.


Другая идея: обычно _gaq определяется как массив, только если он еще не определен. Если ga.js уже выполнен, возможно, вы перезаписываете объект _gaq. Это маловероятно из вашей организации кода, но...

Попробуйте заменить

var _gaq = [['_setAccount', 'UA-XXXXXXXX-X'], ['_trackPageview']];

с участием

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-X'], ['_trackPageview']);
14.04.2013
  • Пробовал на реальном домене (он размещен на движке приложения) 14.04.2013
  • Пробовал ваше редактирование (чтобы убедиться, что _gaq не заменяет существующий объект), не работает. Установил инструмент Chrome Analytic Debugger - вдруг начинает работать. Выключил отладчик, все равно работает... странно 16.04.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..