标签: google-tag-manager

通过标签管理器跟踪谷歌分析电子商务中的折扣值

我们正在按照以下文档使用 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 中的任何不准确或不一致吗?

google-analytics google-tag-manager

5
推荐指数
2
解决办法
6996
查看次数

XML 包中的 Google 标签管理器脚本中的解析错误

我有一个运行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

5
推荐指数
1
解决办法
1158
查看次数

如何在 Google Tag Manager 中跟踪自定义 JavaScript 事件?

我有一个自定义 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 预览版中进行测试时,该代码甚至不会触发。我究竟做错了什么?

google-analytics custom-events google-tag-manager

5
推荐指数
1
解决办法
3793
查看次数

React JS + google 标签管理器:如何在页面转换时触发数据层

我在 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:主页)访问购物车页面时,上面的脚本不会执行,但是当我们刷新页面时,它会被触发。

事实证明,数据层只推送pageLoadDOMReady事件。但不在historyChange

有没有人遇到过这个问题并知道如何解决?

javascript google-tag-manager reactjs google-datalayer

5
推荐指数
0
解决办法
2882
查看次数

GTM 事件有效但未显示在 Google Analytics Events 中,为什么?

我正在尝试使用最新的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 触发的:

GTM 图像 1GTM 图像 2

但是,进入 Google Analytics,即使在 Realtime 中也不会显示此处发生的任何事件。我在 Google Analytics 中根本看不到任何东西,而且在 Google Analytics 中似乎根本无法跟踪它。如何calculatorClick使用calculatorType变量在谷歌分析中显示事件???

我一直在这几个小时内尝试各种方法来使其正常工作,但没有任何工作正常。我遵循的一些在 Google Analytics …

javascript google-analytics google-tag-manager

5
推荐指数
1
解决办法
8249
查看次数

Android Firebase-Analytics:无法将 null 设置为 userid 和 userproperty

我正在使用下面的代码片段通过设置“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

5
推荐指数
1
解决办法
463
查看次数

在 Google Tag Manager 上设置 Live 环境的正确方法是什么?

使用 Google 标签管理器,我想使用环境功能。虽然环境设置非常简单,但有一个关于 Live 环境设置的特殊情况。更具体地说,文档提到:

注意:默认情况下,每个容器都设置了一个“Live”环境,它始终指向当前发布的容器版本。您不需要定义 Live 环境。

现在,为了在我的网站上为 Live 设置 GTM,我有 2 个可能的片段:“默认”片段(可以通过管理 > 在我的容器中安装 Google 标签管理器获得)和“实时”片段(可以是通过管理>环境>“实时”>(操作)获取片段获得)。

这里的问题是第一个脚本似乎没有正确映射到 Live 环境,因为在查找表中使用它映射到默认值。

另一方面,第二个脚本似乎工作正常。我担心的是它使用了 2 个附加参数(gtm_authgtm_preview),我不确定是否应该将它们定义为 Live 环境。此外,一些博客建议在 Live 环境中使用第一个脚本。

我的问题 - 并且担心的是,就正确安装、使用和安全而言,这两个脚本中哪一个最适合用于在 GTM 中设置实时环境?

请考虑建议使用不同的容器不是一种选择。

installation google-analytics google-tag-manager

5
推荐指数
1
解决办法
1658
查看次数

有没有办法让内容安全策略 2 与 Google 标签管理器一起使用?

我在服务器的响应中添加了 Content-Security-Policy 标头,但是当 Google 标签管理器 (GTM) 注入自定义 HTML 标签时,浏览器会抛出错误。

CSP3 有“strict-dynamic”,它似乎是为 GTM 定制的,但目前只有 Chrome 支持它,而 CSP3 是一个工作草案。

我编写了代码来通过 GTM API 获取自定义 HTML 标签,希望我可以获取脚本的哈希值并将它们添加到标题中,但我发现 API 提供的 JavaScript 与 GTM 注入到 DOM 中的内容不匹配,因为 GTM 在注入脚本之前会缩小/混淆脚本。

现在我想知道是否有可能,只是可能,有一种方法可以告诉 GTM 向它注入的每个脚本添加一个随机数,但我找不到任何文档来支持这种希望/幻想。

有没有人遇到过这个问题,并找到了解决这个问题的方法?

(我不能像这里提到的那样从脚本中提取主机 -如何让 Google 标签管理器和内容安全策略共存? - 因为我们营销团队添加的自定义 HTML 标签是带有非空主体的标签,而不是只是带有源属性的标签,没有正文。)

content-security-policy google-tag-manager

5
推荐指数
0
解决办法
444
查看次数

来源:将 Cocoapods 用于 Firebase 时未绑定变量错误

我已经集成FirebaseGoogleTagManager使用的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)

ios cocoapods firebase google-tag-manager xcode10.1

5
推荐指数
1
解决办法
4766
查看次数

如何在 Gatsby.js 中使用 gatsby-plugin-google-gtag?

我刚刚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)

google-tag-manager reactjs gatsby google-ads-api

5
推荐指数
1
解决办法
2116
查看次数