UAとGTMが導入済みのブログにGA4も設定してみた

2020年10月に正式にリリースされた GA4 (Google アナリティクス 4 プロパティ) をこのブログでも使うことにしました。このブログでは元々前世代のUA (ユニバーサルアナリティクス)を導入しています。現時点ではGA4よりUAの方が機能が充実しているように感じていますが、今後はGoogleさんがGA4の方に力を入れて改善していき、そちらをスタンダードにするということなので、使い始めた次第です。
ただ、いきなり乗り換えるのではなく当分並行稼働させていきます。

作業の前にこのブログでの設定状況についてです。このブログでは、Wordpressのプラグインを使って、GTM(Googleタグマネージャー)を導入し、タグマネージャーを経由してUAのタグを発火させていました。
参考: Google タグマネージャー導入
また、当然Googleアナリティクスのアカウント等も元々保有しています。無い場合はそこから作る必要があります。
あくまでもこの記事は、すでにUA+GTMが稼働中のページにGA4を追加する手順です。

では進めていきましょう。

手順1. GA4のプロパティを作成する。
以下の手順で作成できます。

GA4ではUAとは別のプロパティを作成し使用する必要があります。
1. Googleアナリテクスにアクセスする。
2. 左ペイン一番下の「管理」をクリックする。
3. プロパティ のところにある、 + プロパティを作成 をクリックする。
4. プロパティの設定をする。
– プロパティ名に自分がわかりやすい名前を入力する。(僕は「分析ノートGA4」にしました。)
– レポートのタイムゾーンは日本を選択
– 通貨に日本円を選択
5. 次へをクリック
6. ビジネスの概要設定画面が出てくるのでサイトの特性に合わせて適切なものを選びます。
– 悩んだのですが、業種はコンピュータ、電気製品にしました。
– 一人で更新しているので、ビジネスの規模は小規模-従業員数1〜10名にしています。
7. 利用目的を聞かれるので、該当するものを選ぶ。
– 自分は次の二つを選びました。
サイトまたはアプリでの顧客エンゲージメントを測定する
サイトまたはアプリの利便性を最適化する
8. 作成をクリックする

少しステップが多いですが、画面に従い順次行えば途中で迷うことはないと思います。

手順2. データストリームの設定
プロパティができたら続いてデータストリームを設定します。このブログはWeb版しか無い(アプリなど提供していない)のでWebのデータストリームを作成します。
上記のプロパティの作成から続けて行えますが、一度閉じてしまった場合は設定から開きましょう。
1. ウェブを選択する。
2. ウェブサイトのURLとストリーム名を入力します。URLはhttps://analytics-note.xyz ですが、 ストリーム名はどうするか悩みました。複数のストリームを同時に使う予定はなかったので、analytics-note としています。Webとアプリを両方分析する人はそれぞれ見分けられる名前が良いと思います。
3. ストリームを作成をクリックする。
4. 観測用のIDが生成されるのでメモしておきます。GTMで使います。
観測用のIDは G-{アルファベットと数字}の形式になっています。

以上で、GA側の設定は終わりです。あとはなんらかの方法で発行されたIDや、観測用のタグをブログの方に埋め込む必要があります。今回は導入済みのGTMを使いました。

手順3. GTMにGA4計測タグを追加

すでにGTMに作成済みのコンテナをそのまま使います。
1. GTM にアクセスする。
2. 既存のコンテナを選択する。
3. 左ペインでタグを選択し、新規をクリックする。
4. [タグの設定] をクリックして [GA4 設定] を選択する。
5. 先ほどの測定 ID「G-XXXXXXXXXX」を入力する。
6. トリガーをクリックする。
7. All Pagesを選択し、保存をクリックする。
8. デフォルトで、 Google アナリティクス GA4 設定 という名前が入ってたのでそのまま保存する。

これでタグが作成されたので、これを公開するための手順を続けていきます。
9. ワークスペースに戻ってプレピューをクリック。
10. Connect Tag Assistant to your site とメッセージが表示されたら、
https://analytics-note.xyz/ と対象サイトのURLを入力してConnectをクリックする。
11. そのブラウザでいくつかのページにアクセスすると、別のデバック用に開いていたブラウザのタブで開いていたページで発火したタグをみることができる。(昔のGTMは画面下部で確認していたので、この仕様が変わっていたようです。)
12. Google アナリティクス GA4 設定がFired(発火)になっているのを確認する。
13. ついでにWordpressの管理画面にもアクセスしてそこは発火しないことも確認する。
14. Tag Assistant の小さいウィンドウの Finish を押してプレビューを終了する。
16. 「公開」ボタンをクリックする。
17. バージョン名と説明を求められるので入力し、再度「公開」をクリックする。

