Google Analytics(分析):将自定义互动字段添加到社交互动中

时间:2019-11-22 09:27:13

标签: angular google-analytics google-analytics-api

有时,我的应用程序UI中有两个共享按钮(取决于状态)。它们可以共享相同的数据,但是位于UI的不同部分。我们要分析从哪个按钮(UI的一部分)执行共享。我希望这部分使用fieldsObject字段,如documentation:

所示

ga('send', 'social', [socialNetwork], [socialAction], [socialTarget], [fieldsObject]);

但是,我可以找到的所有示例仅利用了前三个字段,通常是:

ga('send', { hitType: 'social', socialNetwork: 'Twitter', socialAction: 'share', socialTarget: 'http://www.example.com/article-01' });

此外,我不理解文档的含义:

  

”请注意,与所有发送命令一样,在   便利性参数也可以在fieldsObject中指定。”

我可能正在利用“便利性参数”。 我的共享代码(来自Angular服务):

reportShare(media:string, context: string) { let pageUrl: string = this.sanitizeURL(); ga('send', { hitType: 'social', socialNetwork: media, socialAction: 'share', socialTarget: pageUrl, fieldsObject: context }); }

我的Google Analytics(分析)调试器说:

VM5405 analytics_debug.js:16 Running command: ga("send", {hitType: "social", socialNetwork: "Twitter", socialAction: "share", socialTarget: "/find/1160", fieldsObject: "machine"})

但是然后: Set called on unknown field: "fieldsObject".

从其余部分我们可以看到,没有传递“ fieldsObject”:

adSenseId (&a) 1505578412 anonymizeIp (&aip) 1 apiVersion (&v) 1 clientId (&cid) 1703756191.1573561297 encoding (&de) UTF-8 hitType (&t) social javaEnabled (&je) 0 language (&ul) en-us location (&dl) http://localhost/find/1160 screenColors (&sd) 24-bit screenResolution (&sr) 1680x1050 socialAction (&sa) share socialNetwork (&sn) Twitter socialTarget (&st) /find/1160 title (&dt) This pagetitle trackingId (&tid) UA-*********-1 viewportSize (&vp) 1680x916

有没有一种方法可以通过社交互动将fieldsObject与上下文字符串一起传递?

2 个答案:

答案 0 :(得分:1)

您不应命名该fieldObjects。 文档指出,fieldObjects是未在字段签名中传递的字段,这意味着要发送的其他任何字段都需要重新发送。文档中有关fieldObjects的状态:

  

一个对象,用于指定任何以下未指定的剩余值   字段参数。

     

如果在fields参数和fieldsObject中都设置了字段,则   将使用fieldsObject中的值。

所以我认为应该是:

ga('send', {
        hitType: 'social',
        socialNetwork: media,
        socialAction: 'share',
        socialTarget: pageUrl
    }, 
    {
        anyOtherLabel: value
    }
  );

关于ga命令的文档参考以及更多示例,可以在这里查看:https://developers.google.com/analytics/devguides/collection/analyticsjs/command-queue-reference#method-details

答案 1 :(得分:1)

感谢您的回复! 首先,我已经从analytics.js迁移到gtag.js。

我在GA界面中创建了自定义维度: 管理员>自定义定义>自定义维度,并将其命名为“共享上下文”。 gtag的自定义维度为documentet here

然后我更新我的js调用:

window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-**********-*', {
    'custom_map': {'dimension1': 'context'},
    'custom_map': {'dimension2': 'context'},
    'anonymize_ip': true,
    'allow_ad_personalization_signals': false
 });

然后我可以在报告服务中致电:

reportShare(media:string, context: string) {
    gtag('event', 'Sharing Context', {
        'dimension2': context,
        'event_category': 'social',
        'event_label': media,
        'value': this.sanitizedURL
    });
}

最后,在 Acquisition> Social> Plugins 下,我可以从 Social Entity> Secondary Dimensions> Custom Dimension> Share Context (这是您提供的名称)访问我的自定义维度创建自定义维度时)。

有关reporting non-standard data as custom dimensions & metrics的更多信息。