Google跟踪代码管理器(GTM)是针对网络或移动设备的免费跟踪代码管理器解决方案它可以自动管理JavaScript代码序列,用于将“标记”从您的网站或移动应用程序发送给第三方。支持的代码包括来自Google和DoubleClick的代码(例如Google Analytics和DoubleClick Floodlight销售代码),以及选定的“认证供应商”代码。
是否可以在 Google 跟踪代码管理器数据层变量中使用正则表达式捕获组?
Google 跟踪代码管理器提供使用正则表达式处理变量的功能,并通过正则表达式表为自定义数据层变量设置一个值。 我正在尝试使用“$1”语法来...
如何获取商品价格、商品分类、商品编号等商品数据-snap pixel
如何获取价格、产品分类、产品编号等产品数据-快拍像素 请注意,商店和 Snap Pixel 是通过 Google Tag Manager 链接的 通过了几个变体......
找不到添加 GTM 正文脚本的位置 - pixelyoursite
我正在尝试为我的 wordpress 网站设置 GTM,我正在使用 pixelyoursite 作为我的跟踪插件。问题是,我拥有的 GTM 脚本用于头部和身体,而 pixelyoursite 仅
Google Tag Manager:如何将自定义数组发送到 GTM,以便在 Google Analytics 中构建适当的自定义报告
我想问一个关于 GTM 的问题,但是没有电子商务项目数组对象,我们希望构建一个自定义报告,将自定义数据发送到 GTM 和 GA。 我们的 sur...
首先,我想说我不是程序员,我只是在 GTM 中看到代码,如果有什么问题,我很抱歉 我需要从我的网站数据层中为 GTM 上的 TAG 提取一个 ID。但是当访客...
dataLayer 中的推送值在 GTM admin 中显示未定义
我从GTM获取“user-profile-name”变量,然后将其加密并推送到dataLayer,以便稍后在GA中使用。 <p>我从GTM获取“user-profile-name”变量,然后将其加密并推送到dataLayer,以便稍后在GA中使用它。</p> <pre><code><script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script> <script> function generateHash(str) { var domain = window.location.hostname; var hashedString = CryptoJS.MD5(str+domain).toString(); return hashedString; } var userEmail = {{user-profile-name}}; if (userEmail) { var hashedEmail = generateHash(userEmail); dataLayer.push({'user_id': hashedEmail}); } </script> </code></pre> <p><a href="https://i.stack.imgur.com/MMHTT.png" target="_blank"><img src="https://cdn.imgupio.com/i/AWkuc3RhY2suaW1ndXIuY29tL01NSFRULnBuZw==" alt="image"/></a> <a href="https://i.stack.imgur.com/gSZnR.png" target="_blank"><img src="https://cdn.imgupio.com/i/AWkuc3RhY2suaW1ndXIuY29tL2dTWm5SLnBuZw==" alt="image"/></a></p> <p>结果变量仅显示在“消息”部分,在其他部分未定义。我做错了什么?</p> </question> </body></html>
Google Cloud Retail(Recommendations AI):实时用户事件(使用 Google Tag Manager)不会出现在零售数据页面上
我想实时记录用户事件,但是我做不到。我遵循了以下步骤: 1:从 APIs & Services > Credentials > Create Credentials > API Key 获取 API key (no
无法在 Google 跟踪代码管理器中跟踪触发触发器的来源或其名称
是否可以将触发触发器的源或名称作为变量推送到数据层? 在我的例子中,我有一个带有多个触发触发器的标签,其中一次只有一个触发器被完美触发......
我有一个关于使用 GTM 的 GA4 增强型电子商务跟踪的问题 - 尽管该问题并非特定于 GA4 或电子商务跟踪。 情况 该商店确实使用 usercentrics 作为 cookie 法力...
如何使用 dataLayer.get 在 Google Tag dataLayer 中查找参数?
希望在 dataLayer 的“Argument”中获取一个值,并使用 JavaScript 将其存储在一个新变量中。我知道如何从 dataLayer 内的对象中提取值,但无法计算...
如何使用 Google Analytics 标签管理器跟踪站外链接
我注意到谷歌已经发布了他们的标签管理器应用程序,这使得更改标签和跟踪选项变得非常容易。我如何使用此工具来跟踪站外链接?
GTM - 如果我们首先从 GA 安装 GA4 属性脚本代码,如何在 Google 跟踪代码管理器中查看数据?
如果我们“首先”将我们的 GA4 Google 属性脚本从 Google Analytics 安装到我们的网站上,需要执行哪些步骤才能在 Google 跟踪代码管理器中查看网站信息?或者“j...
我试图用自定义逻辑实现一个变量模板。由于一些奇怪的原因,代码编辑器中的数据对象无法识别创建的字段。当我尝试访问
背景 要将 client_id 从一个域传递到另一个域,Google 支持向作为跨域跟踪设置一部分的传出链接添加“链接器”参数。这个链接器参数...
如何在单个 Android 应用程序中添加多个 Google 标签管理器容器?
我处于需要将多个 Google 跟踪代码管理器 (GTM) 容器添加到单个 android 应用程序中的情况,每个 GTM 容器都用于单独的客户端。 找到了这个解决方案,但它已经过时了……
Google Analytics 在实时报告和调试视图中显示自定义事件,但事件计数始终为 0
正如标题所说,我发送了一个自定义事件,标记为从 JS 中的按钮转换: window.dataLayer.push({事件:'reserve_button_click'})。 事件触发 Tag Manager,Tag Manager
Google 标签管理器如何理解属性应该是事件范围还是用户范围?
所以我在谷歌标签管理器上工作了一段时间,我不是营销背景的。 假设我有一个注册提交事件 (create_account)。现在,我想发送如果用户有...
我正在使用 Google 标记 API 来计算某个电子商务网站的报价在客户屏幕上显示的次数。然后,我将向供应商显示每个报价的总观看次数。 我...
从这个答案和这篇文章中,我添加了一个,以便将 Google Tag Manager 添加到我的 NextJS 网站: 组件/layout.tsx: 从“反应”导入反应; 从...导入头部</desc> <question vote="4"> <div> </div> <p>来自<a href="https://stackoverflow.com/a/68739242/667903">this answer</a>和<a href="https://morganfeeney.com/guides/how-to-integrate-google-tag-manager-with-nextjs" rel="nofollow noreferrer">this article</a>我添加了<pre><code><Script></code></pre>以便将Google Tag Manager添加到我的NextJS网站:</p> <p><pre><code>components/layout.tsx:</code></pre></p> <pre><code> import React from "react"; import Head from "next/head"; import Script from 'next/script' <!-- skip some code --> <Head> <link rel="preconnect" href="https://cdn.sanity.io/" /> <link rel="dns-prefetch" href="https://cdn.sanity.io//" /> </Head> <Script id="google-tag-manager" strategy="afterInteractive"> { (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=%27+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-xxxx'); } </Script> </code></pre> <p>但是,脚本不存在于前端。</p> <p><pre><code>components/layout.tsx</code></pre> 是我网站上唯一带有 <pre><code><Head></code></pre> 或 <pre><code><head></code></pre> 的文件。</p> <p>谷歌标签管理器<pre><code><noscript></code></pre>存在于前端,用于<pre><code>app/layout.tsx:</code></pre></p> <pre><code> <body className="antialiased text-gray-800 dark:bg-black dark:text-gray-400"> <noscript dangerouslySetInnerHTML={{ __html: <iframe src="https://www.googletagmanager.com/ns.html?id=xxxx" height="0" width="0" style="display: none; visibility: hidden;" />, }} /> </code></pre> <p>所以我知道我已经保存了所有更改。</p> <p>帮助赞赏。</p> <p><strong>更新</strong></p> <p>我是 NextJS 的新手,所有这些代码都来自 NextJS/Sanity 模板,该模板在本地和 Vercel 暂存站点上工作。</p> <p>我唯一的问题是在发布到我的域之前无法正确加载 Google 跟踪代码管理器。</p> <p>项目中没有<pre><code>_app.js</code></pre></p> <p>有<pre><code>/app/(website)/layout.tsx</code></pre>:</p> <pre><code>import "@/styles/tailwind.css"; import { Providers } from "./providers"; import { cx } from "@/utils/all"; import { Inter, Lora } from "next/font/google"; const inter = Inter({ subsets: ["latin"], variable: "--font-inter" }); const lora = Lora({ subsets: ["latin"], variable: "--font-lora" }); export default function RootLayout({ children }: { children: React.ReactNode; }) { return ( <html lang="en" suppressHydrationWarning className={cx(inter.variable, lora.variable)}> <body className="antialiased text-gray-800 dark:bg-black dark:text-gray-400" > <noscript dangerouslySetInnerHTML={{ __html: `<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-xxxx" height="0" width="0" style="display: none; visibility: hidden;" />`, }} /> <Providers>{children}</Providers> </body> </html> ); } </code></pre> <p>这是<pre><code>/app/(website)/providers.tsx</code></pre>:</p> <pre><code>"use client"; import { ThemeProvider } from "next-themes"; export function Providers({ children }) { return ( <ThemeProvider attribute="class" defaultTheme="light"> {children} </ThemeProvider> ); } </code></pre> <p>如果我在 VSCode 中搜索 <pre><code>RootLayout</code></pre>,没有调用它,所以我对哪个是主文件有点困惑。</p> <p>如果您想访问 Github 存储库,我可以提供。</p> </question> <answer tick="false" vote="1"> <p>确保您确实在 <pre><code>_app.js</code></pre> 文件中使用您的布局:</p> <pre><code>// _app.js import '../styles/globals.css'; import Layout from './layout'; function MyApp({ Component, pageProps }) { return ( <Layout> <Component {...pageProps} /> </Layout> ); } export default MyApp; </code></pre> <p>在您的 layout.tsx 中,您可以按如下方式加载脚本:</p> <pre><code>// layout.js import Head from 'next/head'; export default function Layout({ children }) { return ( <> <Head> <link rel="preconnect" href="https://cdn.sanity.io/" /> <link rel="dns-prefetch" href="https://cdn.sanity.io//" /> </Head> <script id="google-tag-manager" dangerouslySetInnerHTML={{ __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=%27+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'script','dataLayer','GTM-xxxx');`, }} /> <main>{children}</main> </> ); } </code></pre> <p>请注意,我没有使用 <a href="https://nextjs.org/docs/api-reference/next/script" rel="nofollow noreferrer">Next <pre><code>Script</code></pre> 组件</a>,因为文档似乎没有提到任何关于使用该组件的孩子。</p> <p><a href="https://stackblitz.com/edit/nextjs-wjitgw?file=pages%2F_app.js,pages%2Flayout.js" rel="nofollow noreferrer">这是 Stackblitz 上的完整工作示例。</a></p> <p>还要确保您没有启用任何删除跟踪相关脚本的浏览器扩展。您可以在不同的浏览器或隐身模式下进行测试。</p> </answer> <answer tick="false" vote="0"> <p>在位于 /pages 目录中的 <strong>_document.js</strong> 文件中添加以下代码。此外,如果没有任何 <strong>_document.js</strong> 文件,请创建它。</p> <p>现在添加 Google Tag Manager 的功能为:</p> <pre><code>import Document, { Html, Head, Main, NextScript } from "next/document"; function MyDocument() { return ( <Html> <Head> <script dangerouslySetInnerHTML={{ __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=%27+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GOOGLE_TAG_MANAGER_ID'); `, }} /> </Head> <body> <noscript dangerouslySetInnerHTML={{ __html: ` <iframe src="https://www.googletagmanager.com/ns.html?id=GTM-xxxx" height="0" width="0" style="display:none;visibility:hidden"></iframe> `, }} /> <Main /> <NextScript /> </body> </Html> ); } export default MyDocument; </code></pre> <p>现在您可以检查功能是否正常工作,如果不正常请告诉我。我一定会帮忙的。</p> </answer> <answer tick="false" vote="0"> <p>来自 <a href="https://dev.to/valse/how-to-setup-google-tag-manager-in-a-next-13-app-router-website-248p" rel="nofollow noreferrer">how-to-setup-google-tag-manager-in-a-next-13-app-router 的回答</a></p> <pre><code>// create a client component "use client" // you are using id=GTM-xxxx. no need for gtmId import { gtmId, pageview } from "lib/gtm" import { usePathname, useSearchParams } from "next/navigation" import Script from "next/script" import { useEffect } from "react" export default function Analytics() { const pathname = usePathname() const searchParams = useSearchParams() useEffect(() => { if (pathname) { pageview(pathname) } }, [pathname, searchParams]) if (process.env.NEXT_PUBLIC_VERCEL_ENV !== "production") { return null } return ( <> <noscript> <iframe src={`https://www.googletagmanager.com/ns.html?id=GTM-xxxx`} height="0" width="0" style={{ display: "none", visibility: "hidden" }} /> </noscript> <Script id="gtm-script" strategy="afterInteractive" dangerouslySetInnerHTML={{ __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', "GTM-xxxx"); `, }} /> </> ) } </code></pre> <p>将其导入您的<pre><code>RootLayout</code></pre>组件</p> </answer> </body></html>
Google Analytics Web+App 事件配置:错误“未定义 gtag”
我正在尝试为网站设置 Google Analytics App+Web 的电子商务事件配置。请参阅此处的文档。 因为电子商务配置有很多自定义代码,我