以上で、GA4のが設定が完了し、データ収集が始まります。動作テストとして、リアルタイムビューを見てみるのがおすすめです。

追加で、最低限の設定として以下の設定を入れました。

データ保持期限を14ヶ月に伸ばす(デフォルトは2ヶ月)
こちらは、設定の、プロパティの データ設定 > データ保持 から設定できます。デフォルトの保持期間はかなり短いので伸ばしておいた方が良いでしょう。

また、Googleシグナルを有効にしました。
こちらも データ設定 > データ収集画面 から設定できます。

UAとGA4を並行してみていると、ユーザー数の集計値に差分が生まれていたり、なくなってしまった指標があったり、UAの方が用意されているレポートが多くて便利に感じたりと色々差があり、現時点ではまだUAの方が良いツールに感じることが多々あります。

ただ、Googleさんの方針として今後の開発はGA4の方に注力していくとのことですので、将来的に便利なツールになっていくことを期待しながら少しずつGA4に慣れていきたいと思います。

Googleアナリティクスの集計対象をホスト名でフィルタリングする

先日の記事で、WordPress(Lightsail)の開発環境を立てましたが、一つ問題があります。
そのページを開くとGoogleアナリティクスにアクセスログが記録されることです。

参考: LightsailのWordPressの開発環境を立てる

そんなにたくさんアクセスしたわけではないのでほとんど問題ないのですが、
分析する上でノイズになりうるのでできるだけ除外しておきたいです。

対策としては、開発環境を立ち上げたらすぐに管理画面に入ってGA関係の設定を外すこともできますし、
自宅のIPアドレスをフィルタリングしておくことも考えられます。
(そもそも、後者ができていれば今回の記事の対策は不要です。)

これらの方法以外にも、アクセスするときのホスト名によって集計対象とするかどうかを設定できるので、今回はそれを設定します。
要するに、
https://analytics-note.xyz/foo/bar/
と言うアクセスだけを集計し、
https://{IPアドレス}/foo/bar/
などのアクセスを集計対象から外します。

方法は非常に簡単です。

1. Googleアナリティクスの設定画面を開く。
2. 「フィルタ」を選択。
3. 「+フィルタを追加」を選択
4. 以下の内容を入力
フィルタ名 ・・・ 任意
フィルタの種類 ・・・ 定義済み、 右のみを含む、 ホスト名へのトラフィック、 等しい
ホスト名 ・・・ analytics-note.xyz
5. 「このフィルタを確認する」 を押下して設定を確認する。
6. 「保存」

これで、開発用に立ち上げた環境のアクセスログは集計されなくなりました。

外部リンクへのクリックをイベントとして計測する

このブログの改善のために、外部サイトへのリンクが(特に各種技術記事から公式のドキュメントへ)どれだけクリックされているのか計測しようと思います。
それが、GoogleタグマネージャーとGoogleアナリティクスの組みあわせでできるので設定していきます。

順番に設定していきます。

1. タグマネージャーのコンテナとワークスペースを選択。
2. 新しいタグを追加を選択し、タグに名前をつける。
3. タグの設定をクリック。
4. タグタイプは、 「Googleアナリティクス:ユニバーサル アナリティクス」を選択。
5. トラッキングタイプに「イベント」を選択し、以下の内容を入力。
カテゴリ: External link
アクション: {{Click URL}}
ラベル: {{Page Path}}
値: 1
非イタンラクション ヒット: 真
6. トリガーの追加を押し、トリガーの選択画面で右上の「+」を押す。
7. トリガーの設定で、クリックの下のリンクのみを選択。
8. 以下の内容設定
タグの配信を待つと妥当性をチェックは一旦無効のまま
一部のリンククリックを選択し、以下の二つを設定する
Click URL正規表現に一致 http.*
Click URL 含まない analytics-note.xyz
9. トリガーに名前をつける
10. 保存し、プレビューでテストして公開

