最近做了在Shopify中接入Ga打点的需求,在这里记录一下
Shopify一键接入Ga
Shopify有一种一键全局接入Ga打点的入口:Online Store/Preferences/Google Analytics,这种打点可以满足基本的数据统计需求,如果需要实现其它统计需求(例如自定义内容统计),则必须手动去打一些点。
Shopify手动接入Ga
因为Shopify一键接入Ga使用的是analytics.js 库来执行打点,所以这里建议使用这种方式打点。我接到的需求是要在统计每个页面的pageview外,还需要统计用户点击了页面上的哪些按钮,我当时以为Shopify用的是Universal Analytics,结果我在代码里面接入之后,gtag的回调执行了两次,而且数据也没有统计到,这是因为同一个账户id使用了analytics.js和gtag.js,这里要提醒有遇到的小伙伴注意一下。
如果有不熟悉analytics.js和gtag.js的,可以参考官网developers.google.com/analytics/d… 、 developers.google.com/analytics/d… 、developers.google.com/analytics/d…
熟悉Shopify开发的都知道,Shopify默认是没有权限去修改checkout.liquid这个文件的,那如果PM要求我们统计用户在checkout页面的行为呢?Shopify有一种方式可以让我们通过注入脚本的方式来实现这个需求,入口就在上文中提到的一键全局接入Ga打点入口的下方,
这个输入框里面只能输入js脚本。Shopify会在不同的页面注入这些js脚本,如果是在普通页面,这段js脚本会被插入到网页head里面,如果是在checkout页面,Shopify会在页面append一个iframe,然后将输入框里的js脚本写在iframe内,这里要注意一点就是这里面的window是iframe里面的window,如果要获取独立站页面的DOM元素,就需要使用window.parent来获取。比如我这里判断是否是checkout页面
如果pathname里面包含checkout,就可以判断是checkout页面,然后就可以在里面执行一些特定的数据统计了。
这里我遇到一个问题就是如果使用了ga的hitCallback,站点会报错
并且打点也不会成功,有知道的大佬吗?
还有一些需求是要在订单页统计数据的话,可以进入settings/checkout里面,找到Order processing,在下面有一个输入框,这里面可以输入html、liquid、js,我们可以在这里来实现PM要求的数据统计需求。