php - 如何使用“ga”命令通过 Analytics.js 向谷歌分析发送购买请求?
问题描述
好的,让我们开始吧,我确实在所有页面的“head”模板中包含了小脚本
<script type="text/javascript">
(function(i,s,o,g,r,a,m){i["GoogleAnalyticsObject"]=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,"script","https://www.google-analytics.com/analytics.js","ga");
ga("create", "' . $this->getTrackId() . '", "auto");
ga("require", "ec");
ga("send", "pageview");
</script>
和其他脚本:
查看产品详情
<script type="text/javascript">
ga("ec:addProduct", { // Provide product details in a productFieldObject.
"id":"' . $post_id . '", // Product ID (string).
"name":"' . $title . '", // Product name (string).
"category":"' . $categories . '" // Product category (string).
});
ga("ec:setAction","click", { // click action.
"list":"' . $categories . '" // Product list (string).
});
ga("send", "pageview");
</script>
<script type="text/javascript">
ga("ec:addProduct", {
"id": "' . $post_id . '",
"name": "' . $title . '",
"category": "' . $categories . '"
});
ga("ec:setAction", "detail");
ga("send", "pageview");
</script>
购买
<script type="text/javascript">
ga("ec:addProduct", {
"id": "'.$product_id_arr.'",
"name": "'.$name.'",
"variant": "'.$variant.'",
"price": "'.$subtotal.'",
"quantity": "'.$qty.'"
});
ga("ec:setAction", "purchase", {
"id": "'.$trans.'"
});
ga("send", "pageview");
</script>
和其他经典的 analytics.js 功能
每个代码都包含 ga(“发送”、“浏览量”);行,但正因为如此,浏览量统计数据会增加数倍且不正确。没有这条线,诸如“购买”之类的数据将停止发送。我该怎么办?
我需要使页面浏览次数正确,同时还要发送其他数据,有哪些选项?
解决方案
由于您已经为所有页面“发送”页面浏览量,因此您可以做的是使用“事件”来处理其余部分。这是假设产品详细信息和产品购买都是发生在同一页面上的事件。
例如,您可以发送事件,而不是发送产品详细信息的综合浏览量:
ga('send', 'event', 'product', 'view-detail', 'PRODID000111');
购买:
ga('send', 'event', 'product', 'purchase', 'PRODID000111');
模式是
ga('send', 'event', {EVENT CATEGORY}, {EVENT ACTION}, {EVENT LABEL});
推荐阅读
- docker - dockerfile 完成构建后供应商文件夹消失
- php - 如何将产品页面上输入的文本框值显示到结帐和购物车页面
- java - 如何为 Quarkus REST 客户端配置 ObjectMapper
- php - Facebook 入站回复通过 PHP 中的 Nexmo API
- enums - 如何将全局枚举值转换为 Godot 中的字符串?
- appxmanifest - 如何在 Windows 应用程序打包项目中设置 ForceUpdateFromAnyVersion?
- c# - 公共库代码中的连接服务接口
- javascript - Javascript:在对象数组中的特定索引处添加键和值
- android - CursorIndexOutOfBoundsException:请求索引 -1,尝试从数据库获取单行时大小为 3
- javascript - 使用 jQuery 的 css() 方法时没有换行符的 JavaScript Beautifier