首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google :在社交互动中添加自定义交互字段

Google :在社交互动中添加自定义交互字段
EN

Stack Overflow用户
提问于 2019-11-22 09:27:13
回答 2查看 339关注 0票数 2

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

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

但是,我可以找到的所有示例都只使用前三个字段,通常如下所示:

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

此外,我也不明白这些文档意味着什么:

“请注意,与所有发送命令一样,在方便参数中传递的字段也可以在fieldsObject中指定。”

我想也许我是在利用“方便参数”。我的共享代码(来自角服务):

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

我的谷歌分析调试器说:

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?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-02 08:48:00

谢谢你的回复!首先,我从analytics.js搬到了gtag.js。

我在GA接口中创建了自定义维度: Admin >>Custom维度,并将其命名为“共享上下文”。gtag的自定义维度是这里的文件集

然后我更新我的js呼叫:

代码语言:javascript
复制
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
 });

在我的报告服务中,我可以打电话给:

代码语言:javascript
复制
reportShare(media:string, context: string) {
    gtag('event', 'Sharing Context', {
        'dimension2': context,
        'event_category': 'social',
        'event_label': media,
        'value': this.sanitizedURL
    });
}

最后,在Acquisition > Social > Plugins下,我可以访问我的自定义维度: Social实体>次级维度>定制维度>共享上下文(这是创建自定义维度时提供的名称)。

更多关于将非标准数据报告为自定义维度和度量的信息。

票数 1
EN

Stack Overflow用户

发布于 2019-11-22 15:15:47

你不应该给那个fieldObjects取名。文档指出,fieldObjects是那些在字段签名中没有传递的字段--这意味着要发送的任何其他字段。有关fieldObjects的文档说明:

用于指定任何字段参数中未指定的任何剩余值的对象。 如果在字段参数和fieldsObject中都设置了字段,则将使用fieldsObject中的值。

所以我认为应该是:

代码语言:javascript
复制
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

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

https://stackoverflow.com/questions/58991163

复制
相关文章

相似问题

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