NRIネットコム Blog

NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

Google アナリティクス 4 のページの計測について

本記事はNRIネットコム Advent Calendar 2021 25日目の記事です。
🎅 24日目 ▶▶ 🎄Merry Christmas🎄

はじめまして、坂本と申します。
Google マーケティング プラットフォーム(GMP)を中心とした、デジタルマーケティング関連の導入・開発やコンサルティングを担当しています。
本記事では、Google アナリティクス 4(GA4)におけるWebサイトのページの計測について解説します。

ページに関連するディメンション

GA4ではWebサイトにおけるユーザー上の行動をイベントして計測しますが、イベントが発生したページ(URL)の情報は以下のディメンションで確認できます。

ディメンション 計測される値 計測される値の例(※ページのURLが以下の場合)
https://www.nri-net.com/service/?aaa=bbb&utm_source=xxxx_mail&utm_medium=email
ホスト名 ページのドメイン www.nri-net.com
ページパス + クエリ文字列とスクリーン クラス URLのドメインより後の部分
アプリの場合はスクリーン クラス
※ 一部のパラメータは除外されます
/service/?aaa=bbb
ページ遷移 + クエリ文字列 URLのドメインより後の部分
※ 一部のパラメータは除外されます
/service/?aaa=bbb
ページの場所 URLの全て https://www.nri-net.com/service/?aaa=bbb&utm_source=&utm_medium=email


「ページパス + クエリ文字列とスクリーン クラス」「ページ遷移 + クエリ文字列」では以下のようなGoogleアナリティクスに関連するパラメータが自動で除外(削除)されます。

  • キャンペーンパラメータ(「utm_source」「utm_medium」「utm_campaign」「utm_content」「utm_term」「utm_id」)
  • クロスドメイントラッキング用のリンカーパラメータ(「_ga」「_gl」)
  • Google広告等のパラメータ(「gclid」「dclid」等)

前世代のUA(ユニバーサル アナリティクス)に慣れている人向けに、GA4とUAのディメンションの対応関係をまとめると以下のようになります。

GA4のディメンション UAのディメンション 計測される値の例
ホスト名 ホスト名 www.nri-net.com
ページパス + クエリ文字列とスクリーン クラス ページ /service/digital-marketing/?aaa=bbb
ページ遷移 + クエリ文字列 ページ /service/digital-marketing/?aaa=bbb
ページの場所 ※該当なし https://www.nri-net.com/service/?aaa=bbb&utm_source=xxxx_mail&utm_medium=email

GA4ではURLの全てが取得できるディメンションが標準で使用できるのが便利ですね。

自動的に付与されるパラメータ

広告等からサイトに流入した場合にURLにパラメータが自動的に付与される場合があります。
例えばFacebookから流入した場合、以下のように「fbclid」というパラメータが付与されます。
https://www.nri-net.com/service/?fbclid=XXXXXXXX
※「XXXXXXXX」の部分は実際はランダムな文字列になります。

GAではページをURL毎に識別するため、以下のようにレポートで見たときに同じトップページ「/」へのアクセスにも関わらずパラメータ毎に別のページとして集計されてしまいます。

ページ遷移 + クエリ文字列 表示回数
/ 100
/?fbclid=aaaa 1
/?fbclid=bbbb 1
/?fbclid=cccc 1

パラメータ除外設定

UAの「除外する URL クエリパラメータ」設定

前述したような問題に対応するため、UAではビューの設定画面の「除外する URL クエリパラメータ」で除外するパラメータを指定することが可能です。 f:id:nnc-y-sakamoto:20211223135207p:plain

GA4での対応方法

残念ながら現時点ではGA4の標準機能ではパラメータを除外する設定はできません。

GTMでGA4の計測を行っている場合は少し設定が複雑になりますが、対応方法がありますのでそれをご紹介します。

パラメータを除外したURLを取得する変数の作成

以下の内容で変数を作成します。

