在闪亮的应用中嵌入Google分析跟踪代码

时间:2018-05-26 10:55:36

标签: r google-analytics shiny

我一直在使用Google分析来跟踪闪亮的网络应用上的活动,使用我ui.R顶部的以下内容:

shinyUI(fluidPage(
    tags$head(HTML(
        "<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', 'XXXXXXX', 'auto');
        ga('send', 'pageview');

        </script>"
      )),
...
)

但是,我最近注册了一个新应用,我从Google Analytics获得的跟踪代码是:

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=XXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'XXXXX');
</script>

按照RStudio's条提示,我将其保存为google-analytics.js并取代tags$head(HTML("..."))我已:

includeScript("google-analytics.js")

然而,这不起作用。上述链接的说明如下:

  

警告:includeScript函数将脚本的内容放在一对脚本标记中。如果您将Javascript代码复制并粘贴到.js文件中,请务必删除这些标记

我已尝试删除<script></script>,以及围绕async src="https://www.googletagmanager.com/gtag/js?id=XXXXX"的html标记,但都不起作用。

任何人都可以了解如何使其正常工作吗?

1 个答案:

答案 0 :(得分:1)

基于道格拉斯沃森的这个article,你所要做的就是:

  1. 将分析HTML代码段复制到文本文件中。 (创建了一个名为google_analytics.R的文件,与ui.R在同一目录中)
  2. 将其包含在ui.R

    shinyUI(fluidPage( tags$head(includeHTML(("google-analytics.html"))), ...