Adobe Analytics

Adobe Analytics 原理①

近年、Web解析の必要性が広く認知されるようになり
多くのWebサイトが解析ツールをサイトに導入するようになった。
Web解析ツールで主流なのが、Googleが提供しているGoogle Analyticsと
Adobeが提供しているAdobe Analyticsだ。
Adobe Analyticsは有料だが、Google Analyticsとは異なり分析やデータ量に制限がなく
より詳細にWebサイトを分析することが可能な非常に強力なツールであり
エクスチュアでは主にAdobe Analyticsを使った解析サービスが主流である。
 
さて、Adobe Analyticsはどのような原理でデータを収集しているのだろうか。
 
まずは我々がブラウザ(インターネットエクスプローラー、Google Chromeなど)を使って
Webサイトを見る際、背後でどのようなことが行われているのかを簡単に確認しておこう。
 
ブラウザは、まず、URLで指定されたページの情報が保存されているサーバーから
GETリクエストによりそのページのhtmlファイルを取得する。
このhtmlファイルこそががwebページの実体であるわけだが、htmlファイルそのものはただの文字列だ。
ブラウザはhtmlファイルを順に読み解きながら、文字サイズを調整したり
必要な画像などを適宜取得して(これもGET リクエスト)、我々に表示する画面を構成していくことになる。
 
これを踏まえてAdobe Analyticsの原理に迫ろう。
 
Adobe Analyticsの実体はhtml上に埋め込まれた、”s_code.js”というJavaScriptファイルである。
ブラウザがhtmlファイルを順に読み込んでいき
スクリプトタグによってhtml上に埋め込まれたs_code.jsファイルにたどり着くと
そこに書かれたJavaScriptのコードが実行される。そのコード内で定義されているs.t()という関数により
ブラウザはAdobeのデータ収集用サーバーへ向けてGETリクエストを送ることとなるのだが
その際のURLにからくりがあり、URL上に文字列として
どのようなページを見たのか、直前にどのようなページを見ていたのか、などといった情報が記載されている。
Adobeのデータ収集用サーバーは送られてきたURLを解析し、データを記録する、というわけだ。
 
なお、このGETリクエストによってAdobeのサーバーは2*2ピクセルの透明なgifファイルを送ってくる。
Adobeのサーバーに情報を送ることを、イメージリクエスト、と呼ぶことがあるのはこのためだ。
 
さて、百聞は一見にしかず。
実際にどの部分がAdobeのデータ収集用サーバーへのGETリクエストなのかを
Google ChromeのDeveloper Tools(WindowsならF12で起動する)で確認してみよう。
 
エクスチュアのサイトにアクセスした場合、どれがイメージリクエストにあたるのだろうか。
Developer ToolsのNetworkの欄を見れば、
ブラウザがどのようなGETリクエストを送って画面を構成したのかが確認できる。
その中に特に長いURLがあるのに気づくだろうか。
 
blog1_1
 
計1180文字にも及ぶこのURLこそがAdobeのサーバーにブラウザが送ったGETリクエストの宛先なのである。
URLを見ると、?の後ろにたくさんの文字列が並んでいることが分かる。?以降の文字列をURLパラメータと言い
これをURLの末尾につけることでサーバーに情報を送ることができる、という仕組みだ。
&マークに区切られて、たくさんのパラメタがサーバーに送られていることが確認できるだろう。
Developer Toolsを使えばそれらのパラメタをパースされた状態で確認できる。
 
blog1_4
 
そしてこのGETリクエストの結果が次。
2*2ピクセルの透明なgifファイルが取得されたことが分かる。
blog1_2
 
最後にGETリクエストの送信先のIPアドレスが本当にAdobeのものか調査してみよう。
blog1_3
Lehi, Utah,United States.
アメリカのAdobeのサーバーに正しく送られているようだ。
 
インターン生 薄井

ピックアップ記事

  1. 最速で理解したい人のためのIT用語集

関連記事

  1. Adobe Analytics

    Adobe Summit 2020レポート: Advanced Techniques to Get …

    こんにちは、エクスチュアの権泳東(コン・ヨンドン)です。Ado…

  2. Adobe Analytics

    BigQuery: Adobe Datafeed: event_listカラムの手軽な扱い方

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  3. Adobe Analytics

    Adobe Analytics: AppMeasurement.jsの実装開発作業に使うツール Ja…

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  4. Adobe Analytics

    Adobe Analytics:ワークスペース:セグメント比較機能の紹介

    Adobe Summitで発表されていたSegment IQ機能が実は…

  5. Adobe Analytics

    Adobe AEP SDKでReactNativeアプリを計測する (iOS編)

    こんにちは、エクスチュアの權泳東(コン・ヨンドン)です。今回は…

  6. Adobe Analytics

    デバイスとは-Adobe Analyticsの指標説明

    今回はデバイスについて説明いたします。デバイスとは携帯電話、パソコ…

最近の記事

  1. 回帰分析はかく語りき Part3 ロジスティック回帰
  2. GCSへのSnowflake Open Catalogによる…
  3. VPC Service Controlsで「NO_MATCH…
  4. モダンデータスタックなワークフローオーケストレーションツール…
  5. Streamlit in Snowflakeによるダッシュボ…
  1. Mouseflow

    Mouseflow(ヒートマップ)の効果的な活用術
  2. Tableau

    上位N件セットを使って「その他」を効果的に表現する【Tableau】
  3. Python

    Streamlit in SnowflakeによるStreamlitアプリケーシ…
  4. Adobe Analytics

    入口とは-Adobe Analyticsの指標説明
  5. Google Analytics

    【GA4】DebugViewの使い方
PAGE TOP