2017-02-07 10 views
0

У меня проблема с функцией ga(), когда я использую менеджер тэгов google.аналитика вставлена ​​в менеджер тегов, но ga() не работает

Я ввел менеджер тегов Google в свой скрипт. вот демонстрационный сценарий:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 
<head> 
 
<!-- Google Tag Manager --> 
 
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': 
 
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], 
 
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 
 
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); 
 
})(window,document,'script','dataLayer','GTM-00000'); 
 
</script> 
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
 
<title>Unbenanntes Dokument</title> 
 

 
</head> 
 

 
<body> 
 
<!-- Google Tag Manager (noscript) --> 
 
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-00000" 
 
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> 
 
<!-- End Google Tag Manager (noscript) --> 
 
<a href='#' onClick="ga('send', 'event', 'TESTBUTTON', 'klick', 'test1' ,1);">click</a> 
 
</body> 
 
</html>

если я нажимаю на ссылку я хотел бы, чтобы отслеживать события. но это не так. Аналитика показывает мне, что кто-то находится на странице, но не отслеживает клик.

затем я попытался вставить Google Analytics, а не Google менеджер тегов, как:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
 
<html xmlns="http://www.w3.org/1999/xhtml"> 
 
<head> 
 
<!-- Google Tag Manager --> 
 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
 
<title>Unbenanntes Dokument</title> 
 
<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','https://www.google-analytics.com/analytics.js','ga'); 
 

 
    ga('create', 'UA-0000000-0', 'auto'); 
 
    ga('send', 'pageview'); 
 

 
</script> 
 
</head> 
 

 
<body> 
 

 
<a href='#' onClick="ga('send', 'event', 'TESTBUTTON', 'klick', 'test1' ,1);">click</a> 
 
</body> 
 
</html>

С аналитикой он работает. Я добавил аналитика в мой менеджер тегов, поэтому я не понимаю, в чем проблема.

ответ

1

Если вы используете GTM, вам следует рассмотреть возможность удаления всего кода на странице GA, чтобы избежать этих проблем, но если это абсолютно необходимо, прочитайте. Когда вы используете GTM и создаете теги, GTM автоматически использует собственное внутреннее имя трекера (что-то вроде gtm22345677664) для каждого отдельного тега. Ваш другой код на странице, хотя и ссылается на объект ga, не использует одно из имен трекера, данное GTM, поэтому в некотором смысле возникает недопонимание и в некотором смысле «неназванное» (хотя технически оно все еще имеет имя, но для всех целей и задач, скажем так, нет). Ваш «неназванный» трекер отправляет данные в другое место. Чтобы исправить это, вам нужно сообщить тэгам GTM, чтобы они не использовали свое собственное соглашение об именах и не оставляли теги неназванными или использовали свои оригинальные имена. Для этого просто поставьте галочку в поле, которое говорит Set tracker name, но ничего не помещайте в коробку. Как только вы это сделаете, вы увидите, что ваш onpage tracker также начинает собирать данные.

Cf. Source 1, Source 2

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