首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >angulartics2自定义事件会发送到facebook,但不会发送到谷歌分析

angulartics2自定义事件会发送到facebook,但不会发送到谷歌分析
EN

Stack Overflow用户
提问于 2018-11-08 16:32:20
回答 1查看 665关注 0票数 2

我在angular7项目中使用angulartics2向facebook和google analytics发起事件。

我有facebook和谷歌分析配置使用谷歌标签管理器。

问题是我的自定义事件被触发并发送到facebook,而不是google analytics。

<head>标签下面,我有谷歌标签管理器代码。

在main component typescript文件中,我添加了以下代码:

代码语言:javascript
复制
constructor(
  private angulartics2GoogleTagManager: Angulartics2GoogleTagManager,
  private angulartics2Facebook: Angulartics2Facebook,
  private angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics
            ) {
    this.angulartics2Facebook.startTracking();
    this.angulartics2GoogleTagManager.startTracking();
    this.angulartics2GoogleAnalytics.startTracking();
...

例如,当人们向购物车添加商品时,我想激发一个有关它的事件。

所以在我的购物车服务中,我在构造函数中注入了angulartics2:

代码语言:javascript
复制
 constructor(@Inject(LOCAL_STORAGE) private storage: StorageService,
                private angulartics2: Angulartics2
                ) 

然后在相关的地方,我用下面的代码触发事件:

代码语言:javascript
复制
    this.angulartics2.eventTrack.next({action: 'addToCart', properties: {category: 'Cart', label: keyName, value: quantity}});

使用facebook像素chrome扩展,我可以看到检测到自定义事件,使用google events chrome扩展,我可以看到没有检测到任何事件。

我遗漏了什么?我没有正确配置的是什么?

谷歌分析在谷歌标签管理器中配置正确,我确实看到用户计数和页面浏览量计数正常。

任何关于这个问题的信息都将不胜感激。

谢谢

更新

感谢@XTOTHEL提供更多的调查信息。

因此,在app.component.ts构造函数中,我只启用了google tag manager来开始跟踪。

不幸的是,google标签管理器没有检测到任何被触发的事件。

附加了一个谷歌标签管理器控制台的屏幕截图后,添加东西到购物车和添加addToCart自定义事件的angulartics2代码被激发。

更新2

EN

回答 1

Stack Overflow用户

发布于 2020-01-08 06:41:16

我不知道这是不是你要找的东西,但是我从Angulartics2GoogleTagManager那里得到了一些pushLayer方法的GTM事件,来自一个在Angulartics2GoogleTagManager上扩展的服务:

代码语言:javascript
复制
@Injectable()
export class GoogleTagManagerService extends Angulartics2GoogleTagManager {

  public gtmProperties: GoogleTagManagerProperties = new GoogleTagManagerProperties();

  pageTrack(path: string) {
    if (typeof dataLayer !== 'undefined' && dataLayer) {
      dataLayer.push({
        event: 'pageView',
        action: path,
        'content-name': path,
        userId: this.angulartics2.settings.gtm.userId,
        ...this.gtmProperties
      });
    }
    return true;
  }

  setSearchCriteria(type: string, criteria) {
    this.pushLayer(type.toLowerCase().indexOf('listings') > -1 ?
      {
        event: 'search',
        action: type,
        'content-name': type,
        userId: this.angulartics2.settings.gtm.userId,
        searchCriteriaListings: criteria
      } : {
        event: 'search',
        action: type,
        'content-name': type,
        userId: this.angulartics2.settings.gtm.userId,
        searchCriteriaPostings: criteria
      });
  }

}

这将为我带来一个新的dataLayer,其中包含以下信息:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53203973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档