パブリック DMP のない世界で サイトを訪れたユーザーの属性情報を取得する


先日以下の記事を書きました。
GTM(Google Tag Manager) で ユーザのカテゴリごとのバナー配信、メッセージ配信 を行う | Monotalk

記事を書いた後に、ログインユーザであれば、ユーザの情報は取得できるが、会員情報を持たない公開サイトだとユーザの属性情報は取得できないことに気づいて、一般的にどうやるのか調べていたら、パブリック DMP 使うとこのケースでもいろいろできることがわかりました。
ただ、私には無料で使えるパブリック DMP は見つけることができず、お金もないので、パブリック DMP を使わない前提でユーザの属性情報が取得できるか考えてみました。
考えたことを備忘として記載します。


前提

以下、前提条件が あった上での考え事になります。

  • Google Analytics は使っている

  • ユーザの属性はリアルタイムで判定したい

  • Server 側で取得できる情報は、考慮しない1


参考

Google Analytics で ユーザ属性を取得する

JavaScript でクライアント情報を取得する


Google Analytics で 取得できる情報

参考リンクに情報がありますが、広告レポート機能 を有効にすることで、Google の パブリックDMP の情報が取得できるようになります。ただこれは、リアルタイムでそのユーザ属性が何かの取得はできないようです。2

現状は、サイトを訪れた人がどんな人達なのかを確認するための機能になります。
事前に分析しておいて、施作を立てて実施、効果を確認する 使い方をするものかと思います。


JavaScript で取得できる情報

JavaScritpt で取得できるユーザ属性の判断に使えそうなものがあるか調べてみました。
jackspirou/clientjs: Device information and digital fingerprinting written in pure JavaScript. という Javascritpt で取得できるものは一通り取得できそうなLibrary があったので、その API ベースで使えるかもしれない情報をピックアップしていきます。
動作確認は、"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36" で実施しています。

clientjs で 取得できる情報

ユーザ属性の判断に、使えるかなと思った情報を記載します。

  • Browser の Version 情報

    • 取得コード
      var client = new ClientJS();
      client.getBrowser();
      client.getBrowserMajorVersion();;
      
    • OUTPUT
      "Chrome"
      "62"
      
  • OS 情報の取得

    • 取得コード

      var client = new ClientJS();
      client.getOS();
      client.getOSVersion();
      

    • OUTPUT

      "Mac OS"
      "10.12.6"
      

  • 言語情報

    • 取得コード

      var client = new ClientJS();
      client.getLanguage();
      

    • OUTPUT

        "ja"
      

  • タイムゾーン と 時刻

    • 取得コード

      var client = new ClientJS();
      client.getTimeZone();
      new Date();
      

    • OUTPUT

      "JST"
      Sat Dec 09 2017 13:14:41 GMT+0900 (JST)
      

  • Window サイズ等の情報を取得する

    • 取得コード

      client.getScreenPrint();
      

    • OUTPUT

      "Current Resolution: 1440x900, Available Resolution: 1440x795, Color Depth: 24, Device XDPI: undefined, Device YDPI: undefined"
      

  • Font 情報を取得する

    • 取得コード

      client.getFont();   
      

    • OUTPUT

      "Arial Black, Arial, Bauhaus 93, Chalkduster, Comic Sans MS, Courier New, Georgia, GungSeo, Hiragino Sans GB, Impact, Menlo, Microsoft Sans Serif, Papyrus, Plantagenet Cherokee, Symbol, Tahoma, Times New Roman, Trebuchet MS, Verdana, Webdings, Wingdings"
      

clientjs では取得できないが、JavaScript で取得できる情報


JavaScript で取得できる情報でどんなことがわかるのか

IT への興味

OS Version ブラウザの Version 情報で、最近発売されたものかそうではないかはわかります。
アクセス時間帯が日中だと、仕事で使用している端末が古い可能性があり、夜間や休日の場合、自宅の端末が古い可能性があります。
端末が古い > IT リテラシの高い/低い は言い過ぎですが、それほど IT 関連に興味がない人の可能性が高いとか考えました。
必要な項目は以下の通りです。

  • OS 情報

  • Browser の Version 情報

  • タイムゾーン と 時刻

多言語が話せる人か

多言語化対応されているサイトだと、意味のないとは思いますが、言語設定が en で、日本語のサイトを閲覧している。その逆だったりする場合、多言語が話せる人である可能性が高そうです。
必要な項目は言語コードのみです。

フォントに拘る職業か、興味があるか

インストールしているフォントを取得することができます。デフォルトフォントとは異なる設定の人は、フォントに興味がある人、フォントのインストールが必要な職業である可能性が高そうです。
必要な項目は Font のみです。

位置情報

位置情報で地域がわかります。どこからアクセスしている人なのかを知ることができます。
必要な項目は 位置情報 で、経度、緯度から、地域を導出する API 等を叩く必要があります。


まとめ

JavaScript で 取得できる情報で ユーザの属性情報が取得できるか考えてみました。
以下まとめます。

  • たいした情報は取得できない。

  • 無理矢理考えると、考えついたが、何か極端で断片的な情報な気がする。

  • お金を出せるなら、パブリック DMP を使ったほうがいい。

  • JavaScript のみに拘らなければ、時間差はあるが、Google Analytics のデータは使えるのでもう少し踏み込んだ属性情報を使えるかもしれない。

以上です。


  1. IP アドレス等です。 

  2. リアルタイム データ: get  |  アナリティクス Real Time Reporting API  |  Google Developers という API がありますが、これはユーザ属性が取得できなそうです。 

コメント

カテゴリー