調査

【2021年版】Googleアナリティクス4(GA4)でIPアドレスを取得して表示する方法

2021年12月17日

疑問

Googleアナリティクス4(GA4)でIPアドレスを取得して表示するにはどうすればいい?

以下から、Googleアナリティクス4(GA4)でIPアドレスを取得して表示するための方法を紹介します。

Googleアナリティクス4(GA4)でIPアドレスを取得して表示する方法

GA4でIPアドレスを取得して表示させるための手順は下記のようになります。

  • GA4でカスタムディメンションを作成する
  • IPアドレスを取得する
  • GA4のトラッキングコードを修正する

GA4でカスタムディメンションを作成する方法から順番に説明していきます。

GA4でカスタムディメンションを作成

GA4のカスタムディメンションに「IPアドレス」を追加する場合は下記の手順で行います。

GA4のメニューから「設定」>「カスタム定義」を選択して、「カスタムディメンションを作成」をクリックします。

Googleアナリティクス4のカスタムディメンション作成

カスタムディメンション作成画面が表示されるので、項目を入力して保存します。

IPアドレス用のカスタムディメンション作成

  • 【ディメンション名】任意の分かりやすい名称(例:IPアドレス)
  • 【範囲】イベント
  • 【説明】任意の説明文(なくてもOK)
  • 【イベントパラメータ】分かりやすい変数名(例:ip_address)

範囲(スコープ)は、「イベント」を選択します(ユーザーではうまく取得できませんでした)。

Googleアナリティクス4のカスタムディメンション作成画面

アクセス日時も同じように作成しておくと後から解析する時に便利です。

アクセス日時用のカスタムディメンション作成

  • 【ディメンション名】任意の分かりやすい名称(例:アクセス日時)
  • 【範囲】イベント
  • 【説明】任意の説明文(なくてもOK)
  • 【イベントパラメータ】分かりやすい変数名(例:access_time)

IPアドレスを取得する

IPアドレスは、PHPで取得しJavascriptの変数としてGoogleアナリティクス4(GA4)に渡します。

PHPでIPアドレスを取得して、Javascriptの変数として出力する方法は下記のようになります。

IPアドレスを取得するコード

<?php
/*
** Javascriptとして実行して下記のデータを取得する
** ・IPアドレス
** ・日付
*/

$ipaddress  = $_SERVER["REMOTE_ADDR"];
$accesstime = date("Y/m/d H:i:s");

?>

getIPAddress = function() {
  return '<?php echo $ipaddress; ?>';
}

getAccessTime = function() {
  return '<?php echo $accesstime; ?>';
}

上記のコードをPHPファイル(ganalytics.php)として保存して、javascriptとして起動します。

起動方法は、下記の「GA4のトラッキングコードを修正」で説明します。

GA4のトラッキングコードを修正

WordPressであれば、Googleアナリティクス(GA4)のトラッキングコードは、header.phpファイルを修正すれば、全てのページに修正を反映できます。

トラッキングコードは下記のように修正します。

<!-- GET IPAddress Accesstime -->
<script type="text/javascript" src="ganalytics.php?v=1"></script>

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-XXXXXXXXXX', 
  {
    'custom_map': {
    'dimension1': 'ip_address',
    'dimension2': 'access_time',
    },
    'ip_address': getIPAddress(),
    'access_time': getAccessTime(),
  });
</script>

※G-XXXXXXXXXX部分は、自分のGoogleアナリティクス4(GA4)のIDに変えてください。

IPアドレスを取得するPHPファイルをJavascriptとして起動

IPアドレスを取得するためのPHPファイルはGA4のトラッキングコードの前に書きます。

typeをjavascriptにすることで処理はPHPですが、javascriptとして起動できます。

<script type="text/javascript" src="ganalytics.php?v=1"></script>

srcを絶対URLにすれば、どのページからでも処理ができます。

メモ

dimensionXの「X」部分には、カスタムディメンションで作成したインデックス番号が入ります。

  gtag('config', 'G-XXXXXXXXXX', 
  {
    'custom_map': {
    'dimension1': 'ip_address',
    'dimension2': 'access_time',
    },
    'ip_address': getIPAddress(),
    'access_time': getAccessTime(),
  });

メモ

dimension1やdimension2の番号は、カスタムディメンションを作成した時のリストの順です。

これでトラッキングコードの修正は完了です。

IPアドレスの取得を確認する方法

GA4でIPアドレスを取得できたか確認する方法を紹介します。

GA4を開いて、「探索」>「空白」をクリックして、新しいデータ探索を作成します。

【GoogleAnalytics4(GA4)でIPアドレスを確認する方法】GA4で探索を選択して、空白をクリックする。

ディメンションの横にある「+」ボタンをクリックして、「カスタム」から作成した「IPアドレス」と「アクセス日時」にチェックを入れて「インポート」します。

【GoogleAnalytics4(GA4)でIPアドレスを確認する方法】ディメンションから「カスタム」を選んで、IPアドレスとアクセス日時をチェックしてインポートする

指標の横にある「+」ボタンをクリックして、「ユーザー」から「利用ユーザー」にチェックを入れて「インポート」します。

【GoogleAnalytics4(GA4)でIPアドレスを確認する方法】指標から「ユーザー」を選んで、利用ユーザーをチェックしてインポートする

ディメンションに表示されている「IPアドレス」と「アクセス日時」をドラッグして「行」にドロップします。

【GoogleAnalytics4(GA4)でIPアドレスを確認する方法】IPアドレスとアクセス日時を列にドラッグする

同じように指標に表示されている「利用ユーザー」をドラッグして「値」にドロップします。

【GoogleAnalytics4(GA4)でIPアドレスを確認する方法】利用ユーザーを値にドラッグする

両方をドロップすると、IPアドレスと日付が表示されます。

データの表示数は、「行」の「表示する行数」で最大500まで表示できます。それ以上知りたい場合は、CSVなどでダウンロードします。

【GoogleAnalytics4(GA4)でIPアドレスを確認する方法】IPアドレスが表示される

【まとめ】GA4でIPアドレスを取得して表示する方法

IPアドレスを取得するまでの作業はUA(ユニバーサルアナリティクス)と同じ作業です。

  • Googleアナリティクスでカスタムディメンションを作成する
  • IPアドレスを取得する
  • Googleアナリティクスのトラッキングコードを修正する

取得したIPアドレスの見かたは、探索を使う必要があります。

GA4自体が完成形ではないので、上記の方法で取得できなくなる可能性もあります。

-調査
-,