【Google】关于Google Analytics埋点及API获取数据

本文是在实际操作中踩到的一些坑,并不是操作手册。具体的还是需要仔细按照官方文档操作。

参考文档:https://developers.google.com/analytics/

重点看标红的文档即可

普通事件埋点

各端需要跟产品端确定好统一的事件名称和参数,否则数据混乱,通过api获取数据非常不准确

以前端代码为例

gtag('event', '<event_name>', {
<event_parameters>
});//举例
gtag('event', 'banner_view', {
banner_id:4332
});

后端

event_name根据确定好的场景进行设置(注意:禁止将id直接设置在事件名称中,比如 product_view_23423之类的。事件数量暂无限制,google analytics本身预设了click、first_visit、page_view、scroll、session_start等事件,日常的行为均被记录到预设事件中), event_parameters则是事件向google analytics传递的参数。如果要根据参数中的某个值查询,则需要这个参数在自定义维度中添加过。比如banner_id,

这个自定义维度不能超过50个。自定义维度和指标在后台设置后需要一两天后数据才可查询。

注意:如果某个维度在一天内的唯一值超过 500 个,该维度就会被视为高基数维度。如果存在高基数维度,报告就更有可能达到其行数上限,从而导致出现“(其他)”行。只有当信息很重要且是实现业务目标所必需的,才应使用高基数维度。

如何理解以上这段话,举例:

gta('event','product_view',{id:21332
})

这里设置了一个维度id,当商品的数量达到成千上万,这里的id唯一值将超过500,这种维度会视作高基数维度。那要对商品进行某些维度上的分析,如何做呢?google analytics针对电商平台设置了专门的维度,参考https://developers.google.com/analytics/devguides/collection/ga4/ecommerce?client_type=gtag。

如何去理解维度和指标?https://support.google.com/analytics/answer/9143382

维度:是描述数据的属性,例如各种id,渠道,来源,机型,年龄,性别,事件,位置,国家城市等等,维度通常用于对数据进行分组或筛选

指标:是描述数据的数量,时间,百分比,数量,活跃数,用户数等等

谷歌预定维度和指标 https://developers.google.com/analytics/devguides/reporting/data/v1/api-schema?hl=zh-cn#dimensions

如何衡量同一个用户在不同平台的活动?https://support.google.com/analytics/answer/9213390

借助 User-ID 功能,您可以将自己的标识符与具体用户关联起来,以便在不同的会话以及各种设备和平台上关联他们的行为。Google Analytics(分析)会将每个 User-ID 解读为一个单独的用户,这使得您可以获得更准确的用户计数,让您更全面地了解用户与您的业务的关系。

gtag('config', 'TAG_ID', { 'user_id': 'USER_ID'
});

各端在用户登录后,可将USER_ID设置为用户id,这样该用户在各端的数据都能统一起来。
 

电商平台事件埋点

https://developers.google.com/analytics/devguides/collection/ga4/ecommerce?client_type=gtag

针对电商类网站,google analytics有专门设置特定的参数,按照文档设置即可

后端通过API埋点

推送参数参考

https://developers.google.com/analytics/devguides/collection/protocol/ga4/sending-events

推送地址:https://www.google-analytics.com/mp/collect

验证地址: https://www.google-analytics.com/debug/mp/collect

Android和IOS的firebase_app_id,web的measurement_id数据流中查看

Measurement Protocol API 密钥,也是在数据流中创建

新事件必须先调用验证,在推送埋点数据,否则不会被谷歌收录

汇总数据流

每个视图都是分散的,挨个获比较麻烦,需要把各端数据流合并

管理》数据流

客户端汇总每个视图都是分散的,挨个获比较麻烦,需要把各端数据流合并

如果后端的埋点数据需要区分来源,那么不同端的数据需要打到对应的数据流中

通过API拉取数据

拉取参数参考

https://ga-dev-tools.web.app/ga4/query-explorer/

1API启用

https://developers.google.com/analytics/devguides/reporting/data/v1/quickstart-client-libraries

2、身份验证

创建和管理服务帐号密钥

https://console.cloud.google.com/projectselector2/iam-admin/serviceaccounts?supportedpurview=project

创建完后将类似redmou-test@redmou-test.iam.gserviceaccount.com账号回填到google analytics 后台并设置好相关权限

3API接入 按照SDK文档

java构建实例:https://github.com/googleapis/java-analytics-data/tree/main/samples/snippets/src/main/java/com/example/analytics

1)PROPERTY_ID指的是

2)接口请求参数里metrics是指标,返回参数里会根据所列的指标返回响应的数值。dimensions是维度。一般查询事件 metrics 是 eventValue,dimensions 是eventName,会把所有事件结果返回。请求参数里还有dimensionFilter是根据之前请求维度筛选,同理metricFilter。 自定义维度查询,比如:customeEvent:banner_id。

