簡體   English   中英

為什么Google Analytics(分析)事件不觸發/保存?

[英]Why Isn't Google Analytics Event Firing/Saving?

我已經將Google Analytics(分析)跟蹤器加載到iFrame中:

  (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-my-id-here');
  ga('set', 'location', 'http://foo.com/bar');
  ga('set', 'title', 'Awesome');

  ga('send', 'pageview');

我也有自定義Javascript試圖跟蹤同一頁面上富客戶端應用程序中的事件,該應用程序引用了上面的ga實例,並嘗試發送事件:

ga('send', 'event', 'my_category', 'my_event', 'my_value');

加載頁面時,我看到初始瀏覽量已正確跟蹤。 當我單擊並啟動自定義事件跟蹤時,JavaScript將執行並且不會引發錯誤。 它還不注冊任何事件。

確保您要在網頁摘要之后嘗試調用的頁面已加載analytics.js(如果位於iframe中)

ga('send', 'event', 'my_category', 'my_event', 'my_value');

該問題最終成為JavaScript作用域的問題。

僅當所有調用都在同一Javascript范圍內適當時, analytics.js應用程序才能工作。 我試圖在其他頁面范圍內觸發GA事件(由於嵌入式JS應用和iFrame,這很復雜)。

解決方案如下:

<script type="text/javascript">
  (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-my-id');
  ga('set', 'hostname', 'awesome.com');
  ga('set', 'location', '/path/to/awesome');
  ga('set', 'referrer', 'REFERRER_VALUE');
  ga('set', 'title', 'Awesome App');

  ga('send', 'pageview');

  window.trackGAEvent = function(eventName, value) {
    ga('send', 'event', 'awesome_app', eventName, value);
  }
</script>

訣竅是封裝ga事件send調用。 我可以通過深入研究DOM在其他上下文中調用此方法,但不能在適當的上下文外部直接調用GA應用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM