标签: google-tag-manager

Javascript CDATA部分

最近,我正在创建一个模块,将google再营销代码添加到网上商店.我根据文档为不同类型的页面(产品,类别,购物车等)准备了google_tag_params.一切顺利,直到客户使用Google Tag Assistant插件检查了Chrome页面.它显示CDATA部分的警告.起初我不明白他在说什么,因为参数很好,我没有在控制台中收到任何错误.所以我检查了Google Tag助手,令我惊讶的是,它的行为如下.

代码:

<script type="text/javascript">
//<![CDATA[
var google_conversion_id = <?php echo $this->getConversionId();?>;
var google_conversion_label = '<?php echo $this->getConversionLabel();?>';
var google_custom_params = window.google_tag_params;
var google_remarketing_only = <?php echo $this->getRemarketingOnlyFlag();?>;
//]]> 
</script>
Run Code Online (Sandbox Code Playgroud)

它显示警告"缺少CDATA评论",并指向文档https://support.google.com/tagassistant/answer/2978937?ref_topic=2947092#cdata_comments

但改变这个

<script type="text/javascript">
/*<![CDATA[*/
var google_conversion_id = <?php echo $this->getConversionId();?>;
var google_conversion_label = '<?php echo $this->getConversionLabel();?>';
var google_custom_params = window.google_tag_params;
var google_remarketing_only = <?php echo $this->getRemarketingOnlyFlag();?>;
/*]]> */
</script>
Run Code Online (Sandbox Code Playgroud)

使警告消失.

所以我的问题是这个.在任何浏览器中,在线注释和多行注释之间是否有任何区别?这只是谷歌标签助手奇怪的行为,不承认这些评论?

javascript cdata google-tag-manager

6
推荐指数
2
解决办法
2617
查看次数

将Google Analytics与FireBase + Google跟踪代码管理器Android SDK配合使用

如何在Android中使用Firebase + Google跟踪代码管理器SDK触发Google Analytics代码?我将Firebase容器添加到我的资产/容器文件夹,并使用我的GA跟踪ID创建了Google Analytics代码.我完全按照本教程中给出的步骤操作:https://developers.google.com/tag-manager/ios/v5/#introduction

我使用以下代码触发appLaunch事件:
mFirebaseAnalytics.logEvent("appLaunch",null);

如何在我的Google Analytics报告中看到这一点?如果我错了,请纠正我.以下是执行上述代码时打印的日志.

05-29 04:01:19.947 10378-10419/com.aiswarya.firebase I/FA:找不到标签管理器,因此不会被使用
05-29 04:01:19.947 10378-10419/com.aiswarya.firebase D/FA:记录事件(FE):appLaunch,Bundle [{_ o = app}]
05-29 04:01:19.947 10378-10419/com.aiswarya.firebase V/FA:使用测量服务
05-29 04:01: 19.947 10378-10419/com.aiswarya.firebase V/FA:连接到远程服务05-29 04:01:19.967 10378-10419/com.aiswarya.firebase D/FA:已连接到远程服务
05-29 04:01: 19.967 10378-10419/com.aiswarya.firebase V/FA:处理排队的服务任务:1

提前致谢!

android google-analytics firebase google-tag-manager

6
推荐指数
1
解决办法
8485
查看次数

Javascript在Chrome中返回null,在源代码中返回HTML元素

我正在尝试在Chrome的控制台中阅读以下HTML:

<span id="lblSummaryFreight">Kr 79</span>
Run Code Online (Sandbox Code Playgroud)

使用此JS:

document.getElementById('lblSummaryFreight').innerHTML;
Run Code Online (Sandbox Code Playgroud)

但是,在页面加载后,运行此行将返回null或无效。如果我检查该元素,然后运行代码,它将按预期工作并返回“ Kr 79”。那么,是我不知道的某种DOM问题,还是特定于浏览器的问题?

我在Google跟踪代码管理器中将其用作变量,并且在50%的情况下均可使用。我无权访问网页本身的源代码,因此这就是为什么我需要依靠这种笨拙的方式获取数据的原因。

关于这一点的很多文章表明,这是因为脚本在DOM准备就绪之前就被触发了,但是我不认为这是一个问题,因为我也在页面加载后在控制台(和HTML)中对此进行了测试。元素),并且在Google跟踪代码管理器中,我指定了在DOM准备就绪后应触发代码。

有什么线索吗?

编辑/说明:我无法更改页面本身的代码,只能读取输出源,我正在通过GTM与JS进行尝试

html javascript google-chrome google-tag-manager

6
推荐指数
1
解决办法
900
查看次数

'Pods-App'目标具有传递依赖关系,包括在swift框架中使用GTM时的静态二进制文件

我正在尝试重做swift 3项目的一部分,使其成为一个快速框架,以便将其用作pod.问题是我需要使用GoogleTagManager legacy(v3)作为依赖项,并且在执行时遇到以下错误pod spec lint:

错误| [iOS] unknown:遇到未知错误('Pods-App'目标具有包含静态二进制文件的传递依赖项:(/ private/var/folders/7t/0cd0n1gn46xd7r1cywrgcy2w0000gn/T/CocoaPods/Lint/Pods/GoogleTagManager/Libraries/libTagManager .a))在验证期间.

或者,使用GTM v5:

错误| [iOS] unknown:遇到未知错误('Pods-App'目标具有包含静态二进制文件的传递依赖项:(/ private/var/folders/7t/0cd0n1gn46xd7r1cywrgcy2w0000gn/T/CocoaPods/Lint/Pods/GoogleTagManager/Frameworks/GoogleTagManager .framework))在验证期间.

我正在使用最新的cocoapods版本(1.1.0.rc.2),据我所知,问题来自GTM pod的依赖关系,其中至少有一个是静态库.

我读了一些线程,人们谈论在框架中安装静态库的工作区,或者在创建pod时将静态库包装到框架中.问题是静态库是GTM pod的依赖,所以我无法控制它.至少这就是我在这里所理解的.

这是我的Podfile:

# Uncomment this line to define a global platform for your project
platform :ios, '8.0'

target 'MyProject' do
  # Comment this line if you're not using Swift and don't want to use dynamic frameworks
  # use_frameworks!

  # Pods for MyProject
    pod 'GoogleTagManager', '~> 3.15.2'
end
Run Code Online (Sandbox Code Playgroud)

这是我的(缩短为StackOverflow)MyProject.podspec:

Pod::Spec.new do |s|

  s.name         = "MyProject" …
Run Code Online (Sandbox Code Playgroud)

ios cocoapods google-tag-manager swift3

6
推荐指数
1
解决办法
3104
查看次数

带有Angular 2的Google跟踪代码管理器:未捕获的ReferenceError:未定义osdlfm

我在Angular 2上使用动态组件加载来实现许多Google发布商代码广告,开发者控制台有时会向我显示以下错误:

Uncaught ReferenceError: osdlfm is not defined
Run Code Online (Sandbox Code Playgroud)

广告有效并且正确显示.但我不想看到那些错误.

google-tag-manager angular

6
推荐指数
0
解决办法
1499
查看次数

Android cordova中的Google跟踪代码管理器

我在使用ionic2/cordova构建的Android移动应用程序中集成G​​oogle跟踪代码管理器时遇到问题.在Web浏览器中运行时,一切正常ionic serve,但是本机构建存在问题.

iOS版:

它最初没有用,但在添加https://github.com/driftyco/cordova-plugin-wkwebview-engine插件后,谷歌分析开始接收流量.所以这个问题已经解决,并且可以正常运行.

安卓:

运行应用程序并使用Chrome控制台对其进行调试后,根本没有错误.该dataLayer变量可用,我可以将数据推入其中.true当没有为给定事件触发触发器时以及false当我使用适当类型的事件时,它也会返回有效响应.所以GTM似乎正确地识别了一切.我在网络选项卡中观察到桌面/ iOS正在向后https://www.google-analytics.com/collect?v=1&_v=j49&a=1838345933&t=pageview&[moredatahere]推送对象发送请求dataLayer,但Android应用程序不发送任何内容(网络选项卡中没有任何内容).我很好奇为什么会这样?为什么在Android上没有向GA提出请求?

这是我的index.html文件:

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
  <meta charset="UTF-8">
  <title>Ionic App</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
  <meta name="format-detection" content="telephone=no">
  <meta name="msapplication-tap-highlight" content="no">

  <link rel="icon" type="image/x-icon" href="assets/icon/favicon.ico">
  <link rel="manifest" href="manifest.json">
  <meta name="theme-color" content="#4e8ef7">

  <!-- 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-5CH5MGN');</script>
  <!-- End Google Tag Manager -->

  <!-- cordova.js required for cordova apps --> …
Run Code Online (Sandbox Code Playgroud)

android google-analytics cordova google-tag-manager ionic2

6
推荐指数
1
解决办法
2792
查看次数

如何在没有Cocoapod的情况下使用GTM?

我正在尝试在应用程序中使用GTM.目前,该应用程序没有使用CocoaPods,也不会使用CocoaPods.但GTM需要CocoaPods,似乎没有办法在没有CocoaPods的情况下安装GTM.但我希望有一种方法可以在没有CocoaPod的情况下使用GTM.我可以吗?

