繁体   English   中英

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

[英]angulartics2 custom events are sent to facebook but not to google analytics

我将 angulartics2 与 angular7 项目一起使用,以将事件触发到 facebook 和 google 分析。

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

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

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

在主要组件打字稿文件中,我添加了以下代码:

constructor(
  private angulartics2GoogleTagManager: Angulartics2GoogleTagManager,
  private angulartics2Facebook: Angulartics2Facebook,
  private angulartics2GoogleAnalytics: Angulartics2GoogleAnalytics
            ) {
    this.angulartics2Facebook.startTracking();
    this.angulartics2GoogleTagManager.startTracking();
    this.angulartics2GoogleAnalytics.startTracking();
...

例如,当人们将商品添加到购物车时,我想触发一个关于它的事件。

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

 constructor(@Inject(LOCAL_STORAGE) private storage: StorageService,
                private angulartics2: Angulartics2
                ) 

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

    this.angulartics2.eventTrack.next({action: 'addToCart', properties: {category: 'Cart', label: keyName, value: quantity}});

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

我错过了什么? 我没有正确配置?

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

任何有关此问题的信息将不胜感激。

谢谢

更新

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

所以在app.component.ts构造函数中我只启用了谷歌标签管理器来开始跟踪。

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

在向购物车添加东西后附上谷歌标签管理器控制台的屏幕截图,以及添加addToCart自定义事件的 angulartics2 代码被触发。

在此处输入图片说明

更新 2

用于交互 addToCart 的标签选项卡

用于交互 AddToCart 的数据层选项卡

我不知道这是否是您要查找的内容,但是我从 Angulartics2GoogleTagManager 的 pushLayer 方法中获得了一些 GTM 事件,该事件来自在 Angulartics2GoogleTagManager 上扩展的服务:

@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,其中包含如下信息: 在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM