会社の
個人的には
[TOC]
対象読者
以下を
- サーバ側プログラムを
書き、 RDB に SQL を 投げる Web エンジニア
短く Google Analytics に ついてまとめる
一般的な
一般的な
視点
Google が提供する アクセス解析ツールです。
無料枠でできることが 多く、 小規模、 中規模サイトであれば、 無料枠で 問題なく 使えます。
これがユーザー数にも 繋がっていて、 Web 上の 情報が 多く、 書籍も 多数出版されています。 プログラマ視点
Measurement Protocol
をベースと した ログ収集ツール、 ログ Viewer です。
Measurement Protocol
とは、HTTP/HTTPSで Google Anallytics サーバーに POST、 GET リクエストする ための API です。
サイト上に 埋め込む Google Analytics タグ
も内部では Measurement Protocol API を 実行していて、
PageView の計測の 場合は、 hit type
にPageView
設定してMeasurement Protocol
でGoogle Analytics サーバーに リクエストを 送信しています。
以下、Measurement Protocol の 公式ドキュメントに 概要が 記載されています。
Measurement Protocol の概要 | アナリティクス Measurement Protocol | Google Developers
Google Analytics の 基本機能の 説明
Web エンジニア向けの
包括的ではないかと
データ構造に ついて
個人的な
Google Analytics ログデータ
Measurement Protocol
の送信に より、 記録された データです。
ヒット と呼ばれる 単位で 記録され、 Google Analytics 上で 集計、 表示される データに なります。 アフィニティカテゴリ
プロパティの設定で 広告向け 機能を オン に する ことで 取得できる 情報です。
この情報は Google Analytics の ヒット データと N 対 N 紐付きますが、 個人の 趣味趣向を 特定できる データとなるため、 個人情報を 特定する 形での データの 紐づけは できない データに なります。 1 Google Search Console etc
広告向け機能以外にも、 Google の サービスとの 情報を 連携する 機能が あります。
これらの情報は Google Analytics の ヒット データと N 対 N 紐付き、 個人情報に 抵触しない 限りは、 制限は ある ものの 画面で 閲覧する ことができます。
Google Analytics のAPI での 取得は できません。
ヒットに ついて
Google Analytics の
ヒットの
種類
ヒットの種類に ついて 記載します。 ヒットの 種類が 異なると Google Analytics 上で 閲覧できる カテゴリが 変わり、 集計の 方法が 若干変わります。 Qiita に 参考に なる 記事が ありましたので、 リンクを 記載して おきます。
GoogleAnalyticsのga(‘send’,〜)で いろんな データを 送ってみよう pageview
ページビューを記録する ために 使用します。 screenview
モバイル向けのスクリーンビューを 記録する ために 使用します。
ビューについて - アナリティクス ヘルプ の 説明が わかりやすいかと 思います。 event
イベントを記録する ために 使用します。 transaction
ネットショップなど決済回数を 記録する 目的で 使用します。 item
teratail の質問を 読む限り、 使えないのかもしれません。
個人的に試したことがないので、 謎のままです。
Google Analytics - 拡張eコマースの、各種関数の 使い方に ついて |teratail social
SNS の共有ボタンでの 共有を 記録する 目的で 使用します。 exception
例外を記録する 目的で 使用します。
JavaScript の例外だけでなく Measurement Protocol
でサーバ側からの 記録できるのでどこで エラーに なったか 記録できるのかと 思いますが、 さすがに サーバ側から 記録している 人は あまりいないのかもしれません。 timing
サイトの速度に 関する 指標を 記録する ために 使用します。
ヒット以外の 記録データ
ヒットの
コンテンツグループ
ページ URL 等を条件に、 ページを グループ化する ことができます。
以下の説明が わかりやすいかと 思います。
Googleアナリティクス「コンテンツグループ」の 設定方法・ 使い方を 解説!|アクセス解析ツール 「人工知能AIアナリスト」 ブログ サイト内検索 (Internal Search)
検索クエリがクエリ文字列 と して URL に 表示されていれば、 サイト内の 検索ボックスでの 検索結果を Google Analytics に 記録する ことができます。
以下の説明が わかりやすいかと 思います。
Googleアナリティクスでサイト内検索の データを 取得する 設定 | 株式会社マイティーエース- MightyAce Inc. キャンペーン
プロモーションメール等のURL リンクに utm_source
等のキャンペーンパラメータを 付与する ことで、 流入経路を 記録する ことができます。
以下の説明が わかりやすいかと 思います。
キャンペーンパラメータをマスターして 流入経路分析の 精度を 上げる |デジタルマーケティング専門コンサルティングの パワー・インタラクティブ
項目の 追加
Google Analytics は
項目は
カスタムディメンション
区分値や、集計対象としない 項目を 設定する ために 使用します。 無料版では 20項目まで 設定が 可能です。
SQL に置き換えると、 GROUP BY
、WHERE
に指定する 数値以外の 項目かと 思います。
個人を特定できる 情報は 設定は できないので、 統計情報と して 収集して Google Analytics 上で 分析に 使用したい 情報が 設定の 対象に なります。
会員サイトでの例を 挙げるとすると 以下のような ものが 対象に なるかと 思います。 - 趣味
- メルマガの
カテゴリ - 有料会員か、
無料会員か
カスタム指標
集計対象とする 数値項目を 設定する ために 使用します。 無料版では 20 項目まで 設定が 可能です。
個人的にはあまり 使用していないですが、 以下のような 用途で 使用できるかと 思います。 - 見込み
スコア - システム使用料の
計算
- 見込み
オススメの
設定
Google Analytics のデフォルト設定だと、 ヒット単位での データは 集計されてしまい、 取得できません。
カスタムディメンションに、Client ID
と、TimeStamp
を設定すると ヒット単位で 取得できるようになるので この 2項目を 設定した ほうが よいかと 思います。
以下の記事から 上記2項目の 設定方法が たどれます。
GTMでGoogleアナリティクスの Client IDを 取得する 一番確実で 楽な 方法(2018年版) - 清水誠メモ データインポート機能
Google Analytics には拡張データを CSVインポートする 機能が あります。
この機能で、 カスタムディメンション項目を 取り込むことができます。
データ インポートについて - アナリティクス ヘルプ
データ可視化に ついて
データ可視化方法 には
Google Analytics 上で
閲覧する。
デフォルトの指標、 ディメンションを 用いた 可視化は Google Analytics が View を 提供しています。
デフォルトのView 以外で データを 閲覧したい 場合は、 カスタムレポートを 使う ことで 対応できます。
ただ、指標、 ディメンションは 意識する 必要が あり、 指標となる 項目を ディメンションと して 設定する 間違いを おかすと Google Analytics 上ではうまく 扱えない データに なります。 Gooogle Analytics AddOn を
使って、 データを 取得し Google スプレッドシート 、 Google Data Portal で 可視化する。
[Google Analytics - Google スプレッドシート アドオン] (https://chrome.google.com/webstore/detail/google-analytics/fefimfimnhjjkomigakinmjileehfopp?hl=ja) を使うと スプレッドシート 上に データを 取り出すことができます。 一度外部に 取り出してしまえば、 指標、 デイメンションの 制約は なくなるので、 自由に データを 可視化できます。
ただ、データ取得件数に 上限が あり、 上限を 超える データ取得を する 場合は Google Apps Script と 組み合わせて 使うなど 工夫が 必要に なります。 Google Data Portal を
使う
Google Data Portal にはGoogle Analytics の コネクターが あり 直接データを 取り出して 可視化できます。
指標、ディメンションの 制約は 変わりませんが、 別の データソースを 1つの ダッシュボードに 描画できるため、 別の データソースと 組み合わせで データを 閲覧したい 場合は 便利かもしれません。 Big Query を
使う
有料版の機能に なりますが、 Google Analytics の データを Big Query に エクスポートできます。
課金を意識する 必要が ありますが、 Big Query 上で データを 加工、 集計したり、 Google Data Portal で 可視化が できるようになります。 API で
データを 取得
Google Analytics にはAPI が あるので、 API 経由で データを 取得する ことができます。
取得したデータは 加工して、 RDB に 保存できるので、 プログラムの 作成工数は かかりますが、 柔軟に 可視化に 対応が できます。
Google Analytics Extention
Google Analytics の
タスク
Google Analytics の
この
タスク | ウェブ向け
タスクは、
プラグイン
Google Analytics には、
プラグインを
タスクは
プラグインも、
過去に まとめた 記事
GAIQ を
コンテキストは
HTTP サーバの アクセスログと 何が 違うのか ?
HTTP サーバの
以下の
Bot の
アクセスが 除外されている
Bot、<wbr> クローラの<wbr>アクセスを<wbr>除外する<wbr>
チェックをON に していればですが、 アクセスログ上記録される Bot、 クローラの アクセスは Google Analytics 上では 除外されます。 これは 人間の アクセスに 限定して アクセスを 見たい 場合に 便利です。 Client 側の
情報も 記録されている
ページ滞在時間、直帰率 等、 Client 側の 情報も ないと 取得が 難しい 情報も 記録されています。 無料版だと
サンプリングが 行われる
これはデメリットですが、 Google Analytics の 無料版の 場合、 ある 程度アクセス数が 多くなると、 情報が サンプリングされてしまい 正確な 情報が 取得できなくなります。 このような 場合は 生ログを 確認した ほうが いいかと 思います。 取得回数に
制約が ある
アクセスログだと、取得するのに 制約は ないですが、 無料版の Google Analytics の 場合、 API を 使用して 取得しようとすると 1日 5万回の 制約が あります。
API の実行の 仕方に よっては、 達しそうな 回数ですので、 機能を 実装する 際は 意識して おいた ほうが よさそうです。 記録データを
Google 広告との 連携に 使える
記録したデータを 元に ユーザーりすとを 作ると、 その リストを Google 広告の リマーケティングリスト と して 使用できます。
個人的に 面白いと 感じる ポイント
Measurement Protocol で
サーバ側や、 Web サイトの 外での 取得データを Google Analytics に 送付できること
Measurement Protocol で、サーバ側の プログラムから イベントを 記録したり、 Web サイト外で 起きた イベントも 記録が できます。
HTTP 通信ができれば、 どこからでも 記録が できるので、 単なる ロガーと して 様々な データの 記録が できるかと 思います。 サイトの
速度を 記録して おく
Speed Index をカスタムディメンション も しくは、 カスタム指標に 設定して、 直帰率等との 相関見れるのは おもしろいかなと 思います。
参考
以下、
【今さら
聞けない】 Googleアナリティクスとは ?導入手順から 使い 方まで 5分で 理解!|アクセス解析ツール 「人工知能AIアナリスト」 ブログ Google Analyticsで
アフィニティカテゴリを 理解して ユーザーの 興味関心を チェック | SiTest (サイテスト) ブログ
スライドに した。
この文書を、
よろしければご
以上です。
実際に
紐づけが できる 設定で API の 実行、 画面操作を 行うと、 API の 場合は エラー、 画面操作時は 取得データ 0 件 に なります。 ↩
コメント