Sukka's Blog

童话只美在真实却从不续写

在 Google Analytics 中根据中国运营商(ISP)对数据进行分层

Sukka's Avatar 2019-11-05 笔记本

Google Analytics 可以对网页或应用的「受众群体」从不同维度进行分层:地理位置、语言、浏览器、设备型号、服务提供商(ISP),等等。

ga-filter/1.png

如上图所示,Google Analytics 支持从国家、省份、城市分析访客数据。但是由于国内互联网环境复杂,在 Google Analytics 中根据网络运营商(ISP)维度进行分层的结果令人眼花缭乱,你并不能直观地看到「中国电信」、「中国联通」或者「中国移动」:

ga-filter/2.png

Google Analytics 中提供的运营商名称是 IP 所属 ASN 的名称,利用 Google Analytics 提供的「细分」功能,通过设置筛选,可以实现以国内三大运营商(ISP)为维度对数据进行分类。

通过 ASN 名称筛选中国几大 ISP(如中国电信、中国联通、中移铁通、教育网和科技网)可以参考 gaoyifan 的 china-operator-ip 项目,这个项目通过 BGP 和筛选 ASN 名称来获得中国各个 ISP 的 IP-CIDR 列表。根据项目中位于 operator 目录下的几个 conf 文件可以总结出筛选规则:

  • 中国电信:以 china 开头,包含 telecom;或 chinanet;额外还有一个北京电信 AS4847
  • 中国联通:包含 unicomcnc(中国网通和联通工业网)
  • 中国移动:包含 china mobilecmnet
  • 中国铁通:包含 tietongCHINA RAILWAY
  • 鹏博士:包含 dxtnet(电信通)或同时匹配 dr.+?peng
  • 教育网:包含 cernet
  • 科技网:包含 cstnet

根据筛选规则在 Google Analytics 创建细分。在顶部点击「从列表中选择细分」,在菜单中选择「+新细分」。以中国电信为例,「细分名称」填写「中国电信」,然后直接选择左边的「高级 - 条件」创建基于访客运营商的筛选。

ga-filter/3.png

注意,Google Analytics 的国家 IP 库并不准确,所以筛选条件中尽量不要包含「国家/地区」。比如以下是创建的基于中国电信的 ASN 名称、但是「国家/地区」选择不包含 China 的筛选条件:

ga-filter/4.png

以下是我创建的筛选条件:

中国电信

ga-filter/5.png

中国联通

ga-filter/7.png

中国移动

ga-filter/8.png

教育网

ga-filter/6.png

有了上述细分,就能以 ISP 为维度分析数据了,比如,下图分别是「Sukka’s Blog」以中国几大运营商为维度划分的网站加载性能计时的报表,和以运营商和地理位置为维度划分的 TTFB 计时的报表。

ga-filter/9.png
ga-filter/10.png

本文作者 : Sukka
本文采用 CC BY-NC-SA 4.0 许可协议。转载和引用时请注意遵守协议!
本文链接 : https://blog.skk.moe/post/ga-china-isp-as-a-filter/

本文最后更新于 天前,文中所描述的信息可能已发生改变