実はRSSフィードの解析や効果測定は非常に難しい。なぜだかわかるかい?
ぼくはSEOmozのウェブ開発をしているのだが、少し前、Randがちょっと興味深いメールを送ってきた。
FeedBurnerの代替品について尋ねられているのだけど、ほんと何も思いつかない。
実際のところ、どうなんだろうな。FeedBurnerに対抗するホスティング型ソリューションを開発するのは難しい? つまり、サイトにインストールして、フィード購読をトラッキングしたり時間が経つとアクセスしたりできるやつなんだけど。
難しい。不可能とはいかないまでも、1人以上の開発者に3か月分の空きスケジュールが必要なくらいは難しい。RSS購読者のトラッキングにはたくさんの時間と労働力と技術がいるんだ。考えているよりも実際はずっと大変なんだ。
FeedBurnerに対抗するホスティング型ソリューションを開発するとなれば、かなりの費用がかかる。大量のウェブサイトについてRSSを提供することになり、地球上のあらゆる地域から毎日朝から晩までリクエストが送られてくる。RSSのウェブページ版を提供するのに加え、かなり堅牢な管理/バックエンドシステムを準備して、ネットワークの接続確認など外部からのリクエストのためのAPIを開発することが必要になる。
ここまでなら難しすぎるとまでは思えない。ハードウェアの規模や帯域幅の要件が普通ではない、複雑なウェブアプリケーションに過ぎないように見える。ようするに、ハードウェアと開発者を投入しさえすれば、あとはうまくいくんじゃないのか? 実はそうではない。
このとき、Randは次の点に大きな関心を寄せていた。
FeedBurnerは、購読者を実際にトラッキングしているわけではない。特定の日に特定の投稿にアクセスしてきた人数をトラッキングしているだけだ。
この証拠はあるよね。事実、うちの購読者数は1日あたり数千人の変動がある。あるときに購読者の数が1万人で、翌日には6000人になっているという具合に。
この件については、FeedBurnerは次のように言っている。
FeedBurnerによる購読者のカウントは、24時間以内にフィードがリクエストを受けた回数の概算に基づいています。購読者は、フィードを毎日取りに来るさまざまなフィードリーダーやフィードアグリゲーターの分析によって推測されています。フィードにアクセスするウェブブラウザや検索ボットは購読者として算出されません。
TechCrunchのRSSの取り扱いを始めた件に関するFeedBurnerのブログ投稿を見てもらうと、FeedBurnerは次のように書いている。
FeedBurnerでは購読者数を算出するのに、IPアドレスとフィードリーダーの組み合わせを利用していて、そこにさらに、市場にある多数のフィードリーダー、フィードアグリゲーター、ブラウザ、および検索ボットのポーリングに関する詳細な知識を活用して、推測を加えています。
Randにはこのことを伝えたのだけど、彼はこれを、実際の購読者をトラッキングする正確な方法だとは考えなかった。
僕なら、購読者をトラッキングするのに、前月に少なくとも1回実際にフィードを取得したユニークユーザー数をトラッキングして、それから個別のアクセス統計をとる。僕に言わせれば、FeedBurnerの数字は正しものではないね。
アイデアとしてはそれほど悪くない。RSSフィードをトラッキングする割に簡単なソリューションに思える。手短だし、単純だし、的を射ている。ああ、そんなに簡単にいけば良いのに……。RSSフィード購読者の正確な数字を得るのは難しい。実際にはとても大変なんだ。
比較的に標準化が進んだウェブブラウザの分野では、99%のユーザーがIE、FireFox、Opera、Safariや、これら4つの中の1つから派生したものを使っている。ブラウザがウェブページを表示する際には、定型化されたリクエストとともに、ブラウザ、コンピュータ、OS、IPアドレスなどの要素についてとても便利なデータセットをウェブサーバーに送信する。受け取ったサーバーは、標準化された内容をユーザーに返す。ユーザーのブラウザはそれを解釈して表示する。単純には思えないかもしれない。でも、これでもRSSフィードの世界と比べればじつに単純なんだ。
RSSフィードについて「ユニークなもの」をトラッキングするのと、ウェブページについて「ユニークなもの」をトラッキングするのには大きな違いがあって、RSSの場合はもっと込み入っている。CGIなどのスクリプトで4つの主要なブラウザを区別するのでさえ完全に正確にするのは難しいよね。ところがRSSの場合は文字通り何千ものRSSリーダーがあって、フィードからのデータに対して、どれもが独自の方法で思い思いにアクセスしたりリクエストを送ったりしているんだ。
たとえばNewsGatorのようなフィードリーダーは、ユーザーごとに1時間に1回、サーバーにリクエストを送っている。一方、MyYahoo、NetVibes、BlogLinesがサーバーに対してリクエストを送るのは、1日に合計3回で、フィードを読んでいる何千何百というユーザーには、収集してキャッシュしたローカルバージョンのフィードを提供している。リクエストの中で購読者の総数を送信しているサービス(全体の5~10%で、BlogLinesが一例)も中にはある。でも、ほとんどはそんなに親切ではない。
コンバージョンのトラッキングはどうか。でも、購読者ベースがはっきりしないで、コンバージョンのトラッキングをやってみるというのは、ほぼありえない。フィードへのアクセスとアクセス元をトラッキングできたとしても、それほど役には立たないだろう。ユーザーが各自のウェブサーバー上に設置できるインストール可能なソフトウェア部品ができて、ハードウェア側から見れば良くなるのだろうけど、正確な数字を生成するために、やはり目まいがするほどたくさんのRSSフィードリーダーについてアルゴリズムを開発しなくてはいけない。
Randは自分のところのすばらしい開発者の知識に感動し、しかし一方で、この話がどんなに大変な仕事につながるのかにも感銘を受けていた。ただRandには、コンバージョンのトラッキングについてもう1つアイデアがあった。
ちょっと聞いてみるだけなんだけど、ユーザー側で投稿の中になにか埋め込んでもらうというのはどうなんだろう。どれくらいの人が投稿を取得しているのか、まさに分析したかのようにわかるんじゃないかな。
理論的にはそのとおり。でもこれもうまくいかない。
RSSフィードにはスクリプト(JavaScript)を含めることはできない。画像は設置できて、理論的にはこれでインプレッション数を測定できるのだけど、HTMLをすべて取り除いてしまうフィードリーダーもあって、その場合はインプレッション数が記録されない。それに、画像をサーバーやユーザーのコンピュータにキャッシュするリーダーもある。
加えて、ユーザーがすべてのフィード(または個別の投稿)を「既読」にするだけで、実際には投稿が表示されない場合があって、このときは画像も表示されない。しかし、そうしたユーザーも購読していることには変わりなく、ただ投稿を読まなかったというだけなんだ。そういう人たちもその日の購読者としてカウントするのだろうか。また、画像の方法を実施するとして、ブログのテンプレートを変更する方法を知らない、または変更できないような人たちをどうするのだろう。どうやって画像を入れるのか?
言ったように、とても込み入っている。
それから数日後、Randがちょっとした情報を話してくれた。
ここにいる人たちに聞いたのだけど(省略)FeedBurnerは実はBloglinesやNetvibesなんかの人たちと結びつきがあって、そのため、フィードをキャッシュしているこれら人気サイトからより正確なデータを得られているということらしい。また、Googleによる買収で、さらに正確なデータを得ることができるようになって、Google自体も、Google ReaderやiGoogleなんかを使っている人たちに、より確実なデータを提供できるようになるって話だ。
親切な人たちだ。そういったことも、購読者を正確にトラッキングするのに必要な数多くの試練のうちの1つなんだ。顧客のためにRSSフィードのトラッキングを始めるだけでも、大規模で、能力も資金もたっぷりある会社が必要になる。これも避けられない参入障壁の1つにすぎないのだけどね。
ソーシャルもやってます!