しばらく経過を見てまた調整するかもしれませんが、一旦はこれで計測できる様になっているはずです。

Google タグマネージャー導入

タイトルの通り、このBlogでもGoogleタグマネージャーを使い始めました。
目的は主にGoogleアナリティクスでのイベント計測です。
多くの記事で参照している各種のドキュメントへのリンクや、画像へのアクセス状況を分析しより使いやすいサイトにしたいと思っています。

これまでは、GAは「Googleアナリティクス導入」の記事で書いた通り、
SEOのプラグインで設定していましたが、これがタグマネージャーによる管理に移行します。

以下、導入手順のメモです。

1. タグマネージャのサイトにアクセスし、Googleアカウントでログイン。
2. 「アカウントを作成するにはここをクリックしてください」 をクリック。
3. アカウント名(適当)、 国(日本)、コンテナ名(URLでも良いのですがサイト名にしました。)、ターゲットプラットフォーム(ウェブ)を入力。
4. 作成ボタンクリック。
5. 利用規約を読んで「はい」をクリック。
6. サイト内に貼り付ける様に指示されるコードを保存して「OK」で閉じる。 (GTM-******* と言うコードを後で使う。)

コンテナIDはタグマネージャーのホーム画面でいつでも確認できます。

次にこれをWordPressに設定します。
1. プラグインで Google Tag Manager を検索。
2. 今回はこちらをインストール。 Google Tag Manager
3. プラグインを有効化。
4. 「設定」「一般」の一番下に Google Tag Manager ID の設定ができているので、ここにコンテナIDを入力して保存。
(プラグインの設定ではないので注意。)

これでタグマネージャー自体の導入完了です。

次に、肝心のGoogleアナリティクスをタグマネージャーで設定します。

1. タグマネージャーの「ワークスペース」ページの「サマリー」を開く。
2. 「新しいタグ」 をクリック。
3. 「タグの設定」をクリックして「Google アナリティクス: ユニバーサル アナリティクス」 を選択する。
4. 「トラッキングタイプ」に「ページビュー」を選択。
5. Googleアナリティクス設定で、トラッキングコードを入力。 (UA-*********-* 形式の値)
6. 変数名を入れて保存。(とりあえず、「分析ノートUA」にしました。)
7. トリガーの設定。 「All Pages ページビュー」を選択。
8. タグに名前(分析ノートページビュー)を設定して保存。

この段階ではまだ公開されていないので、テストしてから公開します。
1. ワークスペースに戻ってプレピューをクリック。
2. そのブラウザで、このブログにアクセスすると画面下に発火したタグが確認できる。
(分析ノートページビューがFiredになっている)
3. プレビューモードを終了
4. 「公開」ボタンをクリック。
5. バージョン名と説明を求められるので入力し、もう一度「公開」をクリック。

最後に、今回に限り重要なのが、すでに直接設定してたGoogleアナリティクスの設定を消すこと。
SEOプラグインに設定してたUAの値を消しました。これをしないとpvが二重カウントになります。

Googleアナリティクスでアクセスの増加量が大きいページを探す

2020年の5月4日ごろから、Googleの検索アルゴリズムのコアップデートが行われ、このブログの訪問者数にも大きな影響が出ています。
アップデートの前後3週間の、自然検索による流入数をグラフにしたのが下図です。
明らかに流入が増えていますね。

さて、もっと詳しく、具体的にどのページの流入が増えて、どのページの流入は減ったのか調べるため、方法を調べたので紹介します。
デフォルトだと、多い順になっており、逆順になれべても絶対値の少ない順になってしまって、変化量順にはならないですよね。

変化量でソートしたい場合は、「並べ替えの種類:」という項目を「変化量」に設定する必要があります。
これで、アクセスの増加が激しいページを特定できました。
この期間はゴールデンウィークなどの要因もあるので、変化量は注意しいてみないといけないのですが、
なんとなくテクニカルな記事が恩恵を受けてるように感じます。

Googleアナリティクスでアラート設定

このブログでもアクセスの分析のためにGoogleアナリティクスを使っています。
順調に訪問者数が増えているのですが、何百人/日といった節目の達成はやはり嬉しいので、
数ヶ月前から、達成したら通知が来るように設定しています。

