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

2023-12-27 16:52

本文主要是介绍【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"
}

这篇关于【Google】关于Google Analytics埋点及API获取数据的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/543787

相关文章

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法

消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法   消除安卓SDK更新时的“https://dl-ssl.google.com refused”异常的方法 [转载]原地址:http://blog.csdn.net/x605940745/article/details/17911115 消除SDK更新时的“

【LabVIEW学习篇 - 21】:DLL与API的调用

文章目录 DLL与API调用DLLAPIDLL的调用 DLL与API调用 LabVIEW虽然已经足够强大,但不同的语言在不同领域都有着自己的优势,为了强强联合,LabVIEW提供了强大的外部程序接口能力,包括DLL、CIN(C语言接口)、ActiveX、.NET、MATLAB等等。通过DLL可以使用户很方便地调用C、C++、C#、VB等编程语言写的程序以及windows自带的大

如何更优雅地对接第三方API

如何更优雅地对接第三方API 本文所有示例完整代码地址:https://github.com/yu-linfeng/BlogRepositories/tree/master/repositories/third 我们在日常开发过程中,有不少场景会对接第三方的API,例如第三方账号登录,第三方服务等等。第三方服务会提供API或者SDK,我依稀记得早些年Maven还没那么广泛使用,通常要对接第三方

Java基础回顾系列-第五天-高级编程之API类库

Java基础回顾系列-第五天-高级编程之API类库 Java基础类库StringBufferStringBuilderStringCharSequence接口AutoCloseable接口RuntimeSystemCleaner对象克隆 数字操作类Math数学计算类Random随机数生成类BigInteger/BigDecimal大数字操作类 日期操作类DateSimpleDateForma

Restful API 原理以及实现

先说说API 再说啥是RESRFUL API之前,咱先说说啥是API吧。API大家应该都知道吧,简称接口嘛。随着现在移动互联网的火爆,手机软件,也就是APP几乎快爆棚了。几乎任何一个网站或者应用都会出一款iOS或者Android APP,相比网页版的体验,APP确实各方面性能要好很多。 那么现在问题来了。比如QQ空间网站,如果我想获取一个用户发的说说列表。 QQ空间网站里面需要这个功能。

京东物流查询|开发者调用API接口实现

快递聚合查询的优势 1、高效整合多种快递信息。2、实时动态更新。3、自动化管理流程。 聚合国内外1500家快递公司的物流信息查询服务,使用API接口查询京东物流的便捷步骤,首先选择专业的数据平台的快递API接口:物流快递查询API接口-单号查询API - 探数数据 以下示例是参考的示例代码: import requestsurl = "http://api.tanshuapi.com/a

WordPress开发中常用的工具或api文档

http://php.net/ http://httpd.apache.org/ https://wordpress.org/ https://cn.wordpress.org/ https://core.svn.wordpress.org/ zh-cn:开发者文档: https://codex.wordpress.org/zh-cn:%E5%BC%80%E5%8F%91%E8%80%

Java后端微服务架构下的API限流策略:Guava RateLimiter

Java后端微服务架构下的API限流策略:Guava RateLimiter 大家好,我是微赚淘客返利系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿! 在微服务架构中,API限流是保护服务不受过度使用和拒绝服务攻击的重要手段。Guava RateLimiter是Google开源的Java库中的一个组件,提供了简单易用的限流功能。 API限流概述 API限流通过控制请求的速率来防止

Docker远程连接和Docker Remote Api

在Docker生态系统中一共有3种API:Registry API、Docker Hub API、Docker Remote API 这三种API都是RESTful风格的。这里Remote API是通过程序与Docker进行集成和交互的核心内容。 Docker Remote API是由Docker守护进程提供的。默认情况下,Docker守护进程会绑定到一个所在宿主机的套接字:unix:///v