文章目录
前言
所谓“埋点”,是数据采集领域(尤其是用户行为数据采集领域)的术语,指的是针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。
1.埋点可分为:代码埋点、可视化埋点、无埋点
代码埋点:在网页或者应用程序中中加上一些代码的,当用户触发相应行为时,进行数据上报,也就是代码埋点。
可视化埋点:利用可视化交互手段,数据产品/数据分析师可以通过可视化界面配置事件,进行数据上报。
无埋点:无埋点是指开发人员集成采集 SDK 后,SDK 便直接开始捕捉和监测用户在应用里的所有行为,并全部上报,不需要开发人员添加额外代码。
2.埋点数据统计可分为:
客户端数据:页面点击数据,比如:tab栏的点击,某个icon的点击(各入口点击对比使用情况,统计页面点击行为的转化漏斗)。
服务端数据:安装数据,下载后安装情况;内容数据,比如某个视频内容 曝光/展示/播放数据;搜索内容。
一、商品埋点统计功能实现
1.后台统计代码
class VisitCategoryView(View):
def get(self,request,category_id):
# ① 获取分类id
# ② 根据分类id查询分类,判断分类是否存在
category = GoodsCategory.objects.get(id=category_id)
except Exception as e:
logger.error(e)
return render(request,'404.html')
# 我们需要查询 当天的,分类id的记录
# yyyy-mm-dd
# from datetime import datetime
# now = datetime.now()
# today_date = datetime.strptime(now,'%Y-%m%-%d')
from django.utils import timezone
today = timezone.localdate()
gvc=GoodsVisitCount.objects.get(date=today,category_id=category_id)
except GoodsVisitCount.DoesNotExist:
# 我们以天为单位,如果当天有统计数据,则应该更新统计数据
GoodsVisitCount.objects.create(
date=today,
count=1,
category_id=category_id
else:
gvc.count+=1
gvc.save()
# ③ 我们以天为单位,如果当天没有统计数据,则应该新增统计数据
# ④ 返回相应
return http.JsonResponse({'code':RETCODE.OK,'errmsg':'ok'})
2.前台请求接口代码
// 记录商品详情的访问量
detail_visit(){
if (this.category_id) {
var url = this.hots + '/detail/visit/' + this.category_id + '/';
axios.post(url, {}, {
headers: {
'X-CSRFToken': getCookie('csrftoken')
responseType: 'json'
.then(response => {
console.log(response.data);