AAv*_*rin 4 javascript google-analytics event-handling reactjs gatsby
用gatsby和谷歌分析跟踪自定义事件有什么可能吗?
ser*_*ays 10
我已经将ReactGA与Gatsby结合使用并取得了很好的成功.
对于基本事件跟踪 - 比如记录单击的链接 - 它非常易于使用.您可以在组件中创建一个日志记录功能,用于访问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
Run Code Online (Sandbox Code Playgroud)
还有更多的用例 - 查看ReactGA文档.
另外:不要忘记ggatsby-plugin-google-analytics在您的gatsby-config.js文件中包含作为依赖项以使上述内容正常工作:
{
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,
}
}
Run Code Online (Sandbox Code Playgroud)
对于仍然想知道的人来说,gatsby-plugin-google-analytics这不是我对谷歌分析采取的方法。您正在寻找的是gatsby-plugin-google-gtag。此插件会自动发送综合浏览量,并使该gtag事件在窗口中可用。
window.gtag("event", "click", { ...data })
Run Code Online (Sandbox Code Playgroud)
Google 还为仍在使用的任何人提供迁移文档,gatsby-plugin-google-analytics您可以在此处找到(链接也在 gatsby 文档中)。
| 归档时间: |
|
| 查看次数: |
1632 次 |
| 最近记录: |