Google Analytics 4又更新了
|

玩转Google Analytics 4,你需要理解这些

玩转Google Analytics 4
玩转Google Analytics 4

GA4发布两个多月了,不少小伙伴已经陆续开始尝鲜。其中大家最大的体会是GA4和过去的Universal Analytics差异非常大,上手难度高。为了帮助极诣的读者更好地理解GA4,极诣将通过本文“揭秘”GA4的核心。只有掌握了这些,你才有可能从容地正确地使用GA4。

GA4的核心本质是什么?是Event

GA4并不是将之前版本的Google Analytics进行升级。它和Universal Analytics版本仅仅是名字上共享Google Analytics。GA4的设计和核心代码都抛弃了沿用十多年的Urchin构架,其层级划分不再是User-Session-Hit。GA4是基于事件流(Event Stream)的新一代分析工具。说新一代并不是说就更好,至少过去教两天就能会的,现在至少要教两周了。

Event(事件)是GA4的基本实体,一个Page View就是一个Event,一次点击是一个Event,一个转化也是一个Event。Session(会话)在GA4中被弱化,属于同一个Session的各个Event会分享同一个Event Property(事件属性)——sid。如下图,我们可以在DevTools中查看。

因此,对Event(包括自动、增强、推荐和自定义)的熟悉程度会影响到GA4的熟练使用程度。如果读者想要精通GA4,那么务必要对GA4的各个Event的定义烂熟于胸

使用collect可以过滤出GA的数据传送,v2为GA4
使用collect可以过滤出GA的数据传送,v2为GA4

当我们在上图中看DevTools的时候也能发现GA4的Event都会触发一个204的请求(此处使用204是为了不再返回一个1×1的图片,直接用HTTP头确认)。比如Session Start这个Event就用了_ss参数表示,同样First Visit用_fv参数表示。而Event Name的参数en的值却为page_view。这种合并多个Event的情况很普遍

Event的Parameters和User Properties

每个Event都会带一些Parameter(参数),其中有一些是固定收集的,包括:

  • language
  • page_location
  • page_referrer
  • page_title
  • screen_resolution

要想自定义Event Parameter,你必须先注册。方法是Events – All events – Manage Custom Definitions – Create custom dimensions。

你还可以为让Event携带User Properties(用户属性)这样会一直让访客具有这些属性直到你更新这些值。User Properties也需要注册后才能使用,入口在左边菜单栏的CONFIGURE – User properties。

不管是Event Parameter还是User Property都是作为Dimension来使用的,你可以把新建的这些看作过去的Custom Dimension。

Segment去哪儿了?

在旧版GA中Segment是一个非常常用的功能。GA4中叫做Comparison。你可以最多加5个条件取交集,实际上是简化许多,不太好用。对于复杂的Segment你可以通过在CONFIGURE – Audiences中添加,或者在Analysis Hub的SEGMENTS中添加。见下图:

在GA4中建立新的Segment
在GA4中建立新的Segment

建完在右上角勾选Build an audience就可以在Comparison反复使用了。不过这Segment构造器十分难用,下面是一个例子,其中圈选出了先后访问了两个页面的人群。

你需要在此过程中注册page_title参数
你需要在此过程中注册page_title参数

注意,和Comparison一样,在Analysis Hub中使用FILTERS只能“与”操作,不能“或”操作。

Filters去哪儿了?

在旧版GA中Filters有各种逆天的功能,可以屏蔽可疑的数据,也可以替换改写源数据。但是在GA4中,你会被告知:

Displaying Filters for Universal Analytics Properties only. Filters cannot be applied to Google Analytics 4 Properties.

要找回Filters的功能,你可以这样做。在管理Admin中找到GA4的Property,Data Settings – Data Filters – Create Filter。你可以过滤掉公司内部或者是开发人员的Events。

另一半原Filter的功能可以在Data Streams – Tag Settings – Modify Events。这里你可以对Event的各参数进行修改。

Landing Page Report哪里去了?

Landing Page(落地页)表现是我们经常要看的维度。那么在GA4中这个报表去哪儿了呢?

把All Events改为session_start
把All Events改为session_start

我们可以在Engagement – Pages and screens报表中,将Event count下的All Events改为session_start,这样可以看到各页面作为落地页的数量。可是我们能否知道访客以落地页进入后的表现呢?目前的GA4中由于缺乏Custom Report很难实现。尽管GA4已经走出了Beta,但依然是一个婴儿期的产品。你需要自建新的Dimension和Metric去实现许多功能,因为那些默认的Dimension和Metric不像UA时期那样唾手可得。这也是GA4和旧版本的最大区别——旧版本你不用提前布局,想看的时候自己建一些Segment和Custom Report便可以解决;GA4必须提前设置,把该定义的Event定义好,如果哪天你想起来了再去做就来不及了。为什么我说GA4很难就是这个道理,你要非常熟悉Event体系,并且能预测到未来可能需要哪些Event,提前布局好。从这个意义上说,不会用GTM就只能玩一小段GA4

