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

这篇具有很好参考价值的文章主要介绍了【Google】关于Google Analytics埋点及API获取数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

重点看标红的文档即可

【Google】关于Google Analytics埋点及API获取数据,解决方案,Google,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,

【Google】关于Google Analytics埋点及API获取数据,解决方案,Google,Analytics,埋点

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

【Google】关于Google Analytics埋点及API获取数据,解决方案,Google,Analytics,埋点

注意:如果某个维度在一天内的唯一值超过 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 密钥,也是在数据流中创建

【Google】关于Google Analytics埋点及API获取数据,解决方案,Google,Analytics,埋点

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

汇总数据流

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

管理》数据流

【Google】关于Google Analytics埋点及API获取数据,解决方案,Google,Analytics,埋点

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

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

通过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指的是

【Google】关于Google Analytics埋点及API获取数据,解决方案,Google,Analytics,埋点

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"
    ]
}

返回数据举例:文章来源地址https://www.toymoban.com/news/detail-760714.html

{
    "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获取数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 埋点日志解决方案——Golang+Gin+Sarama VS Java+SpringCloudGateway+ReactorKafka

    之前我就写过几篇OpenResty+lua-kafka-client将埋点数据写入Kafka的文章,如下: Lua将Nginx请求数据写入Kafka——埋点日志解决方案 python定时任务执行shell脚本切割Nginx日志-慎用 nginx+lua写入kafka报buffered messages send to kafka err: not found broker 关于OpenResty+doujiang24/lua-resty-kafka写入kafka故障转

    2024年02月08日
    浏览(39)
  • Flink‘s WebSocket API:Connecting Stream Analytics to Realtime

    作者:禅与计算机程序设计艺术 1.1. 背景介绍 随着互联网的发展和数据量的爆炸式增长,实时数据分析和Stream Analytics已经成为现代应用程序的核心。在传统的数据处理框架中,Flink作为一个异军突起的Stream Analytics利器,提供了基于流数据、实时处理和分布式计算的灵活架构

    2024年02月14日
    浏览(35)
  • 关于微信开发工具无法使用wx.request()访问https://api.weixin.qq.com的解决方案

    但是对于wx.request()访问https://api.weixin.qq.com则不适用,所以我们采用云函数来访问https://api.weixin.qq.com,以获取access_token为例,步骤如下: 1、新建云函数,我的当前环境为cloud1,在该文件下新建obtainAccess文件夹,详细的云函数搭建请自行搜索 2、obtainAccess文件夹中index.js中的内容

    2024年02月16日
    浏览(49)
  • 关于阿里云的API接口调用使用说明以及使用艾格瑞特API接口获取验证码的方法

    需要在API网关控制台创建APP,然后将API授权给APP即可。 使用详情页给的请求示例!!!(替换示例中的AppCode)就可以了 本发明涉及互联网技术领域,具体涉及一种API自动管理和SDK、文档自动生成方法。 背景技术: 伴随着互联网时代的多元化发展,更多技术人员将精力投入

    2023年04月18日
    浏览(47)
  • 关于微信小程序调用H5腾讯地图API获取定位信息提示失败问题--解决办法之一

    在跳转到H5页面加载腾讯地图API获取定位信息时,“真机调试”、“开发模式”都可以使用 web-view 组件访问我需要的路径。只有“体验版”、“线上版本”会出现这个错误提示。正常加载都是正常的,但是因为腾讯地图API在获取定位信息的同时,会在页面上内嵌一个隐藏的

    2024年04月26日
    浏览(62)
  • 关于java接收json数据为空的解决方案

    2、postman请求参数 3、定位问题 发现问题之后我在网上找了好久都没有解决,最后给同事要了他们之前写的代码通过比较发现代码没问题,考虑是参数传递的时候处理问题,相同时要他们之前通过测试工具测试的时发的请求,最后发现问题所在他们在发送请求的时候都会在h

    2024年02月12日
    浏览(45)
  • 数据通讯平台解决方案(Word原件获取)

    1.数据通讯平台方案 1.1.系统概述 1.2.需求分析 1.3.重难点分析 1.4.重难点解决措施 2.系统架构设计 2.1.系统架构图 系统机构图 2.2.业务架构设计 (1) MQ消息服务 (2) TCP通讯服务 (3) CoAP通讯服务 (4) MQTT通讯服务 (5) 资源管理服务 2.3.主流技术架构分析 纵向设计方案 2.4.关键技术 3.系统

    2024年04月16日
    浏览(30)
  • 关于hive3多表leftjoin导致数据丢失问题及解决方案

    最近业务场景需要将一张大表通过name名字关联多个小表去获取他们的id,大表数据9000w,小表数据最大180w,最小30w,我以主表leftjoin的时候发现了数据丢失问题 代码如下  结果显示数据我t7的数据由180w剩下9w,发生了严重的数据丢失,在别的表也有不同程度的丢失问题. 最后发现这个问

    2024年02月15日
    浏览(53)
  • 数据埋点2

    作为数据分析师的你,是否和我一样经常会被业务方拿着两个不同数据平台的报表数据进行灵魂拷问。下面的场景你应该在熟悉不过了。 后来,我向另外一个数据平台的相关人员咨询之后,发现他们统计DAU的最小单位是open_id,不同的统计口径会造成一定的数据差异。而统计口

    2024年02月02日
    浏览(26)
  • 使用 Footprint Analytics, 快速搭建区块链数据应用

    Nov 2022, daniel@footprint.network 如果你有一个处理 NFTs 或区块链的网站或应用程序,你可以在你的平台上直接向用户展示数据,以保持他们在网站或者应用内的参与,而不是链接以及跳出到其他网站。 对于任何区块链应用或者媒体、信息网站来说,通过在网站上展示数据图表(如

    2024年01月22日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包