SEOノウハウ・副業ブログ・ワードプレス

【2023年版】Googleタグマネージャー(GTM)でIPアドレスを取得して表示する方法

2021年6月14日

疑問

Googleタグマネージャー(GTM)でIPアドレスを取得して表示するにはどうすればいい?

IPアドレスは、Googleアドセンスの無効なクリックを報告する時に使えます。

Googleタグマネージャー(GTM)でIPアドレスを取得して表示する方法を紹介します。

Googleタグマネージャー(GTM)でIPアドレスを取得する方法

Googleタグマネージャーを使ったIPアドレスの取得は下記の手順で実施します。

※Googleタグマネージャー(GTM)では、Googleアナリティクス(ユニバーサル)を使って設定します。

  • Googleアナリティクスでカスタムディメンションを作成する
  • dataLayerにIPアドレスを格納する
  • Googleタグマネージャーを修正する

Googleアナリティクスでカスタムディメンションを作成する

まず、Googoleアナリティクスでカスタムディメンションを作成します。

Googleアナリティクスを開いて、左下メニュー「管理」をクリックします。

プロパティ設定にある「カスタム定義」の「カスタムディメンション」をクリックします。

「新しいカスタムディメンション」をクリックします。

カスタムディメンションの情報を入力して「作成」をクリックします。

  • 名前:ip_address(分かりやすい名前ならOK)
  • 範囲:ユーザー
  • アクティブ:チェックを入れる

同様にアクセス時間も作成します。

  • 名前:access_time(分かりやすい名前ならOK)
  • 範囲:ユーザー
  • アクティブ:チェックを入れる

追加が完了すると一覧が表示されます。

「カスタムディメンション名」と「インデックス番号」はあとで利用するのでメモしておきます。

次に、カスタムディメンションに値を渡すための変数(dataLayer)を作成します。

dataLayerにIPアドレスを格納する

Googleタグマネージャーにデータを受け渡す場合は、dataLayerを使います。

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

dataLayer = [{
  'ip_address': '<?php echo $ipaddress; ?>',
  'access_time': '<?php echo $accesstime; ?>',
}];

※dataLayer.pushしなくても取得できます。

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

ganalytics.phpをサーバーにアップロードする

ファイルのアップロード先は下記の場所にしています。

jsフォルダがない場合は新規に作成してください。

/wp-content/themes/子テーマ名/js

※親テーマはアップデートがあると変更したものが元に戻ってしまうため、子テーマを利用している前提で説明しています。

header.phpでganalytics.phpを読み込む

次にheader.phpを編集し、タグマネージャの前にganalytics.phpを設定して、Javascriptとして起動させます。

  • タブマネージャーのタグはheader用とbody用がありますが、header用の前に追加してください。
  • ganalytics.phpのパスは、絶対パスにしています(自分のドメインと子テーマ名の部分は、自分の環境に合わせて変更してください)。
<!-- Google Tag Managerの前に設定 -->
<script type="text/javascript" src="https://自分のドメイン/wp-content/themes/子テーマ名/js/ganalytics.php?v=1"></script>

<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXX');</script>
<!-- End Google Tag Manager -->

Googleタグマネージャーを修正する

次にGoogleタグマネージャーで新しいタグ(計測タグ)を追加します。

Googleタグマネージャーに移動して「新しいタグを追加」をクリックします。

「タグの設定」をクリック。

「Google アナリティクス ユニバーサル アナリティクス」をクリックして設定します。

トラッキングタイプは「ページビュー」で、「Googleアナリティクスの設定」をクリックして「新しい変数」を選択します。

変数を設定する画面が表示されます。

「トラッキングID」にGoogleアナリティクスのトラッキングIDを記入します。

次に「詳細設定」>「カスタムディメンション」>「カスタムディメンションを追加」をクリックします。

インデックスを「1」に設定して、ディメンションの値は新しい変数を作成するため、ブロックのアイコンをクリックします。

ディメンションの値を新しく作成するため、「+」をクリックします。

「変数の設定」をクリック。

変数タイプの選択で「データレイヤーの変数」をクリックします。

データレイヤー変数を以下のように設定します。

  • 【変数の名前】IPアドレス(分かりやすい名前ならOK)
  • 【データレイヤーの変数名】ip_address(dataLayerで設定した変数、かつ、カスタムディメンションのインデックスが「1」の変数名)

設定が終わったら「保存」します。

続いてカスタムディメンションのインデックス「2」に設定した変数「access_time」も設定します。

「カスタムディメンションを追加」をクリックします。

データレイヤー変数を以下のように設定します。

  • 【変数の名前】アクセス日時(分かりやすい名前ならOK)
  • 【データレイヤーの変数名】access_time(dataLayerで設定した変数、かつ、カスタムディメンションのインデックスが「2」の変数名)

設定が終わったら「保存」します。

カスタムディメンションが設定されたのを確認したら「保存」をクリックします。

タグの画面に戻ってきたら、トリガーに「All Pages」を設定して「保存」します。

タグの保存が完了したら、画面右上の「公開」ボタンをクリックします。

※公開しないと反映されません。

Googleアナリティクスで取得したIPアドレスを確認する

タグが正常に動いていれば、Googleアナリティクスで取得したIPアドレスを確認できます。

Googleアナリティクスを開いて「カスタム」>「カスタムレポート」をクリックします。

レポートを下記のように設定して「保存」します。

計測日付は、自分が計測したい日を設定します(当日分を確認したい場合は、変更が必要です)。

  • 【種類】フラットテーブル
  • 【ディメンション】ip_address
  • 【ディメンション】access_time(任意)
  • 【ディメンション】時間帯(任意)
  • 【指標】ページビュー数

IPアドレスやアクセス日時などが表示されます。

【まとめ】GoogleタグマネージャーでIPアドレスを取得して表示する方法

GoogleタグマネージャーでIPアドレスを取得する場合は、下記の手順でおこないます。

  • Googleアナリティクスでカスタムディメンションを作成する
  • dataLayerにIPアドレスを格納する
  • Googleタグマネージャーを修正する

メモ

もし、すでに「Googleアナリティクス:ユニバーサルアナリティクス」でページビューを設定している場合は、2重カウントになってしまうので停止か削除が必要です。

【Googleアドセンス狩り】無効なトラフィックでIPアドレスを報告するには?

疑問 Googleアドセンス狩りにあった。第三者による無効なトラフィックだと思うけど、IPアドレスを報告するにはどうすればよい? Googleからの通告メール「お客様の AdSense アカウントでの ...

  • B!