Angular Google Analytics:将自定义交互字段添加到社交交互
有时我的应用程序UI中有两个共享按钮(取决于状态)。它们可以共享相同的数据,但位于UI的不同部分。我们想分析共享是从哪个按钮(UI的一部分)执行的。我希望在这个部分中使用Angular Google Analytics:将自定义交互字段添加到社交交互,angular,google-analytics,google-analytics-api,Angular,Google Analytics,Google Analytics Api,有时我的应用程序UI中有两个共享按钮(取决于状态)。它们可以共享相同的数据,但位于UI的不同部分。我们想分析共享是从哪个按钮(UI的一部分)执行的。我希望在这个部分中使用字段sobject字段,如 ga('send'、'social'、[socialNetwork]、[socialAction]、[socialTarget]、[fieldsObject]) 但是,我能找到的所有示例都只使用了前三个字段,通常类似于: ga('send'{ hitType:'社交', 社交网络:“推特”, 社会行动
字段sobject
字段,如
ga('send'、'social'、[socialNetwork]、[socialAction]、[socialTarget]、[fieldsObject])代码>
但是,我能找到的所有示例都只使用了前三个字段,通常类似于:
ga('send'{
hitType:'社交',
社交网络:“推特”,
社会行动:“分享”,
社会目标:'http://www.example.com/article-01'
});代码>
此外,我不理解文档的含义:
请注意,与所有send命令一样,在
方便参数也可以在字段sobject
中指定
我想我可能是在利用“便利参数”。
我的共享代码(来自角度服务):
reportShare(媒体:字符串,上下文:字符串){
让pageUrl:string=this.sanitizeURL();
ga(‘发送’{
hitType:'社交',
社交网络:媒体,
社会行动:“分享”,
socialTarget:pageUrl,
fieldsObject:上下文
});
}
我的谷歌分析调试器说:
VM5405 analytics_debug.js:16运行命令:ga(“发送”、{hitType:“社交”、社交网络:“Twitter”、社交活动:“共享”、社交目标:“/find/1160”、字段对象:“machine”})
但是:
在未知字段上调用集合:“fieldsObject”。
正如我们从其余部分可以看到的,“fieldsObject”没有被传递:
adSenseId(&a)1505578412
匿名化EIP(&aip)1
apiVersion&v)1
客户ID和cid 1703756191.1573561297
编码和反编码UTF-8
hitType(&t)社交网络
已启用Java的(&je)0
美国语言和ul
位置(&dl)http://localhost/find/1160
屏幕颜色(&sd)24位
屏幕分辨率(&sr)1680x1050
社会行动(sa)股份
社交网络(sn)推特
socialTarget(&st)/find/1160
标题(&dt)此页面标题
trackingId(&tid)UA-*********-1
视口大小(&vp)1680x916
有没有一种方法可以使用社交互动传递带有我的上下文字符串的fieldsObject?你不应该给fieldObjects命名。
文档说明fieldObjects是字段签名中未传递的字段。这意味着您要发送的任何其他字段。文档说明了有关fieldObjects的信息:
一个对象,用于指定未在任何
字段参数
如果字段参数和字段对象中都设置了字段,则
将使用fieldsObject中的值
因此,我认为应该是:
ga('send', {
hitType: 'social',
socialNetwork: media,
socialAction: 'share',
socialTarget: pageUrl
},
{
anyOtherLabel: value
}
);
ga命令的文档参考和更多示例可在此处查看:感谢您的回复!
首先,我从analytics.js转到了gtag.js
我在GA界面中创建了自定义尺寸:
管理>自定义定义>自定义维度,并将其命名为“共享上下文”。gtag的自定义尺寸为
然后我更新我的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(创建自定义维度时提供的名称)访问我的自定义维度
更多信息。太好了,非常感谢!这有点难检查,因为在GA中显示社交数据需要一段时间。但是我能在社交插件页面上显示这个自定义值吗?我是否必须自定义视图(如果可能的话)才能显示它?我假设是的,它们也应该出现在那里。请编辑您的评论并从中删除您的标签,因为任何人都可以得到它!我不得不在新的评论中修改它,因为编辑的可能性已经丢失:是的,位于Acquisition>Social>Plugins。但是我不得不重新设计它:reportShare(media:string,context:string){let pageUrl:string=this.sanitizeURL();ga('set','dimension2',context);ga('send',{hitType:'social',socialNetwork:media,socialAction:'share',socialTarget:pageUrl})}
然后更新标记:config:gtag('config','UA-*********-**',{'custom_-map':{'dimension1':'context'},'custom_-map':{'dimension2':'context'},})
请在您测试并看到事件出现在引用的位置下后让我们知道,这样我也可以为每个人更新答案。我不得不改变我的整个方法。在上面发布了我的工作解决方案。感谢您的输入!