Lightweight Google Analytics alternatives

Ben Hoyt

軽量なGoogle Analytics代替ツール

原文は Ben Hoyt により に公開されました。 このブログを購読する

ウェブを閲覧するユーザーを「すべてを見通すGoogle」が追跡することに懸念を抱くサイト運営者が増えている。Google Analytics(GA)は無料で利用できる高機能なウェブ解析システムであり、プライバシーへの懸念にもかかわらず、小規模サイトから大規模サイトまで事実上の標準ツールとなっている。しかし近年、Googleの支配を揺るがす代替ツールが増えてきた。本稿では、軽量なオープンソースの選択肢の中からGoatCounterとPlausibleの2つを取り上げる。次回は、より高機能なツールについても紹介する予定だ。

GAはこの分野で群を抜く存在だ。BuiltWithが示すところによれば、上位10万サイトの約86%がGAを利用している。上位100万サイトで見ても64%に達する。GoogleがUrchinを買収してGoogle Analyticsとしてリブランドしてからの15年間、この数字は着実に伸び続けてきた。プライバシーへの懸念に加え、GAは一部のサイト運営者にとって必要以上に複雑で多機能であることも要因だ。多くの運営者が求めているのは、単に各ページにどれだけのアクセスがあるか、どこから来ているのかを知ることだけだからだ。そう考えれば、ここ数年でよりシンプルでオープンなツールが台頭してきたのも不思議ではない。

なお、LWNでも現在GAを使用しているが、他の選択肢を検討中である。ただし、設定で広告表示をオフにしている読者にはGAのコードは配信されない。

Googleは何を追跡しているのか、なぜ懸念されるのか

Googleがどのような情報を追跡しているかと問われれば、皮肉屋なら「すべてだ」と答えるだろう。問題なのは、この答えが真実からそう遠くないことだ。Googleはユーザーに関する膨大な情報を追跡し、蓄積している。

Douglas Schmidt氏による2018年の論文[PDF]は、Android端末における位置情報追跡を例に、Googleによる追跡の規模を浮き彫りにしている。

AndroidもChromeも、ユーザーが何も操作していないときでさえGoogleにデータを送信している。実験によれば、休止状態で静置されたAndroid端末(Chromeがバックグラウンドで起動中)が24時間の間に340回、平均すると1時間あたり14回、位置情報をGoogleに送信していた。

論文では「能動的」な追跡と「受動的」な追跡を区別している。能動的な追跡とは、ユーザーがGoogleのサービスを直接利用したりログインしたりする場合で、検索やGmailへのログインなどが該当する。Googleはユーザーの検索キーワードをすべて記録するだけでなく、GAや他のGoogleのパブリッシャー向けツールを利用しているサイトを訪れるユーザーを受動的にも追跡している。Schmidt氏はある「1日の生活」のシナリオ例において、「Googleが収集・推定した情報の3分の2以上が受動的な手段によるものだった」と指摘している。

Schmidt氏の論文ではGAのCookieによる追跡の仕組みについても詳述されており、複数のサイトにまたがってユーザーや広告クリックを追跡する「サードパーティCookie」と、訪問したサイトのドメインに固有の「ファーストパーティCookie」の違いが説明されている。

GAのCookieはユーザーが訪問するウェブサイトのドメインに固有のもの(「ファーストパーティCookie」と呼ばれる)であるのに対し、DoubleClickのCookieは通常、doubleclick.netのような共通のサードパーティドメインに関連付けられている。GoogleはこうしたCookieを利用して、複数のサードパーティサイトにわたるユーザー行動を追跡している。

ユーザーがウェブサイト上の広告を操作すると、DoubleClickのコンバージョン追跡ツール(例:Floodlight)がユーザーのコンピューターにCookieを配置し、固有のクライアントIDを生成する。その後、ユーザーが広告主のサイトを訪問すると、保存されたCookie情報がDoubleClickのサーバーによって読み取られ、有効なコンバージョンとして訪問が記録される。

非常に多くのウェブサイトがGAだけでなくGoogleの広告製品も利用しているため、結果として同社は人気サイトから小さな個人商店のようなサイトまで、多数のサイトにわたるユーザーの閲覧履歴の大部分を把握していることになる。端的に言えば、Googleはあなたが何を好み、どこにいて、何を買っているかをよく知っているのだ。

Googleはターゲット広告や位置情報追跡をオフにする方法や、アカウントに紐づくパーソナライズされたプロフィールを削除する方法も提供している。しかし、これらの機能はほぼすべてオプトイン方式であり、ほとんどのユーザーはその存在を知らなかったり、わざわざオフにしたりしない。

もちろん、GAから別のツールに乗り換えるだけですべてのプライバシー問題が解消するわけではない(例えばAndroidの位置情報追跡や検索の追跡が止まるわけではない)が、Googleが収集する膨大なデータを減らす一つの方法にはなる。また、GAの代替ツールを使うサイト運営者については、Googleがそのサイトのトラフィックパターンを裏側から覗き見ることもなくなる――そうしたデータは、将来的に競合ツールを構築するために利用される可能性も考えられるからだ。

LWNの読者はプライバシー意識が高い傾向にあり、Google ChromeではなくFirefoxを使ったり、広告ブロッカーを有効にしたりしている人も多いだろう。しかし、彼らが構築するウェブサイトのユーザーは、必ずしも同じようにプライバシー意識が高いとは限らない。ウェブサイトの開発者にとって、どの解析ツールを選ぶかは、ユーザーのプライバシーを尊重し、Googleにユーザーの閲覧パターンを知られ過ぎないようにするための助けとなり得る。

GoatCounter

GoatCounterは比較的新しいウェブ解析ツールで、2019年8月に公開された。Martin Tournoij氏によって作成されたもので、他のツールに比べると「個人開発者による手作り感」がやや強く、見た目の洗練度ではやや劣るものの、開発者フレンドリーで導入も簡単だ。

[www.goatcounter.comより GoatCounterのUI]

このツールは基本的な解析機能をすべて備えている。URLごとのページビューや訪問数、ブラウザやOSの統計、デバイスの画面サイズ、所在地、リファラー情報などだ。デフォルトでは直近7日間のデータを1時間ごとの集計で表示するが、サイト運営者はシンプルな操作で表示期間を調整できる。

GoatCounterのライセンス形態はユニークで、ソースコードはコピーレフトな欧州連合公衆ライセンス(EUPL)で提供されている。企業はソフトウェアを自らホストすることも、GoatCounterのホスト版を少額の料金で利用することもできる(ただしホスト版も「個人」プロジェクトであれば無料だ)。Tournoij氏は長文の記事でEUPLを選んだ理由を次のように述べている。

今でも自分のコードを他人がどう使おうとあまり気にしていないが、自分の生計を立てる能力が不当に妨げられることは気にかかる。MITライセンスの自分のコードを持ち去って、改良にフルタイムで取り組み、その成果を自分に還元しないとすれば、競合相手は自分に対して2倍の人員を確保したことになる。自分(彼らから見ればタダ働きの労働力)と、彼ら自身だ。彼らは常に自分より優位に立つことになる。

GoatCounterはGoで書かれており、UIでは軽量なインタラクションのために素のJavaScriptが使われている。JavaScriptフレームワークがしばしばウェブアクセシビリティの妨げになることもあり、GoatCounterが(ホームページでも謳っている)アクセシビリティを優先している姿勢は、Hacker NewsでTournoij氏に感謝のコメントを寄せた「ctoth」氏の心にも響いた。

こうした主流製品のホームページでアクセシビリティについて言及されているのを見たのは初めてだ。盲目の開発者として、これは本当に素晴らしいことだった。どこかで誰かが耳を傾けてくれていると感じられた。ありがとう。

ページビューのカウントに加え、GoatCounterはブラウザのユーザーエージェントとIPアドレスのハッシュを使ってセッションを追跡し、個人情報を保存することなくクライアントを識別している。これらのハッシュ生成に使われるソルトは、スライディングウィンドウ方式で4時間ごとにローテーションされる。Tournoij氏はセッション追跡の技術的な詳細について詳細な解説を公開しており、同様の目的を持つ他のソリューションとの比較も行っている。

JavaScriptを避けたい、あるいはJavaScriptが無効なユーザーからのアクセスも計測したいサイト運営者向けに、GoatCounterはJavaScriptを使わないトラッキング方式もサポートしている。計測したいページに1×1ピクセルの透明なGIF画像を「<img>」タグで埋め込む方式だが、この方法ではリファラーや画面サイズは記録されない。

GoatCounterのホスト版は導入が簡単で、アカウント作成からサイトに1行のJavaScriptを追加するまで5分ほどで完了した。解析データは数秒以内に表示され始めた。ホスト版であっても、サイト運営者はデータを完全に所有しており、いつでも全データをエクスポートしたり、アカウントを削除したりできる。

セルフホスト版も、Linuxバイナリを使うかソースからビルドするかで簡単に導入できる。デフォルトのSQLiteデータベース構成でソースからビルドしてローカルでセットアップするのに10分もかからなかった。後述するPlausibleと比べると、インストールははるかに軽量で、何かをダウンロードすることもなく、ほぼ瞬時に起動した。

