Gatsbyjs + Google Analytics-跟踪自定义事件?

时间:2018-10-29 22:12:04

标签: javascript reactjs google-analytics event-handling gatsby

是否可以通过gatsby和Google Analytics(分析)跟踪自定义事件?

3 个答案:

答案 0 :(得分:9)

我将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文档。

也:不要忘记在您的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,
  }
}

答案 1 :(得分:1)

对于仍在怀疑的人,gatsby-plugin-google-analytics不是不是我用于Google Analytics(分析)的方法。您正在寻找的是gatsby-plugin-google-gtag。该插件插件会自动发送综合浏览量,并使gtag事件在窗口中可用。

window.gtag("event", "click", { ...data })

Google还为仍在使用gatsby-plugin-google-analytics且您可以找到here的任何人提供了迁移文档(在gatsby文档中也提供了链接)。

答案 2 :(得分:0)

您可以使用提供的 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>
)