在GTM中,假设我有一个"自定义HTML"标记,并在其中包含一个外部脚本文件
<script type="text/javascript" src="http://externalsite.com/file.js"></script>
这个文件是怎么加载的?它会影响页面的加载时间吗?
我知道GTM脚本与标签一起异步加载,但我无法想象在这种情况下会发生什么.
从其他网站获取数据时我遇到了一些问题.在这种情况下,我想从预订引擎网站获取预订数据,他们希望通过Google跟踪代码管理器将数据传递给我.当他们只需要GTM代码时,我真的不明白我该怎么做.我应该在服务器中创建什么来通过Google跟踪代码管理器从预订引擎获取数据?
这是插图:
我有两个名为sites1.com和sites2.com的网站.在sites1.com中,我使用Google跟踪代码管理器脚本来推送表单提交数据,如全名,姓氏,电子邮件等.在有人提交表单后,我想通过Google标签将sites1.com中的提交数据发送到sites2.com经理.我的问题是如何在我的sites2.com中的sites1.com中提交表单后获取数据?
请有人知道如何解决我的问题.提前致谢 .
我按照有关将Google跟踪代码管理器添加到项目https://developers.google.com/tag-manager/ios/v5/的文档进行操作.我在我的项目目标中添加了容器文件夹,但是我仍然收到GTM的一些警告要记录,并且无法跟踪事件到Firebase.
GoogleTagManager警告:无法从网络中检索容器.响应:404 GoogleTagManager警告:在运行时初始化之前发出的事件.
初始化Tag Manager的正确方法是什么?我使用我的"containerName"+ .json作为容器文件的名称,并将它们添加到文件夹"container".
GTM iOS SDK 7.1.1
谢谢.
我对 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
Run Code Online (Sandbox Code Playgroud)
我没有看到任何关于这个问题的文档,所以我发了一篇文章来集中有关这个问题的信息。
我的配置是一个 webApp(nextjs、Reactjs、typeScript、redux),希望这会有所帮助。
_document.tsx:
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() { …Run Code Online (Sandbox Code Playgroud) 在我的反应应用程序中,我使用了react-gtm-module. 我只有 GTM ID。
我将以下代码放入每个页面路由器组件中
import TagManager from 'react-gtm-module';
componentDidMount(){
const tagManagerArgs = {
dataLayer: {
page: '/pagepath'
},
gtmId: 'GTM-XXXXXX',
}
TagManager.initialize(tagManagerArgs)
}
Run Code Online (Sandbox Code Playgroud)
我只是将上面的代码放在每个路由组件中。通过使用上面的代码,在谷歌分析中,路径有时显示,有时不显示Active Page。
这只是我必须放入代码中才能实现谷歌分析跟踪页面的代码还是我必须添加更多其他代码?如果是,那么我到底需要添加什么以及在哪里添加?
当然,我在代码中遗漏了一些东西。但到底是什么?
我在使用Google跟踪代码管理器在localhost上跟踪Google Analytics时遇到问题.我可以在API for Analytics(https://developers.google.com/analytics/devguides/collection/analyticsjs/advanced#localhost)上看到,我需要做的就是将cookieDomain设置为none.我在Google跟踪代码管理器中找不到此选项.有谁知道如何做到这一点?
我一直在尝试Google Tag Manager为移动设备,特别是Android的,但我不断收到一条消息说"无效的宏"当试图getString(myKeyValue对)Container.
这是我的MainActivity中代码的一部分:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
txtHello = (TextView)findViewById(R.id.txtHello);
btn = (Button) findViewById(R.id.btn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
String hello = mContainer.getString("hello");
long l = mContainer.getLong("long");
txtHello.setText(hello + l);
}
});
tagManager = TagManager.getInstance(this);
ContainerOpener.openContainer(tagManager, CONTAINER_ID, OpenType.PREFER_NON_DEFAULT, null, new ContainerOpener.Notifier() {
@Override
public void containerAvailable(Container container) {
mContainer = container;
}
});
}
Run Code Online (Sandbox Code Playgroud)
我在清单中添加了这些权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)
我有正确的Container_id,因为它以编程方式刷新后显示正确的版本.
这是我的assets/tagmanager/CONTAINER_ID.json文件(当然使用正确的文件名):
{
'hello': …Run Code Online (Sandbox Code Playgroud) 我正在使用 Google 标签管理器容器来管理脚本。我正在尝试执行服务器端优化/分析实验。出于性能原因,我需要服务器端。我已经对 GTM/Optimize 容器进行了很好的客户端实验。
这是我的 GTM 代码:
window.dataLayer = window.dataLayer || [];
....
<!-- Google Tag Manager -->
<script>(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-XXXXXXXX');</script>
<!-- End Google Tag Manager -->
Run Code Online (Sandbox Code Playgroud)
我尝试了以下不同的方法来触发要触发的变化。
// These fn get called only once GA exists via setTimeout. They get called correctly.
// I've setup the experimentTrigger via GTM container and it triggers correctly to Analytics.
function setGAExperiment1(_expIdvId){
// Matches ga('set', 'exp', '$experimentId.$variationId');
// https://developers.google.com/optimize/devguides/experiments
ga('set', 'exp', _expIdvId);
dataLayer.push({'event': 'experimentTrigger', 'exp': _expIdvId }); // …Run Code Online (Sandbox Code Playgroud) javascript google-analytics google-tag-manager google-optimize
我在添加到 dayaLayer 时遇到问题。对于 gtm,我使用这个插件,但我不\xe2\x80\x99不明白如何通过组件为其添加 dataLayer。\n我的 nuxt.config fo 插件
\n\nmodules: [\n [\'@nuxtjs/google-tag-manager\', {\n id: \'GTM-xxxxxxxxxx\',\n pageViewEventName: \'nuxtRoute\',\n pageTracking: true,\n layer: \'dataLayer\'\n }]\n ]\nRun Code Online (Sandbox Code Playgroud)\n\n我的组件
\n\nhead() {\n return {\n title: this.seo.title_meta,\n meta: [\n // hid is used as unique identifier. Do not use `vmid` for it as it will not work\n { hid: \'google-site-verification\', name: \'google-site-verification\', content: \'test\' },\n { hid: \'description\', name: \'description\', content: this.seo.description_meta }\n ],\n __dangerouslyDisableSanitizers: [\'script\'],\n script: [\n {\n innerHTML: JSON.stringify({\n \'@context\': \'http://schema.org\',\n …Run Code Online (Sandbox Code Playgroud)
我已根据官方指南使用我的 GA4 媒体资源
(不是旧版 Universal Analytics)设置了 Google 跟踪代码管理器: https://support.google.com/tagmanager/answer/6103696 ?hl=en&ref_topic=3441530#zippy=%2Cweb-页面
,我已经弄清楚如何使用
dataLayer.push({}) 对象将自定义/推荐事件发送到 GA4,
并根据 Universal Analytics 指南
( https://www.analyticsmania ) 使用触发器和标签中的“事件”字段.com/post/track-logins-with-google-tag-manager/),
因为这似乎是官方指南中的一个黑洞:https://support.google.com/tagmanager/answer/9442095
仅描述,简单来说,GTM 方面的故事。
发送用户 ID 也是如此:文档仅
在创建 Google Analytics 4 配置标记时说明:
To set a user ID, add a row to Fields to Set.
Set the Field Name to user_id, and the Value to
a Tag Manager Variable that returns the user ID.
Run Code Online (Sandbox Code Playgroud)
我仅从外部 UA 指南中获取知识,
使用从数据层读取 user_id 字段的数据层变量,
并在 Google Analytics 上创建相应的 user_id 用户属性,在 …
javascript ×3
reactjs ×2
android ×1
ios ×1
localhost ×1
next.js ×1
nuxt.js ×1
swift ×1
typescript ×1
vue.js ×1