2014-10-31 2 views
0

Я новичок в Google Analytics и поэтому просто хочу убедиться, что я помещаю все в нужные места и не нарушил никаких очевидных правил!Google Analytics analytics.js setup

У меня есть код аналитики ниже в пределах <head> теги:

<!-- Google Analytics --> 
<script> 
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ 
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 
})(window,document,'script','//www.google-analytics.com/analytics.js','ga'); 

ga('create', 'UA-XXXX-Y', 'auto'); 
ga('send', 'pageview'); 

</script> 
<!-- End Google Analytics --> 

Если бы я был тогда использовать следующий код, я мог поместить его в отдельный файл .js, так что я не должен вставить это на каждую страницу, на которой мне нужно отслеживать? А потом просто ссылку на файл .js, конечно.

var phoneNo = document.getElementById('headerPhone'); 
addListener(phoneNo, 'click', function() { 
    ga('send', 'event', 'phonenumber', 'click', 'header'); 
}); 
/** 
* Utility to wrap the different behaviors between W3C-compliant browsers 
* and IE when adding event handlers. 
* 
* @param {Object} element Object on which to attach the event listener. 
* @param {string} type A string representing the event type to listen for 
*  (e.g. load, click, etc.). 
* @param {function()} callback The function that receives the notification. 
*/ 
function addListener(element, type, callback) { 
if (element.addEventListener) element.addEventListener(type, callback); 
else if (element.attachEvent) element.attachEvent('on' + type, callback); 
} 

Кроме того, могу ли я опустить текст в многострочном комментарии?

Тогда я просто должен был бы поставить идентификатор на элементе, например:

<h3 id="headerPhone" onclick="goog_report_conversion('tel:01000 000000')">01000 000000</h3> 

Событие OnClick на выше для AdWords отслеживания так что игнорировать это.

Для уточнения вопросов, которые, по-видимому, не являются достаточно ясны:

1) Я правильно размещая вторую битый код в файл отдельного .js и связывая его ко всем страницам?

2) Могу ли я избавиться от многострочного комментария от второго бита кода?

3) Является ли третий бит кода правильным в сочетании со вторым битом кода для выполнения отслеживания? (То есть когда нажата кнопка <h3 id="headerPhone">, это вызовет выполнение второго бита кода?).

4) Я сделал какие-либо ошибки в самом коде?

+1

Что собственно вопрос? – neelsg

+0

1) Правильно ли я размещаю второй бит кода в отдельном файле .js и связывая его со всеми страницами? 2) Могу ли я избавиться от многострочного комментария от второго бита кода? 3) Правильно ли третий бит кода срабатывает для отслеживания? (Т. Е. 'Id' приведет к выполнению второго бита кода). 4) Я сделал какие-либо ошибки в самом коде? Я надеюсь, что, как вы должны были спросить, я делаю это правильно! –

ответ

0
  1. Это зависит от вас. Вы можете либо установить его во внешний JS-файл, либо в тело/голову страницы. Пока определения будут загружены до фактического использования, вы будете в безопасности.

  2. Естественно, это комментарий. Не нужно иметь его в производстве.

  3. Да. Событие GA кажется правильным. А также вызов функции.

  4. No.

+0

Будет ли я лучше всего ссылаться на внешний JS-файл в '', чтобы убедиться, что они загружены до их использования? –

+0

Несомненно. Но просто помните, что страница перестанет отображаться до загрузки JS-файла. –

+0

Я получаю следующее сообщение об ошибке консоли: нуля не является объект (оценка «element.addEventListener») (анонимных функций) Линии моего .js файл, он ссылается,: 'если (элемент ,addEventListener) element.addEventListener (тип, обратный вызов); ' –

Смежные вопросы