xcode ios google-tag-manager

6
推荐指数
0
解决办法
348
查看次数

如何使用reactjs实现GTM

我正在尝试用reactjs实现GTM.我使用了react-google-tag-manager,但它没有解决目的.不知何故,数据层需要采用特定的格式,并且需要在标签的正下方,但它只是我一次可以实现的其中之一.我尝试将代码直接放在template.html中,并从我想要的组件调用该函数,但这不起作用.

import React from 'react';
import gtmParts from 'react-google-tag-manager';

class GoogleTagManager extends React.Component {
   componentDidMount() {        
       const dataLayerName = this.props.dataLayerName || 'dataLayer';
       const scriptId = this.props.scriptId || 'react-google-tag-manager-gtm';

       if (!window[dataLayerName]) {
           const gtmScriptNode = document.getElementById(scriptId);

           eval(gtmScriptNode.textContent);
       }
   }

   render() {

       const gtm = gtmParts({
           id: this.props.gtmId,
           sourcegroup: this.props.gtmGroupname,
           sourceid:this.props.gtmSource,
           age:this.props.age,
           mtongue:this.props.gtmMtongue,
           city:this.props.city,

       });

       return (
           <div>
               <div>{gtm.noScriptAsReact()}</div>
               <div id={this.props.scriptId || 'react-google-tag-manager-gtm'}>
                   {gtm.scriptAsReact()}
               </div>
           </div>
       );        
   }
}

export default GoogleTagManager;
Run Code Online (Sandbox Code Playgroud)

我在DataLayer中推送参数并检查google tag assistant addon,整个数据表是空的.

google-tag-manager reactjs

6
推荐指数
1
解决办法
6289
查看次数

GTM(Google跟踪代码管理器)6.0和Firebase Analytics 5.0版本发生冲突

新的Firebase版本5.0导致版本与Google跟踪代码管理器发生冲突.有人有解决方案吗?

Podfile:

# Analytics
pod 'Firebase/RemoteConfig', '~> 5.0.0'
pod 'Firebase/Core', '~> 5.0.0'
pod 'GoogleTagManager', '~> 6.0'
pod 'GoogleIDFASupport'
pod 'GooglePlaces', '~> 2.7.0'
Run Code Online (Sandbox Code Playgroud)

错误我得到吊舱安装:

[!] CocoaPods could not find compatible versions for pod "FirebaseAnalytics":
  In Podfile:

Firebase/Core (~> 5.0.0) was resolved to 5.0.0, which depends on
  FirebaseAnalytics (= 5.0.0)

Firebase/RemoteConfig (~> 5.0.0) was resolved to 5.0.0, which depends on
  FirebaseRemoteConfig (= 3.0.0) was resolved to 3.0.0, which depends on
    FirebaseAnalytics (~> 5.0)

GoogleTagManager (~> 6.0) was resolved to …
Run Code Online (Sandbox Code Playgroud)

cocoapods google-tag-manager swift firebase-analytics xcode9.3

6
推荐指数
2
解决办法
678
查看次数

使用 gtag (GA4) 手动生成 GA 链接器参数

背景

要将 client_id 从一个域传递到另一个域,Google 支持向作为跨域跟踪设置一部分的传出链接添加“链接器”参数。此链接器参数包含client_id, session_id(我相信,有关 Google Ads 的信息,例如gclid)和基本指纹 + 时间戳。在接收域上,如果浏览器指纹匹配并且时间戳不是太远,则传递的client_idsession_id会存储在第二域上的第一方 cookie 中并随后使用。

Analytics.js / GA-UA

使用analytics.js(GA-UA),您可以轻松执行以下操作,手动修饰 URL:

function decorateUrl(urlString) {
  var ga = window[window['GoogleAnalyticsObject']];
  var tracker;
  if (ga && typeof ga.getAll === 'function') {
    tracker = ga.getAll()[0]; // Uses the first tracker created on the page
    urlString = (new window.gaplugins.Linker(tracker)).decorate(urlString);
  }
  return urlString;
}
Run Code Online (Sandbox Code Playgroud)

然而,当仅加载 gtag 时,window.ga并且window.gaplugins未定义。据我所知,目前没有记录的方法可以使用 gtag 的链接器参数手动生成链接。

在 Google 的文档中,他们建议手动设置链接器。(https://support.google.com/analytics/answer/10071811?hl=en#zippy=%2Cmanual-setup)但这有几个缺点,例如我必须创建一个自定义的“指纹”逻辑(以便修饰的URL不共享),例如不包含 …

javascript google-analytics google-tag-manager

6
推荐指数
1
解决办法
1807
查看次数