素肌にサスペンダー

個人的な備忘と日記

JavaScriptだけで、訪問者のIPアドレスをGoogleAnalyticsで取得する方法

静的サイトや外部サービスを利用したサイト等で、PHPの埋め込み不可でJavaScriptだけで訪問者のIPアドレスを取得したい場合についてメモ。

JavaScript

<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
<script>
$.getJSON("https://api.ipify.org/?format=json", function() {
})
.success(function( data ) {

  // analytics.jsの場合
  ga('send', 'event', {
    eventCategory: 'IPAddress',
    eventAction: location.href,
    eventLabel: data.ip
  });

  // gtag.jsの場合
  gtag('event', 'IPAddress', {
    'event_category': 'IPAddress',
    'event_action': location.href,
    'event_label': data.ip
  });

})
.error(function(jqXHR, textStatus, errorThrown) {
    console.log("エラー:" + textStatus);
    console.log("テキスト:" + jqXHR.responseText);
})
.complete(function() {
});
</script>

WordPressサイトなどでPHPが使えるようであれば、以下の関数でIPアドレスを取得できる。

PHP

<?php echo $_SERVER['REMOTE_ADDR']; ?>

こちらのサービスで、whois情報が確認可能

www.nic.ad.jp

IPアドレスと企業情報マッピングしてGoogleAnalyticsに反映してくれる「どこどこJP」というサービス。 機会あったら使ってみたい

www.docodoco.jp