utm_content,utm_term去哪儿了?

为了证明上面的论断,我们举个例子。GA4中保留了对utm_campaign,utm_source,utm_medium的自动解析收集,但是却丢了utm_content和utm_term。这个参数对我们来说挺重要的,我们可以放广告版本和关键字信息。那怎么做呢?我们必须另外想办法。

通过GTM,我们可以建一个GA4 Event Tag。如下图般设置:

找回utm_content和utm_term
找回utm_content和utm_term

左边的各个参数我们需要在GA4中注册,右边的参数我们可以用定义一些URL变量,具体方法如下图所示:

从URL中解析出utm_content存入变量
从URL中解析出utm_content存入变量

这样我们便可以用前文介绍的方法再回到GA4的Filters把抓到的各个参数复制到其他Event中去了,下面不赘述。

Measurement Protocol还能用吗?

Measurement Protocol方便了软件和线下设备传送GA的Hit数据给GA。只要是能联网的设备和软件都可以利用这个接口推送数据并获得分析报表。极诣早在2016年3月曾经率先介绍过用MP检测邮件打开的实例。谷歌为了GA4新建了GA4专用的Measurement Protocol。现在还在Alpha版。你可以通过Admin – Data Streams – choose your stream – Measurement Protocol – Create新建一个API SECRET。与原先的GAMP不同的是,GA4MP传送的是一个个Event。也就是说你将使用POST方式(原本是GET方式)推送一个JSON格式的Event给GA4.

gtag.js实施GA4MP一例
gtag.js实施GA4MP一例

旧版的Hit Builder也不再适合GA4的Measurement Protocol。谷歌为此配套了Event Builder (https://ga-dev-tools.appspot.com/aw-event-builder/)。

Custom Report去哪儿了?

我们在结束这篇又难又长的文章之前来讲一下Custom Report。事实上,为了弥补Custom Report的缺失,GA4免费开通了直连BigQuery。那么不会玩BigQuery的小白们怎么办?纵观GA4现有的功能,和Custom Report最接近的应该是Analysis Hub功能。但是Analysis Hub很难,为了证明很难我们举一个简单的例子(此处我们用“很难”与“简单”造句了):

Analysis Hub举例
Analysis Hub举例

上图是一个简单的Exploration分析。其中Row用了page_path。三个Metric依次如图。那么这个表到底是什么意思呢?

  • Entrances的意思是The number of times that the first event recorded for a session occured on a particular screen.这是一个着陆的意思。
  • Sessions的解释是The number of sessions that began on your site or app (event triggered: session_start). 这也是一个着陆的意思。

那么既然两者都是着陆的意思,为什么数字差不少呢?原因如下:

  • Entrances是按照page_view的Event来计数的;
  • Sessions则按照session_start来计数。

有两个原因。第一,事实上,如我们在文章开头描述_ss参数时说明的那样session_start是一个被绑定到其他Event的Event,那么两者有出入就很正常了。

Web stream设置中对page_view进行设置
Web stream设置中对page_view进行设置

第二,page_view事件默认情况下有两种触发方式,其一是页面载入时,另一种是浏览器历史,这包括(pushState, replaceState, popstate)。

为了证明上面的两点,感兴趣的读者可以在这个报表里添加不同的Filter:

  1. 当使用Event name exactly matches page_view时,Sessions栏的数据全部为0。
  2. 当使用Event name exactly matches session_start时,Entrances栏的数据全部为0。

是不是已经很麻烦了?还有更麻烦的。假设我们要看各Landing Page带来的转化各是多少该怎么做呢?显然我们无法再使用page_path作为Dimension了,因为基于Event报表我们无法对page_path进行筛选,page_path和Landing Page Path是不同的概念。此时我们必须新建Landing Page Path作为Parameter/Dimension,然后才能把它用作row。这就像我们前面所说的,这个工作必须要提前做,不然会变成“Event到用时方恨少”的窘境。

总结一下

  • GA4是完全不同于以往任何GA版本的全新分析工具。
  • GA4基于Event淡化了Session概念,需要对Event有深刻的理解才能用好。
  • GA4很大程度依赖GTM进行Event设置,必须预先设置。
  • 复杂的高级分析需要依赖BigQuery直接在Log层级数据上进行分析,前端作用有限。
  • GA4还在产品的婴儿期,UA预计还要存在很长一段时间(至少2年?)

本文篇幅有限但是包含的内容很多,有许多地方没有办法写得很详尽,有进一步的问题请通过极诣公众号提出。谢谢。

类似文章