具体可以通过

https://ga-dev-tools.web.app/ga4/query-explorer/

进行操作。

请求参数举例:复制代码通过json格式化在线工具 格式化查看更清晰

{"dimensions":[{"name":"platform"},{"name":"customEvent:icon_id"}],"metrics":[{"name":"eventCount"}],"dateRanges":[{"startDate":"30daysAgo","endDate":"yesterday"}],"keepEmptyRows":true,"metricAggregations":["TOTAL"]
}

返回数据举例:

{"dimensionHeaders":[{"name":"platform"},{"name":"customEvent:icon_id"}],"metricHeaders":[{"name":"eventCount","type":"TYPE_INTEGER"}],"rows":[{"dimensionValues":[{"value":"web"},{"value":"(not set)"}],"metricValues":[{"value":"135"}]},{"dimensionValues":[{"value":"web"},{"value":"1002"}],"metricValues":[{"value":"5"}]},{"dimensionValues":[{"value":"web"},{"value":"1003"}],"metricValues":[{"value":"4"}]},{"dimensionValues":[{"value":"web"},{"value":"1001"}],"metricValues":[{"value":"2"}]},{"dimensionValues":[{"value":"web"},{"value":"1004"}],"metricValues":[{"value":"2"}]},{"dimensionValues":[{"value":"web"},{"value":"1005"}],"metricValues":[{"value":"2"}]}],"totals":[{"dimensionValues":[{"value":"RESERVED_TOTAL"},{"value":"RESERVED_TOTAL"}],"metricValues":[{"value":"150"}]}],"rowCount":6,"metadata":{"currencyCode":"CNY","timeZone":"Asia/Shanghai"},"kind":"analyticsData#runReport"
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/587902.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python:日期和时间类型学习

背景 在非开发环境经常需要做一下日期计算&#xff0c;就准备使用Python&#xff0c;顺便记下来学习的痕迹。 代码 1 1 # coding utf-82 2 3 3 from datetime import *4 4 5 5 ########################## 日期 ##########################6 6 date_now date.today()…

如何实现WinApp的UI自动化测试?

WinApp&#xff08;WindowsAPP&#xff09;是运行在Windows操作系统上的应用程序&#xff0c;通常会提供一个可视的界面&#xff0c;用于和用户交互。例如运行在Windows系统上的Microsoft Office、PyCharm、Visual Studio Code、Chrome&#xff0c;都属于WinApp。常见的WinApp&…

使用内网穿透轻松实现在外远程访问本地威联通QNAP NAS

文章目录 前言1. 威联通安装cpolar内网穿透2. 内网穿透2.1 创建隧道2.2 测试公网远程访问 3. 配置固定二级子域名3.1 保留二级子域名3.2 配置二级子域名 4. 使用固定二级子域名远程访问 前言 购入威联通NAS后&#xff0c;很多用户对于如何在外在公网环境下的远程访问威联通NAS…

学习使用echats实现双刻度echarts双Y轴,左右Y轴数据的方法

学习使用echats实现双刻度echarts双Y轴&#xff0c;左右Y轴数据的方法 代码效果图 代码 <!--此示例下载自 https://echarts.apache.org/examples/zh/editor.html?cline-stack&langjs --> <!DOCTYPE html> <html lang"en" style"height: 10…

Visual Studio 任务列表

任务列表 帮助我们快速找到注释位置&#xff08;用在需要反复查找修改的地方&#xff09; 使用//todo&#xff1a;注释的内容就会显示在任务列表中。 任务列表如何打开&#xff1f; 视图—任务列表 &#xff08;CTRlwt&#xff09; 创建自定义令牌&#xff1a; 在 “工具”…

学习路径概览

根据codewave 低代码官方的资料&#xff0c;我们以一个简单的初级采购管理系统为例&#xff0c;带大家进行学习。学习的案例框架如下&#xff1a; https://ik4mh7u2np.feishu.cn/docx/NjyEd9qD5oElkoxJhapc3fV4nPe?fromfrom_copylink​​​​​​​ 主要分为以下四个学习模块

L1-075:强迫症

题目描述 小强在统计一个小区里居民的出生年月&#xff0c;但是发现大家填写的生日格式不统一&#xff0c;例如有的人写 199808&#xff0c;有的人只写 9808。有强迫症的小强请你写个程序&#xff0c;把所有人的出生年月都整理成 年年年年-月月 格式。对于那些只写了年份后两位…

Centos7部署Keepalived+lvs服务

IP规划&#xff1a; 服务器IP地址主服务器20.0.0.22/24从服务器20.0.0.24/24Web-120.0.0.26/24Web-220.0.0.27/24 一、主服务器安装部署keepalivedlvs服务 1、调整/proc响应参数 关闭Linux内核的重定向参数&#xff0c;因为LVS负载服务器和两个页面服务器需要共用一个VIP地…

『番外篇八』SwiftUI 脑洞大开实现“另类”视图跟随方法

概览 在 SwiftUI 的开发中,我们时常需要用指尖丝滑般地操作指定视图:比如,我们需要在拖动视图后让它自动归位,或者拖动一个视图时让另一个视图跟随它移动。 我们随后将会详细讨论上述两个 SwiftUI 中与视图移动相关场景的实现。 在本篇博文中,您将学到如下内容: 概览1.…

python期刊稿件在线投稿系统q2ud0

本系统的用户可分为管理员、投稿者、审稿人和编辑四个用户角色组成。管理员可以管理系统内所有功能&#xff0c;主要有个人中心、投稿者管理、审稿人管理、编辑管理、个人稿件管理、审核稿件管理、稿件信息管理、类型管理等功能&#xff1b;编辑登录系统主要有个人中心、审核稿…

四种常见智能指针的介绍

一、介绍 当类中有指针成员时&#xff0c;一般有两种方式来管理指针成员&#xff1a;一是采用值型的方式管理&#xff0c;每个类对象都保留一份指针指向的对象的拷贝&#xff1b;另一种更优雅的方式是使用智能指针(smart pointer)&#xff0c;从而实现指针指向的对象的共享。 …

统信系统常见问题解决方法

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 背景说明 本文所说的问题&#xff0c;是基于浪潮统信UOS的环境存在的问题。 一、WPS新建文档默认保存格式不对 解决办法&#xff1a; 1.编辑/opt/apps/cn.wps.wps-office-pro/files/kingsoft/wps-office/…

UML类图学习

UML类图学习 UML类图是描述类之间的关系概念1.类(Class)&#xff1a;使用三层矩形框表示2.接口(interface)&#xff1a;使用两层矩形框表示&#xff0c;与类图主要区别在于顶端有<<interface>>显示3、继承类&#xff08;extends&#xff09;&#xff1a;用空心三角…

蓝桥杯C/C++程序设计——单词分析

题目描述 小蓝正在学习一门神奇的语言&#xff0c;这门语言中的单词都是由小写英文字母组 成&#xff0c;有些单词很长&#xff0c;远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词&#xff0c;他准备不再完全记忆这些单词&#xff0c;而是根据单词中哪个字母出…

Pytest 项目结合Jenkins

一、window安装centos7虚拟机 参考网上其他教程 二、Linux安装Jenkins 进入jenkins.io网址&#xff0c;点击download&#xff0c;选择CentOS版本 1、Linux中安装java环境和git Jenkins的运行需要java环境&#xff1b;安装git是为代码上传给仓库做准备&#xff1b; yum - y…

C语言-环境搭建

文章目录 内容Notepad的安装gcc编译工具的配置 编写软件的安装&#xff1a;软件传送门&#xff1a;Notepad软件选择一个合适的路径&#xff0c;一键傻瓜式安装即可 编译工具gcc在windows环境下的配置&#xff1a;解压gcc编辑工具包解压出来的mingw64文件放到一个合适的磁盘路径…

华为HCIE-Datacom课程介绍

厦门微思网络HCIE-Datacom课程介绍 一、认证简介 HCIE-Datacom&#xff08;Huawei Certified ICT Expert-Datacom&#xff09;认证是华为认证体系中的顶级认证&#xff0c;HCIE-Datacom认证定位具备坚实的企业网络跨场景融合解决方案理论知识&#xff0c;能够使用华为数通产品…

副业类小报童热门专栏TOP15

今天介绍15个副业小报童&#xff0c;可以说是当前小报童平台&#xff0c;副业类专栏的天花板内容了 这些专栏&#xff0c;都有免费内容可以查看&#xff0c;而且还是3天无理由退款的&#xff0c;完全可以尝试着订阅一波 关键单价都非常亲民&#xff0c;怎么都不亏&#xff01…

安装与部署Hadoop

一、前置安装准备1、机器2、java3、创建hadoop用户 二、安装Hadoop三、环境配置1、workers2、hadoop-env.sh3、core-site.xml4、hdfs-site.xml5、linux中Hadoop环境变量 四、启动hadoop五、验证 一、前置安装准备 1、机器 主机名ip服务node1192.168.233.100NameNode、DataNod…

工智能基础知识总结--什么是CRF

什么是CRF CRF是给定随机变量X的条件下,随机变量Y的马尔科夫随机场(概率无向图)。 这里主要介绍在线性链上的特殊的条件随机场,称为线性链条件随机场,可用于序列标注等问题。 线性链条件随机场如下图所示,输出变量仅与输入变量以及相邻输出变量有连线。 CRF的参数化表示…