そのために使っているのがカスタムアラート機能です。

ドキュメント: カスタム アラートの作成、管理

左ペインのカスタムの中にあるカスタムアラートから飛べます。(飛び先は管理の中なのでそちらからも遷移できます)

アラート名を設定し、
期間を 日/週/月から選択、
このアラートが発生したときにメールで通知する。 にチェックを入れてメアドを設定、
あとは適用するトラフィックの対象と、指標、閾値となる数値を入れて保存したら完成です。

このブログだと、全てのトラフィックで、ユーザー数などを見ているだけですが、
ページを絞った直帰率や新規セッション割合など、かなり多様な設定が可能です。

個人ブログであればアラートが上がるとモチベーションが上がるようなものをいくつか設定しておくと良いですし、
仕事で分析しているサイトであれば異常時の通知などのに使えると思います。

Googleアナリティクスで参照元ページのURLを調べる

このブログも200件以上の記事を書いてようやくオーガニックサーチからの訪問以外のランディング、
つまり他のサイトのリンクからの訪問が発生するようになりました。

Googleアナリティクスの [参照元 / メディア] で調べると、 teratail.com / referral からやってきている人がいます。
そこで、teratailのどこにこのブログへのリンクが貼られているのかきになるのですが、
このままではそれがわかりません。

具体的な参照元のURLを知るためには、セカンダリディメンションか、カスタムレポートを使います。
選択するディメンションは [完全なリファラー] です。(APIでは ga:fullReferrer)

これを指定すると、”メディアによっては” リンク元のURLがわかります。
結果、こちらのページに引用していただけてるのを見つけました。

cabochaのPythonバインディングがエラーとなる

ちなみに、Qiitaからも流入があるのですが、
完全なリファラーに表示されるURLもQiitaのトップページになってしまっていて、
こちらはどの記事からの訪問者なのかわかりませんでした。

オーガニックサーチについても検索エンジンのトップページのURLが表示されるので、
「完全な」とついている割には不完全な情報しか取れないようです。

Googleアナリティクスで、特定のページを訪れたセッションの数を見たい時の注意点

前の記事で、Googleアナリティクスのセッションの定義を紹介しました。
このブログはセッションあたりのpvが1.2くらいしかないのであまり気になりませんが、業務でサイトの分析をするときなど、
各ページを訪問したセッション数を知りたいことがあります。

例えば、
ページA -> ページB -> ページC
と遷移したユーザーと、
ページB -> ページD -> ページB
と遷移したユーザーがいた時に、ページBを訪問したセッションが2個だ、と数えたいケースです。

これを知るには、「ページ別訪問数」という指標をみる必要があります。
「セッション」ではないので、非常に間違えやすく、注意が必要です。

ちなみに「セッション」は、各ページでセッションが始まった時だけカウントされます。
上の例で言えばページAとページBはセッションが1です。

ヘルプではこの辺りを読むと参考になります。
アナリティクスの Google 広告クリック数、セッション数、ユーザー数、閲覧開始数、ページビュー数、ページ別訪問数の違い

もともと用意されている各レポートでは適切に使い分けられて表示されているのですが、
カスタムレポートなどを使うときは特に注意したいですね。

Googleアナリティクスにおけるセッションの数え方

セッションというのはWebサービスに対する一連のアクセスのことです。
ある人がこのサイトを訪れ、3ページ見て離脱していったらその3pvが1セッションとなります。

ただ、pvのような数え方が明確なものと違って、セッションを数えるには何を基準に離脱していったかを定義する必要があります。
Googleアナリティクスにおいてもセッション数は取得されているのですが、
それを正しく使うにはGoogleアナリティクスにおけるセッションの定義を知っておく必要があります。

その内容ですが、アナリティクスのヘルプの下記ページに書かれています。
アナリティクスでのウェブ セッションの算出方法

ようは次の3つの条件のどれかを満たすと、そのセッションは終わりと判断され、新しいセッションに移ります。

  • 30分間操作がない
  • 午前0時をまたぐ
  • 他サイトを経由してアクセスし直した

普段自分でクエリを書いてセッションを区別するときはユーザーのアクセスが30分途切れたら別セッション、
という条件だけで済ませていることが多いので2番目と3番目の条件をよく忘れてしまいます。
(そんなのは自分だけだと思いますが。)