Plausible

Plausibleも比較的新しい解析ツールで、2019年初頭に公開された。公開後間もなくオープンソース化され、コードは寛容なMITライセンスで提供されている。同社のビジネスモデルはホスティングに対する課金で、小規模事業者向けの価格設定となっている。ソースコードの公開に加え、Plausibleは透明性を高めるためにロードマップを公開している企業の一つでもある。潜在的な顧客向けにブログで情報発信も行っている。

[plausible.ioより PlausibleのUI]

Plausibleは技術的な観点でもユニークで、サーバーコードはErlang仮想マシン上で動作する関数型プログラミング言語であるElixirで書かれている。フロントエンドのUIでは、Reactのようなレンダリングフレームワークではなく、インタラクティブな部分に少量の素のJavaScriptが使われている。また、謳い文句どおり、解析スクリプトは極めて軽量で、執筆時点でのplausible.jsのサイズは781バイト(非圧縮で1.2KB)だ。比較すると、GAのanalytics.jsは約18KB(非圧縮で46KB)、GoatCounterのcount.jsは2.3KB(非圧縮で6.3KB)である。このサイズ差は、スクリプトがサイトの各ページで読み込まれることを考えると無視できない。

ユーザーインターフェースに関しては、Plausibleの方がGoatCounterよりも洗練されている。とはいえ、むしろGoatCounter以上にミニマルで、総訪問者数、パスごとのページビュー数、リファラー情報、地図上の所在地、デバイス(画面サイズ、ブラウザ、OS別)といった情報を提供する。さらに「直帰率」の指標も提供しているが、その正確な定義は不明だ。

Plausibleのホームページでは「100%データの所有権」を謳っており、単一のグラフについてCSVデータをエクスポートしたり、Plausible.ioのアカウントを削除したりすることは可能だ。しかし、データのダンプは、すべてのイベントの詳細情報を含むGoatCounterのフルダンプに比べると、有用性がかなり劣る。

Plausibleのセルフホストも可能(文字通り“plausible”(もっともらしい))ではあるが、創業者のUku Taht氏がオープンソース化を発表した際に指摘しているように、

今のところ、Plausibleをセルフホストすることを明示的にサポートする予定はないことを断っておきたい。プロジェクトはまだ急速に進化しており、セルフホスト向けの対応を維持すると製品開発が大幅に遅れてしまうからだ。将来的に製品とビジネスがより安定した段階で、セルフホスト版を提供できればと考えている。

とはいえ、ほんの数週間前にPlausibleはDockerを使ってシステムをセルフホストするための実験的な方法を記したドキュメントを追加した。その手順に従い、docker-composeを使ってローカルで起動を試みた。数分にわたるインストール過程で大量のDockerパッケージやnpmパッケージがダウンロードされるのはやや不安を覚えたし、完了した時点でも、PostgreSQLのマイグレーションに関する理解しがたいエラーで起動できないままだった――「実験的」というラベルはまさにそのとおりだと感じた。

プロプライエタリな選択肢について簡単に

プライバシーを重視した軽量なプロプライエタリツールも2つほど紹介する価値がある。もちろん、これらにはオープンな開発やセルフホストの利点はないが、Googleのデータ収集の網から抜け出すための低コストな手段にはなる。

一つは、個人開発者のAdriaan van Rossum氏が作成したクラウドベースのツール、ミニマルなSimple Analyticsで、Plausibleと同様に主要な指標だけを備えたすっきりとしたインターフェースを持っている。もう一つはFathomで、当初はオープンソースだったが、現行バージョンはプロプライエタリとなっている(ただし同社は将来的にオープンソースのコードベースのメンテナンスを再開したいと考えている)。

まとめ

ここ数年で、Google Analyticsの優れた代替ツールが数多く登場してきた。特に、基本的な機能だけを求めるユーザーにとってはそうだ。最近の代替ツールの多くはオープンソースかつプライバシーに配慮しており、プロジェクトや企業がプロプライエタリな解析システムを使い続ける理由は少なくなってきている。

基本的なトラフィック数だけが必要なサイト運営者にとって、GoatCounterとPlausibleはいずれも優れた選択肢と言える。より洗練された見た目やドキュメントを重視するならPlausibleが、セルフホストの容易さなど開発者フレンドリーな点を重視するならGoatCounterが向いているだろう。近く公開予定の第2回では、より高機能なGA代替ツールや、ウェブサーバーのログから解析を行うツールについても取り上げる予定だ。

この記事は「muse-spark-1.2-contributor」を使用して翻訳されました。

コメント