如何在 Gatsby 和 Google Analytics 中跟踪自定义事件?
如何在 Gatsby 和 Google Analytics 中跟踪自定义事件?
我曾在Gatsby中使用ReactGA并取得了不错的成果。
对于基本的事件追踪,比如记录点击链接,使用起来非常简单。你只需要在组件中创建一个日志函数,访问ReactGA.event
,然后在渲染函数中使用onClick
调用它。
以下是一个记录PDF下载的示例组件:
import React from 'react'
import Link from 'gatsby-link'
import ReactGA from 'react-ga'
import logo from './logo.png'
import financials from './Annual_Report_Financials_2017_FINAL.pdf'
class LoggingDownload extends React.Component {
logger() {
// Detect each click of the financial PDF
ReactGA.event({
category: 'Financial Download',
action: 'User clicked link to view financials'
})
}
render() {
return (
<div>
<nav className="nav-container">
<Link to="/locations">
<img className="logo" src={logo} alt="Logo" />
</Link>
<ul className="nav-item-container">
<li className="nav-item">
<a href="/shortsignup/" target="_blank">Join Us</a>
</li>
<li className="nav-item">
<a href={financials} onClick={this.logger} target="_blank" id="financials-pdf">Financials</a>
</li>
</ul>
</nav>
</div>
)
}
}
export default LoggingDownload
还有很多用例-请查看ReactGA文档。
另外:不要忘记在您的gatsby-config.js
文件中包含gatsby-plugin-google-analytics
作为依赖项,以使上述内容正常工作:
{
resolve: `gatsby-plugin-google-analytics`,
options: {
trackingId: "UA-#########-##",
// Puts tracking script in the head instead of the body
head: false,
// Setting this parameter is optional
respectDNT: true,
}
}
gatsby-plugin-google-analytics
会自动将 GA 插入你网站的页面底部,以此轻松跟踪基本页面浏览量。如果你需要事件跟踪、外部链接等功能,则可以使用 react-ga
。如果你想要更简洁的依赖链,那么不使用 gatsby-plugin-google-analytics
也可以设置页面浏览量跟踪。 - serraosays对于那些仍然困惑的人,gatsby-plugin-google-analytics
不是我进行Google Analytics 的首选。你需要找的是 gatsby-plugin-google-gtag 。这个插件可以自动发送页面浏览量,并将 gtag
事件作为 window 的一部分可用。
window.gtag("event", "click", { ...data })
Google还为仍在使用gatsby-plugin-google-analytics
的用户提供了迁移文档,您可以在此处找到(链接也在gatsby文档中)。
gatsby-plugin-google-analytics
不是我要找的。它甚至没有说明分析仅在生产环境下工作,而 gtag
则用大号的“注意”字样清晰地定义了这一点。到目前为止很喜欢它。 - taras您可以使用提供的OutboundLink进行简单的链接跟踪:
import React from "react"
import { OutboundLink } from "gatsby-plugin-google-gtag"
export default () => (
<div>
<OutboundLink href="https://www.gatsbyjs.org/packages/gatsby-plugin-google-gtag/">
Visit the Google Global Site Tag plugin page!
</OutboundLink>
</div>
)