作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Google Analytics 跟踪 R Shiny 中的用户交互。我一直在引用以下指南: https://shiny.rstudio.com/articles/google-analytics.html https://shiny.rstudio.com/articles/usage-metrics.html
我将以下 Java 脚本保存为 google-analytics.html
:
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-XXXXXXXXX-1"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-XXXXXXXXX-1');
$(document).on('shiny:inputchanged', function(event) {
if (event.name === 'hub') {
ga('send','event', 'input',
'updates', event.name, event.value);
}
});
$(document).on('shiny:inputchanged', function(event) {
if(event.name === 'hub'){
alert('Changed Hub');
}
});
$(document).on('shiny:connected', function(event) {
alert('Connected to the server');
});
</script>
现在这是在跟踪应用程序中的人,但当他们更改 hub
输入中的信息时,它不会发送事件信息。我在脚本末尾添加了两个警报,以确保我识别的是正确的对象,果然,当用户更改 hub
输入时,他们会收到警报。
ui
的简短版本如下:
ui <-
fluidPage(
tags$head(includeHTML(("google-analytics.html"))),
# Sidebar
sidebarLayout(
sidebarPanel(
radioButtons("hub", label = h3("Hub"),
choices = list("Location 1", "Location 2",
"Both"),
selected = "Location 1"))),
# Main Panel
mainPanel(verbatimTextOutput("test"))
)
server
不相关,但如果需要,播放示例如下:
server <- function(input, output) {
output$test<-renderPrint({input$hub})
}
谁能帮帮我?为什么没有将事件发送到 Google Analytics?
最佳答案
您正在混合使用 gtag.js
代码和 analytics.js
代码。
您正在使用 gtag
作为库,因此您必须使用以下代码发送事件:
gtag('event', <action>, {
'event_category': <category>,
'event_label': <label>,
'value': <value>
});
https://developers.google.com/analytics/devguides/collection/gtagjs/events
在你的情况下使用这个:
gtag('event', 'updates', {
'event_category': 'input',
'event_label': event.name,
'value': event.value
});
而不是这个:
ga('send','event', 'input',
'updates', event.name, event.value);
}
关于javascript - 如何将 R Shiny 中的事件发送到 Google Analytics?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64143904/
我是一名优秀的程序员,十分优秀!