- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我完全对 GTM 感到困惑,我将它实现到我的网站以触发一些事件来处理流量,等等...就像 2 天我看到以下错误:
Error from the trackerPageView => TypeError: window.gtag is not a function
at _app.js:1
at _app.js:1
at commons.c57c1be722ad069a7405.js:1
at Array.map (<anonymous>)
at Object.emit (commons.c57c1be722ad069a7405.js:1)
at commons.c57c1be722ad069a7405.js:1
我没有看到任何关于这个问题的文档,所以我发了一个帖子来集中关于这个问题的信息。
import Document, { Head, Main, NextScript } from "next/document";
import { GA_TRACKING_ID } from "../lib/gtag";
import { Fragment } from "react";
export default class MyDocument extends Document {
setGoogleTags() {
return {
__html: `
(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','${GA_TRACKING_ID}');
`,
};
}
render() {
return (
<html lang="fr">
<Head>
<Fragment>
<script dangerouslySetInnerHTML={this.setGoogleTags()} />
</Fragment>
<meta charSet="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<link
rel="shortcut icon"
href="***"
crossOrigin="anonymous"
/>
<link
rel="stylesheet"
href="***.css"
crossOrigin="anonymous"
/>
</Head>
<body>
<noscript>
<iframe
src={`https://www.googletagmanager.com/ns.html?id=${GA_TRACKING_ID}`}
height="0"
width="0"
style={{ display: "none", visibility: "hidden" }}
></iframe>
</noscript>
<Main />
<NextScript />
<script
type="text/javascript"
id="hs-script-loader"
async
defer
src="//js.hs-scripts.com/*****.js"
></script>
</body>
</html>
);
}
}
gtg/index.ts:
export const GA_TRACKING_ID = 'GTM-XXXX'
export default function trackPageView(url) {
try {
if (window.gtag)
window.gtag("config", GA_TRACKING_ID, {
page_location: url,
});
} catch (error) {
console.log("Error from the trackerPageView => ", error);
}
}
Solution I found temporary!
History modification
最佳答案
在使用 window
之前,您需要检查窗口是否存在。
例如:
if (typeof window !== 'undefined') {
window.gtag("config", GA_TRACKING_ID, {
page_location: url,
});
}
此外,您不需要将您的 Google 标签管理器脚本包装在
<Fragment>
中
gtag
默认不是全局可用的。您必须根据此文档自行设置:
https://developers.google.com/analytics/devguides/collection/gtagjs
关于reactjs - TypeError : window. gtag 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62791299/
整个分析的新手,我发现这非常困惑 我想在我的 nuxt ssr webapp 中使用 Google Analytics 4,但我对众多选项感到不知所措 Quick issue on nuxtjs/go
我使用带有 gtags 插件的 vim 通过多个文件读取代码。一切都很好,除了我不知道如何在运行 :CtagsCursor 跳转到 token 定义之前导航回之前的位置。我通读了 GNU 全局在线文档
我想要 gnu global 来索引项目的全局变量。 这可能吗(无需进入 gnu global 的源代码)? 最佳答案 我相信这还没有实现。您可以在 plan 中看到它GNU 全局的。 Treat v
开放问题。查看全局网站标记 (gtag.js) 片段,我不太了解 arguments 变量的用法。 window.dataLayer = window.dataLayer || [];
我在使用 gtag 发送到自定义维度时遇到问题。我目前正在关注 their gtag documentation . 为我的谷歌分析属性创建的自定义维度的屏幕截图 现在我正在使用以下代码在头部初始化我
我已经尝试了几天,使用gtag在我的AMP页面上实施Google Analytics(分析),但是没有运气。 我在这里浏览了Google Developer Docs:https://develope
我查看了无数答案,但无法找到正确的解决方案。一旦点击联系号码,我正在尝试使用事件注册(onclick)让谷歌分析注册一个目标。 我有以下代码,它没有注册任何结果。我错过了什么? window.
我在网上搜索了将多个自定义维度发送到谷歌分析的解决方案。 旧标签 ga 很容易配置,如下所示: ga('create', 'UA-ID', 'auto'); ga('set', 'dimens
我们正在寻求为我们的网站访问者实现禁用跟踪的选项。 我读过谷歌分析 opt-out dev guide但我仍然不完全清楚如何做到这一点。 仅仅触发window['ga-disable-GA_TRACK
我创建了一个网页,使用 Google 的 gtag.js 进行跟踪,并使用文档中的语法添加了一个计时事件: gtag('event', 'timing complete', { 'name' :
我在从 analytics.js 迁移到 gtag.js 时遇到问题。问题是我无法使虚拟综合浏览量起作用。如何在 gtag.js 中复制以下 analytics.js 代码? ga('set', 'p
我有以下事件设置,只要我网站上的用户成功交易就会触发: window.gtag("event", "purchase", { id: new Date().getTime().toString
https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#referrer 我可
我正在尝试处理 gtag.js 以跟踪页面浏览量, 它在独立页面或同一个父域内的 iframe 上工作正常,但当 iframe 父不在同一个域中时它不起作用(在 firefox 上工作,但不在 chr
我完全对 GTM 感到困惑,我将它实现到我的网站以触发一些事件来处理流量,等等...就像 2 天我看到以下错误: Error from the trackerPageView => TypeErro
我使用原始的 Javascript 函数 function gtag(){dataLayer.push(arguments);} 然后得到错误:error TS2554: Expected 0 arg
这是实施Google Analytics(分析)的正确方法吗? window.dataLayer = window.dataLayer || []; function gtag(){dataLay
我已经建立了一个新的 Analytics 帐户,并复制了跟踪代码。是那种 window.dataLayer = window.dataLayer || []; function gtag(
如何使用全局站点标记(gtag.js)事件点击指向目标的链接? hy 为什么上面的代码不起作用? 最佳答案 您的参数可能不正确。您正在使用驼峰式保护套,而docs声明使用蛇形保护套。 还没尝试过只是可
我对谷歌分析的新API很陌生,所以我注意到现在我们也有GTM,据我了解,现在我们可以使用它直接使用GTM工具来配置事件和其他一些东西,而无需编写任何行代码。 我们暂时不需要 GTM,因此我决定使用 g
我是一名优秀的程序员,十分优秀!