【问题标题】:how to add gtag.js to react.js/next.js index.js?如何将 gtag.js 添加到 react.js/next.js index.js?
【发布时间】:2018-12-06 20:42:26
【问题描述】:

对于这个菜鸟问题我很抱歉,我刚开始使用 next.js 模板表单https://github.com/zeit/next.js/tree/canary/examples/hello-world/pages 通常我只会将 gtag.js 添加到 index.html,但对于这个 next.js,只有 index.js。问题是我怎么能包括这个?我曾尝试将 gtag 作为组件并尝试导入它并包含脚本,因为它位于 index.js 的渲染函数中,但到目前为止它不起作用!请帮帮我!

Gtag:

 <script async src="https://www.googletagmanager.com/gtag/js? 
   id=GA_TRACKING_ID"></script>
    <script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

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

index.js:

import Link from 'next/link'
export default () => (
  <div>Hello World. <Link href='/about'><a>About</a></Link></div>
)

【问题讨论】:

    标签: javascript next.js gtag.js


    【解决方案1】:

    您可以像这样将 gtag func 添加为 lib:

    export const GA_TRACKING_ID = '<YOUR_GA_TRACKING_ID>'
    
    // https://developers.google.com/analytics/devguides/collection/gtagjs/pages
    export const pageview = url => {
      window.gtag('config', GA_TRACKING_ID, {
        page_location: url
      })
    }
    
    // https://developers.google.com/analytics/devguides/collection/gtagjs/events
    export const event = ({ action, category, label, value }) => {
      window.gtag('event', action, {
        event_category: category,
        event_label: label,
        value: value
      })
    }
    

    关于如何在 NextJS 中添加谷歌分析的完整示例, 你可以看看here

    【讨论】:

    • @Alfrex92 你是什么意思在客户端不起作用? gtag 正在使用只能在客户端找到的窗口对象
    • 我已经删除了评论,但我注意到如果你推迟谷歌分析的脚本它不起作用
    • javascript 是一种单线程语言,当你推迟 google 的脚本时,顺序可能会中断。
    猜你喜欢
    • 2018-07-13
    • 1970-01-01
    • 2020-10-28
    • 2017-11-28
    • 1970-01-01
    • 1970-01-01
    • 2019-10-06
    • 1970-01-01
    • 2022-01-25
    相关资源
    最近更新 更多