我们正在按照以下文档使用 GTM 实施 GA 转换跟踪,但我没有找到有关如何在订单级别处理折扣(优惠券)的任何信息。 https://support.google.com/tagmanager/answer/6106097?hl=en https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce
我可以发送收入、运费和税金,但对于包含折扣的订单,这些金额的总和不正确。如果下单如下:
T-Shirt: $5
Socks: $5
subtotal: $10
tax: $2
shipping: $3
discount: -$5
order total: $10
Run Code Online (Sandbox Code Playgroud)
我的数据层应该像这样吗?
<script>
dataLayer = [{
'transactionId': '1234',
'transactionAffiliation': 'Acme Clothing',
'transactionTotal': 10,
'transactionTax': 2,
'transactionShipping': 3,
'transactionProducts': [{
'sku': 'DD44',
'name': 'T-Shirt',
'category': 'Apparel',
'price': 5,
'quantity': 1
},{
'sku': 'AA1243544',
'name': 'Socks',
'category': 'Apparel',
'price': 5,
'quantity': 1
}]
}];
</script>
Run Code Online (Sandbox Code Playgroud)
这会导致 GA 中的任何不准确或不一致吗?
我有一个运行ASPDOTNETSTOREFRONT 的网上商店。
我正在尝试向一组网页添加自定义的跟踪脚本行。
为此,我将一个 Google 标签管理器脚本添加到这些页面使用的 XML 包中,以便它出现在我想要跟踪的所有页面上。
我只是将 Google Tag Manager 脚本复制并粘贴到我的 XML 包中。
`<!-- Google Tag Manager -->
<noscript><iframe src="//www.googletagmanager.com/ns.html?id=GTM-5HD6WH"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<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=
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-5HD6WH');</script>
<!-- End Google Tag Manager -->`
Run Code Online (Sandbox Code Playgroud)
但是当我尝试使用这个包加载一个页面时,它给出了以下错误。
Exception=Error in XmlPackage(.Load), Package=[product.engineproduct.xml.config], Msg=[Exception=An error occurred while parsing EntityName. Line 246, position 42.
]
Run Code Online (Sandbox Code Playgroud)
所以人们可以看到行号和位置,我可以显示来自 XML 包(源代码)的屏幕截图。
http://i.stack.imgur.com/mJ2Tb.jpg
任何人有任何建议如何解决这个问题?
xml asp.net xml-parsing aspdotnetstorefront google-tag-manager
我有一个自定义 JS 事件,当手风琴面板打开时会触发。我想以面板 ID 作为事件标签跟踪作为 Google Analytics 事件的开放。
使用旧的非 GTM 方法,我会这样做:
$('#my-accordion').on('down.zf.accordion', function(e, panel) {
ga('send', 'event', 'accordion', 'open', panel.attr('id'));
});
Run Code Online (Sandbox Code Playgroud)
但我想用谷歌标签管理器来做到这一点,并尽可能减少页面代码的变化。
到目前为止,我已经在 Google 标签管理器中创建了这个:
Trigger,键入在“down.zf.accordion”上触发的自定义事件
标记,使用我的跟踪 ID 键入 Universal Analytics,跟踪类型:事件(手风琴,打开,[可能是设置为 panel.attr('id')?] 的全局 JS 变量)
但在 GTM 预览版中进行测试时,该代码甚至不会触发。我究竟做错了什么?
我在 React 应用程序中尝试将数据发送到 GTM(谷歌标签管理器)时遇到问题。我们已经设法在相关页面上放置了不同的脚本。
例如下面是我们放入购物车页面的脚本之一:
class Cart extends Component {
render() {
const { cartItems } = this.props;
return (
<script
dangerouslySetInnerHTML={{ __html: `
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'viewCart',
cartItems: ${cartItems}
});
window.history = window.history || [];
window.history.pushState({
page: 'Current Cart Page',
events: 'viewCart',
cartItems: ${cartItems},
}, 'Current Cart Page');
` }}
/>
);
}
}
Run Code Online (Sandbox Code Playgroud)
当我们从另一个页面(EG:主页)访问购物车页面时,上面的脚本不会执行,但是当我们刷新页面时,它会被触发。
事实证明,数据层只推送pageLoad和DOMReady事件。但不在historyChange
有没有人遇到过这个问题并知道如何解决?
我正在尝试使用最新的dataLayer对象在 Google Analytics 中设置要触发的1 个点击事件,并将其设置为如下触发:
$('.vinyl-calc .calculate').click(function() {
// some code here...
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'calculatorClick',
'calculatorType': 'vinyl'
});
});
Run Code Online (Sandbox Code Playgroud)
和
$('.silane-calc .calculate').click(function() {
// some code here...
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'calculatorClick',
'calculatorType': 'silane'
});
});
Run Code Online (Sandbox Code Playgroud)
我在 Google Tag Manager 和名为“Tools and Calculators”的标签中正确创建了 dataLayer 变量calculatorType,其中添加了自定义事件,如下所示是通过 Google Tag Manager 触发的:
但是,进入 Google Analytics,即使在 Realtime 中也不会显示此处发生的任何事件。我在 Google Analytics 中根本看不到任何东西,而且在 Google Analytics 中似乎根本无法跟踪它。如何calculatorClick使用calculatorType变量在谷歌分析中显示事件???
我一直在这几个小时内尝试各种方法来使其正常工作,但没有任何工作正常。我遵循的一些在 Google Analytics …
我正在使用下面的代码片段通过设置“null”来清除 userid 和 userproperty 值,但该值在 GoogleAnalytics、Firebase 中得到保留。
FirebaseAnalytics.getInstance(context).setUserId(null);
FirebaseAnalytics.getInstance(context).setUserProperty("sessionId", null);
Run Code Online (Sandbox Code Playgroud)
如果用户登录和用户注销 userid 和 sessionid 值需要清除,则将设置 Userid 和 sessionid 值。
谁能帮我解决这个问题
谢谢,卡马尔
analytics google-analytics firebase google-tag-manager firebase-analytics
使用 Google 标签管理器,我想使用环境功能。虽然环境设置非常简单,但有一个关于 Live 环境设置的特殊情况。更具体地说,文档提到:
注意:默认情况下,每个容器都设置了一个“Live”环境,它始终指向当前发布的容器版本。您不需要定义 Live 环境。
现在,为了在我的网站上为 Live 设置 GTM,我有 2 个可能的片段:“默认”片段(可以通过管理 > 在我的容器中安装 Google 标签管理器获得)和“实时”片段(可以是通过管理>环境>“实时”>(操作)获取片段获得)。
这里的问题是第一个脚本似乎没有正确映射到 Live 环境,因为在查找表中使用它映射到默认值。
另一方面,第二个脚本似乎工作正常。我担心的是它使用了 2 个附加参数(gtm_auth和gtm_preview),我不确定是否应该将它们定义为 Live 环境。此外,一些博客建议在 Live 环境中使用第一个脚本。
我的问题 - 并且担心的是,就正确安装、使用和安全而言,这两个脚本中哪一个最适合用于在 GTM 中设置实时环境?
请考虑建议使用不同的容器不是一种选择。
我在服务器的响应中添加了 Content-Security-Policy 标头,但是当 Google 标签管理器 (GTM) 注入自定义 HTML 标签时,浏览器会抛出错误。
CSP3 有“strict-dynamic”,它似乎是为 GTM 定制的,但目前只有 Chrome 支持它,而 CSP3 是一个工作草案。
我编写了代码来通过 GTM API 获取自定义 HTML 标签,希望我可以获取脚本的哈希值并将它们添加到标题中,但我发现 API 提供的 JavaScript 与 GTM 注入到 DOM 中的内容不匹配,因为 GTM 在注入脚本之前会缩小/混淆脚本。
现在我想知道是否有可能,只是可能,有一种方法可以告诉 GTM 向它注入的每个脚本添加一个随机数,但我找不到任何文档来支持这种希望/幻想。
有没有人遇到过这个问题,并找到了解决这个问题的方法?
(我不能像这里提到的那样从脚本中提取主机 -如何让 Google 标签管理器和内容安全策略共存? - 因为我们营销团队添加的自定义 HTML 标签是带有非空主体的标签,而不是只是带有源属性的标签,没有正文。)
我已经集成Firebase和GoogleTagManager使用的CocoaPods到我的iOS应用程序的目标。当我构建目标时,Xcode 不断给我错误:
Showing Recent Messages
PhaseScriptExecution [CP]\ Embed\ Pods\ Frameworks
mkdir -p /Users/xxx.xxx/Library/Developer/Xcode/DerivedData/MyApp-enzvpdzsyhjszqbnwiclnpszlyri/Build/Products/Debug-iphonesimulator/MyApp.app/Frameworks
/Users/xxx.xxx/Projects/MyApp/Applications/MyApp/Pods/Target Support Files/Pods-MyApp/Pods-MyApp-frameworks.sh: line 43: source: unbound variable
Command /bin/sh failed with exit code 1
Run Code Online (Sandbox Code Playgroud)
我已经多次清理我的项目,删除了派生数据文件夹,但这些似乎都不起作用。
我的 Podfile 看起来像这样:
platform :ios, '11.0'
target 'MyApp' do
use_frameworks!
# Pods for MyApp
pod 'Firebase/Core', '~> 5.19'
pod 'Firebase/ABTesting'
pod 'Firebase/Performance'
pod 'Firebase/RemoteConfig'
pod 'Firebase/Analytics'
pod 'GoogleTagManager', '~> 7.1'
end
Run Code Online (Sandbox Code Playgroud)
可可豆环境
CocoaPods : 1.5.3
Ruby : ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-darwin16]
RubyGems : 2.6.8
Host …Run Code Online (Sandbox Code Playgroud) 我刚刚gatsby-plugin-google-gtag在我的gatsby-config.js文件中安装了:
module.exports = {
plugins: [
{
resolve: `gatsby-plugin-google-gtag`,
options: {
trackingIds: [
"UA-XXXXXXXXX-X", // Google Analytics / GA
"AW-XXXXXXXXX" // Google Ads / Adwords / AW
],
pluginConfig: {
head: true
},
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
然后我在我的表单上添加这个事件,它应该工作吗?
class Form extends Component {
constructor(props) {
super(props);
this.handleClick = this.handleClick.bind(this);
}
handleClick() {
window.gtag("conversion", "click", { send_to: ["AW-XXXXXXXXX/-XXXXXXXXXXXXXXXX"]})
}
render() {
return (
<Div className='au'>
<form action="https://formspree.io/my@emailaddress.io" method="POST">
<InputName type="name" name="name" placeholder="Your Name"/>
<InputMail type="email" name="email" placeholder="Your …Run Code Online (Sandbox Code Playgroud) firebase ×2
javascript ×2
reactjs ×2
analytics ×1
asp.net ×1
cocoapods ×1
gatsby ×1
installation ×1
ios ×1
xcode10.1 ×1
xml ×1
xml-parsing ×1