f:id:nnc-y-sakamoto:20211223143442p:plain

[変数のタイプ] → カスタム JavaScript
[変数の名前] → 任意(例では「formatted_page_location」としています)
[カスタム JavaScript] → 下記のコード
※ブラウザ依存を無くすために URL オブジェクトは使用していません。
※このコードはサンプルなので必要に応じてカスタマイズしてください。

function(){
  /* 除外対象のクエリパラメータを定義 */
  var excludeTargetQueryParams = [
    '※除外対象のパラメータを記述',
    '~~~~~~~~~~~~~~',
    '~~~~~~~~~~~~~~'
  ];
  
  var pageProtocol = location.protocol;
  var pageHostName = location.host;
  var pagePath = location.pathname;
  var pageQuery = location.search;
  var excludedQueryString = "";
  if(typeof pageQuery !== 'undefined' && pageQuery !== ""){
    var queryParams = pageQuery.slice(1).split("&");
    for(var i = 0; i < queryParams.length; i++) {
      var queryParam = queryParams[i].split("=");
      if(queryParam.length < 2){
        excludedQueryString += queryParam;
      }
      var queryKey = queryParam[0];
      var queryValue = queryParam[1];
      if(excludeTargetQueryParams.indexOf(queryKey) !== -1){
        continue;
      }
      if(excludedQueryString !== ""){
        excludedQueryString += "&";
      } else {
        excludedQueryString += "?";
      }
      if(typeof queryValue == 'undefined'){
        queryValue = "";
      }
      excludedQueryString += queryKey + "=" + queryValue;
    }
  }
  return pageProtocol + "//" + pageHostName + pagePath + excludedQueryString;
}

「excludeTargetQueryParams」には除外したいパラメータを配列で記述してください。
 「fbclid」「sessionid」を除外する場合

  var excludeTargetQueryParams = [
    'fbclid',
    'sessionid'
  ];

「GA4 設定」タグの設定

次に「Google アナリティクス: GA4 設定」タグの設定フィールドに以下の設定を追加してください。 f:id:nnc-y-sakamoto:20211223141743p:plain [フィールド名] → page_location
[値] → 前の手順で作成した変数名(例では{{formatted_page_location}})

動作確認

設定後、GTMのプレビュー機能で動作確認を行いましょう。 ※カスタム JavaScriptを使用した場合、サイトの動作に影響を及ぼす可能性があるため事前に動作検証を行ってください。 GTMのプレビューを有効にした状態で、除外設定をしたパラメータを含むURLにアクセスします。 f:id:nnc-y-sakamoto:20211224115720p:plain

GTMのデバッグ画面で、「Google アナリティクス: GA4 設定」タグの「設定フィールド:page_location」の値がパラメータが除外されたURLになっていることが確認できます。 f:id:nnc-y-sakamoto:20211224120053p:plain

動作確認後、問題なければGTMを公開しましょう。

注意事項

本記事では割愛しますが、パラメータを除外する前のURLの情報が必要な場合、 GTMの変数「Page URL」をカスタムディメンションで計測することをおすすめします。 ただし、標準のディメンションである「ページの場所(page_location)」は300文字まで計測できるのですが、 カスタムディメンションは最大100文字しか計測できないためご注意ください。
[GA4] 収集と設定の上限 - アナリティクス ヘルプ

まとめ

今回はGA4のページに関するディメンションについて解説しました。
GA4はUAとディメンション名が変わっていたり、同じような設定ができなかったりと、取っつきにくい部分があるのですが、 仕様を理解して設定を工夫することでUAと同じように対応できます。
今後はGA4が主流となるので、GA4に対してハードルを感じている方もぜひチャレンジしてください。

執筆者坂本祐

Google マーケティング プラットフォーム(GMP)を中心とした、デジタルマーケティング関連の導入・開発やコンサルティングを担当しています。

NRIネットコム Advent Calendar 2021
🎅 24日目 ▶▶ 🎄Merry Christmas🎄