(57)【特許請求の範囲】
【請求項１】
クライアント装置でのユーザの閲覧活動を監視及び追跡する方法であって、
少なくともタッチスクリーンディスプレイを有する携帯用装置である前記クライアント装置から、前記クライアント装置に表示された少なくとも一つのページと対話するユーザの閲覧活動情報を受信し、
前記クライアント装置から、前記クライアント装置に表示された前記少なくとも一つのページを部分的に識別するページ情報を受信し、
前記クライアント装置に表示された前記少なくとも一つのページの基準レイアウトを生成し、
前記閲覧活動情報及び前記ページ情報に基づいて、ページビューレベルにおける露出マップを生成する、
ことを有し、
前記露出マップは、前記クライアント装置に表示され前記ユーザによって訪問された前記ページに基づくページビューの各領域の要点を示し、前記ページビューは、前記基準レイアウトに重なるようにマッピングされるページビューレイアウトにより特徴づけられ、前記ページビューレイアウトは、表示されたページの少なくとも一つの可視領域を含み、ページビューの各領域は、前記ページ全体より小さい、方法。
【請求項２】
前記ページビューレベルにおける、前記生成された露出マップを記憶装置に保存し、
前記ユーザによって訪問された前記少なくとも一つのページに関連する解析データを生成する、
ことをさらに有する請求項１に記載の方法。
【請求項３】
前記閲覧活動情報は、前記クライアント装置で前記ユーザにより実行される少なくともパン／ズーム操作及びビューポートに関連する情報を包含するパン／ズームデータセットと、前記クライアント装置に表示される前記少なくとも一つのページの少なくとも一つの要素に関連する情報を包含する要素データセットとを含み、
各ビューポートは、常に前記クライアント装置に表示される前記少なくとも一つのページの前記ページ全体より小さい可視領域である、
請求項１に記載の方法。
【請求項４】
前記パン／ズームデータセットは、前記ページのサイズ、各ビューポートのサイズ、各ビューポートの位置、各ビューポートがアクティブであった期間、及びレンダリングエンジンが前記クライアント装置で前記少なくとも一つのページを表示するレイアウトのいずれかを含む、
請求項３に記載の方法。
【請求項５】
前記パン／ズームデータセットは、前記タッチスクリーンディスプレイに関連するイベントを監視することによって生成される、
請求項４に記載の方法。
【請求項６】
前記要素データセットに含まれるページの要素は、少なくともドキュメントオブジェクトモジュール（ＤＯＭ）要素である、
請求項４に記載の方法。
【請求項７】
前記ページ情報は、ページ識別子、ユニフォームリソースロケータ（ＵＲＬ）、ブラウザの種類、モバイルアプリケーション名、プラットフォームの種類、前記タッチスクリーンディスプレイの解像度及び深度、ページのロード開始時刻、初期化開始時刻、時間帯、及びユーザ識別子のいずれかを含む、
請求項６に記載の方法。
【請求項８】
前記ページ情報及び前記閲覧活動情報は、前記クライアント装置により実行される追跡コードによって収集される、
請求項７に記載の方法。
【請求項９】
前記ページビューレベルにおける前記露出マップを生成することは、前記ページビューの露出マップを生成するために、前記パン／ズームデータセットに含まれるビューポートを統合することをさらに有し、前記統合されたビューポートは、前記生成されたページビューに対応する前記ページの他のページビューの上に重ねられる、
請求項３に記載の方法。
【請求項１０】
複数の交差領域を生成するために各ビューポートを前記基準レイアウトにマッピングし、
複数のマッピングされたビューポートを生成するために、各ビューポートの前記複数の交差領域で結合操作を実行し、
前記パン／ズームデータセットに含まれる全てのビューポートに基づいて前記複数のマッピングされたビューポートを統合する、
ことをさらに有する請求項９に記載の方法。
【請求項１１】
加重和として前記複数のマッピングされたビューポートに基づいて全てのビューポートのデルタタイムスパンを計算することによって、前記ページビューの前記要点を決定する、
ことをさらに有する請求項１０に記載の方法。
【請求項１２】
前記複数の交差領域のそれぞれは、前記ページビューレイアウトにおける各ビューポートと交差する各ページ要素又はページ要素の組合せについて、前記基準レイアウトにおいて生成された矩形領域であり、
前記ページ要素は、前記要素データセットに含まれる、
請求項１０に記載の方法。
【請求項１３】
前記ユーザについて生成された複数のページビューレベルの露出マップを統合することによって、ビジターレベルの露出マップを生成し、
前記ページを訪問した複数のユーザについて生成された複数のビジターレベルの露出マップを統合することによって、ページレベルの露出マップを生成する、
ことをさらに有する請求項９に記載の方法。
【請求項１４】
前記ユーザの前記閲覧活動は、前記クライアント装置にインストールされたモバイルアプリケーションのページ、及び前記クライアント装置にインストールされたウェブブラウザによって表示されたウェブページの少なくとも一つとの前記ユーザの対話を含む、
請求項１に記載の方法。
【請求項１５】
一又は複数の処理ユニットに、請求項１に記載の方法を実行させるために格納された命令を有する、
非一時的なコンピュータ可読媒体。
【請求項１６】
クライアント装置でのユーザの閲覧活動を監視及び追跡するシステムであって、
ネットワークに接続された前記クライアント装置から、前記クライアント装置に表示された少なくとも一つのページと対話する前記ユーザの閲覧活動情報、及び前記クライアント装置に表示された前記少なくとも一つのページを部分的に識別するページ情報を受信するためのネットワークインターフェイスと、
プロセッサと、
前記プロセッサに接続され、前記クライアント装置に表示される前記少なくとも一つのページの基準レイアウトを生成するための、及び、前記閲覧活動情報及び前記ページ情報に基づいて、ページビューレベルにおける露出マップを生成するための処理を前記プロセッサに実行させるための命令を保存するように構成されたメモリと、
を有し、
前記露出マップは、前記クライアント装置に表示されて前記ユーザによって訪問された前記ページに基づいてページビューの各領域の要点を示し、前記ページビューは、前記基準レイアウトに重なるようにマッピングされるページビューレイアウトにより特徴づけられ、前記ページビューレイアウトは、表示されたページの少なくとも一つの可視領域を含み、ページビューの各領域は、前記ページ全体より小さい、システム。
【請求項１７】
前記ページビューレベルにおける、前記生成された露出マップを保存するための記憶ユニットをさらに有する、
請求項１６に記載のシステム。
【請求項１８】
前記閲覧活動情報は、前記クライアント装置で前記ユーザにより実行される少なくともパン／ズーム操作及びビューポートに関連する情報を包含するパン／ズームデータセットと、前記クライアント装置に表示される前記少なくとも一つのページの少なくとも一つの要素に関連する情報を包含する要素データセットとを含み、
各ビューポートは、常に前記クライアント装置に表示される前記少なくとも一つのページの前記ページ全体より小さい可視領域である、
請求項１６に記載のシステム。
【請求項１９】
前記プロセッサは、ページビューの露出マップを生成するために、前記パン／ズームデータセットに含まれるビューポートを統合するようにさらに構成され、
前記統合されたビューポートは、前記生成されたページビューに対応する前記ページの他のページビューの上に重ねられる、
請求項１８に記載のシステム。
【請求項２０】
前記プロセッサは、
複数の交差領域を生成するために各ビューポートを前記基準レイアウトにマッピングし、
複数のマッピングされたビューポートを生成するために、各ビューポートの前記複数の交差領域で結合操作を実行し、
前記パン／ズームデータセットに含まれる全てのビューポートに基づいて前記複数のマッピングされたビューポートを統合する、
ようにさらに構成された請求項１９に記載のシステム。
【請求項２１】
前記プロセッサは、加重和として前記複数のマッピングされたビューポートに基づいて全てのビューポートのデルタタイムスパンを計算することによって、前記ページビューの前記要点を決定する、
ようにさらに構成された請求項２０に記載のシステム。
【請求項２２】
前記複数の交差領域のそれぞれは、前記ページビューレイアウトにおける各ビューポートと交差する各ページ要素又はページ要素の組合せについて、前記基準レイアウトにおいて生成された矩形領域であり、
前記ページ要素は、前記要素データセットに含まれる、
請求項２０に記載のシステム。
【請求項２３】
前記プロセッサは、
前記ユーザについて生成された複数のページビューレベルの露出マップを統合することによって、ビジターレベルの露出マップを生成し、
前記ページを訪問した複数のユーザについて生成された複数のビジターレベルの露出マップを統合することによって、ページレベルの露出マップを生成する、
ようにさらに構成された請求項２２に記載のシステム。
【請求項２４】
前記ユーザの前記閲覧活動は、前記クライアント装置にインストールされたモバイルアプリケーションのページ、及び前記クライアント装置にインストールされたウェブブラウザによって表示されたウェブページの少なくとも一つとの前記ユーザの対話を含む、
請求項１６に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
インターネットは、相互に通信するために共通のプロトコルを使用する異種のコンピュータシステムの集合体である。インターネットの一般的な用途は、ワールドワイドウェブ（ウェブ）ページにアクセスすることである。ウェブページは、通常、サーバに格納され、クライアントによってウェブブラウザを用いてインターネットを介してリモートアクセスされる。
【０００２】
ウェブサイトは、ウェブページの集合体である。ウェブサイトは、通常、ホームページと、ホームページを介してアクセス可能な階層順の後続のウェブページとを含んでいる。ウェブページは、ハイパーテキストリンクを用いて相互に接続されている。リンクは、ユーザがウェブページ間のリンクを選択することによって、ウェブサイトのウェブページを閲覧することを可能にする。別個のウェブサイトは、各自明確に関連付けられたインターネットドメイン名によって、それぞれ識別すること可能である。
【０００３】
ユーザの訪問と収益とを増加させるために、ウェブサイトは、非常に洗練されたものとなっている。ウェブサイトは、通常、ユーザに情報を提供し、ユーザに製品又はサービスを広告し、並びに／若しくはユーザに対してサイトの検索機能を提供するウェブページを含んでいる。ウェブサイトの所有者にとっての問題は、例えば、ユーザの情報又は他の必要性を満たしているか否か、並びにユーザが自身のサイトで宣伝した商品及びサービスを購入しているか否か等、ウェブサイトがどの程度成功しているかを決定する方法である。
【０００４】
例えばウェブサーバ等のネットワークサーバのトラフィックを解析するためのプログラムは、従来技術に記載されている。これらの従来技術のシステムでは、通常、監視されているウェブサーバでプログラムが実行される。データがコンパイルされ、レポートがオンデマンドで生成又は電子メールを介して随時配信されて、例えば、訪問数による最も人気のあるページ、ウェブサイトの活動のピーク時刻、及び最も人気のある開始ページ等のウェブサーバの活動についての情報を表示する。あるいは、監視されているウェブサーバでデータのログが取られ、そのログが他のコンピュータに転送されて、そこでコンパイルされ、解析される。
【０００５】
ウェブサイト解析を収集するための他の技術は、トラフィックを監視するためにウェブページに埋め込まれたクライアント側スクリプトを用いるものである。そのようなスクリプトは、情報を収集して、情報が解析及び保存される中央サーバに送出する。スクリプトは、通常、ユーザが訪問するＵＲＬ、マウス操作、ウェブページのスクロール、ブラウザウインドウのサイズ変更、クリックイベント、キーボード使用等（“操作ごと”のデータ）、及び訪問されたＵＲＬの順序等を収集するクライアント装置で実行される。収集された情報は、通常、アセンブルされてクライアントの識別（例えば、ＩＰアドレス）とともにページごとに中央サーバに送信される。
【０００６】
訪問されたＵＲＬの順序は、訪問者がウェブページＡからウェブページＢ、ウェブページＣへと移動する場合、通常、ウェブ閲覧の線形モデルを用いて収集される。しかしながら現実には、ユーザが複数のブラウザウインドウ又はタブを開いた上で、訪問者が好む任意の方法で一から他に切り替える可能性がある。線形モデルは、トラフィック解析が進化したウェブサーバログの線形性に由来していた。この線形モデルの結果は、訪問者がウェブページで費やす時間を、ロードイベントからアンロードイベントまでに経過する時間として測定するものである。しかしながら、この時間は、通常、ユーザがそのページと対話するのに費やした実時間を示すものではなく、むしろページが開いたままの時間を含んでいる。
【０００７】
クライアントサイズのスクリプトに基づく従来の監視技術は、そもそも、パーソナルコンピュータ等で実行されるウェブブラウザに適合するように設計され、ユーザは、マウスを用いてブラウザと対話し、ブラウザは、ウインドウでアクティブとなる。しかしながら、例えばスマートフォン、タブレットコンピュータ、電子リーダ等の携帯用コンピュータ装置は、ますます大変な人気となってきている。
【０００８】
パーソナルコンピュータと対比して、携帯用装置で行われる閲覧活動には、多くの違いがある。例えば、携帯用装置は、ユーザがタッチスクリーンディスプレイを介してウェブページと対話することを可能にする。マウスが指に置き換えられることによって、対話は、ほとんどの場合、ただタッチスクリーンディスプレイでタップするだけで行われる。加えて、携帯用装置で実行されるブラウザ（“モバイルブラウザ”）に表示されるウェブページのコンテンツは、小さな表示エリアに適合されている。このように、モバイルブラウザには、パーソナルコンピュータのブラウザとは異なって表示される。さらに、携帯用装置は、“ＡＰＰｓ”としても知られる“モバイルアプリケーション”の実行を可能にする。これらのモバイルアプリケーションは、モバイルブラウザを介してアクセスされないウェブコンテンツへのアクセスを提供する。このようなアプリケーションの提供者は、訪問者についての情報にますます興味を持っている。
【０００９】
少なくとも携帯用装置の閲覧活動に関連する上述した違いのために、従来のクライアント側の監視スクリプトは、ウェブページ及びモバイルアプリケーションとのユーザの対話を正確に監視することができなかった。
【００１０】
したがって、ユーザの閲覧活動を追跡及び解析するための従来技術の不備を克服する解決策を提供することは、有利となるだろう。
【発明の概要】
【００１１】
本明細書に開示された特定の実施形態は、クライアント装置のユーザの閲覧活動を監視及び追跡する方法を含んでいる。その方法は、少なくともタッチスクリーンディスプレイを有する携帯用装置であるクライアント装置から、少なくともクライアント装置に表示されるページと対話するユーザの閲覧活動情報を受信し、クライアント装置に表示されるページを部分的に識別するページ情報をクライアント装置から受信し、閲覧活動情報とページ情報とに基づいて、ページビューレベルにおける、クライアント装置に表示されてユーザによって訪問されたページのそれぞれのページビューの各領域の要点を示す露出マップを生成する。
【００１２】
本明細書に開示された特定の実施形態は、クライアント装置のユーザの閲覧活動を監視及び追跡するシステムを含んでいる。そのシステムは、ネットワークに接続されたクライアント装置から、少なくともクライアント装置に表示されるページと対話するユーザの閲覧活動情報、及びクライアント装置に表示されるページを部分的に識別するページ情報を受信するためのネットワークインターフェイスと、プロセッサと、プロセッサと接続され、閲覧活動情報とページ情報とに基づいて、ページビューレベルにおける、クライアント装置に表示されてユーザによって訪問されたページのそれぞれのページビューの各領域の要点を示す露出マップを生成するための処理を、プロセッサに実行させるための命令を保存するように構成されたメモリと、を有する。
【００１３】
本発明とみなされる主題は、本明細書の結論の特許請求の範囲において特に指摘され、かつ明確に請求されている。本発明の前述及び他の特徴並びに利点は、添付の図面と併せて以下の詳細な説明から明らかになるであろう。
【図面の簡単な説明】
【００１４】
【図１】図１は、本明細書に開示される種々の実施形態を説明するために利用されるネットワークシステムの構成図である。
【図２】図２は、一実施形態に係る追跡コードによって実行されるユーザ活動情報を収集及び記録する方法のフローチャートである。
【図３】図３は、一実施形態に係るユーザの活動を追跡する方法を示すフローチャートである。
【図４】図４は、一実施形態によるユーザのページビューレベルにおける露出マップを生成する処理を示すフローチャートである。
【図５】図５Ａ，５Ｂ，５Ｃ，及び５Ｄは、マッピングされたビューポートインスタンスの生成の処理を示す。
【発明を実施するための形態】
【００１５】
［関連出願の相互参照］
この出願は、２０１２年５月１０日付けで出願された米国仮出願番号６１／６４５，３３１の利益を主張するもので、その内容は、参照により本明細書に組み込まれる。
【００１６】
開示された実施形態は、本明細書の革新的教示の多くの有利な使用の例に過ぎないことに留意することが重要である。一般に、本出願の明細書に含まれる記載は、必ずしも、様々な主張された発明のいずれかに限定するものではない。さらに、いくつかの記載は、いくつかの発明の特徴に適用されるが、他の発明の特徴には適用されない。一般的に、特に明記しない限り、単数形の要素は、複数の要素であってもよく、又はその逆であってもよい。図面において、同様の数字は、いくつかの図を通じて同様の部分を参照する。
【００１７】
図１は、本発明の様々な実施形態を説明するために利用されるネットワークシステム１００の例示的かつ非限定的な図を示している。ネットワークシステム１００は、ネットワーク１１０に接続されたクライアント装置１０１を含んでいる。ネットワーク１１０は、ウェブサーバ１２０と追跡サーバ１３０とにも接続されている。追跡サーバ１３０は、クライアント装置１０１で実行される追跡コードによって収集されたユーザ活動情報を処理して解析する。
【００１８】
一実施形態において、追跡サーバ１３０は、少なくとも、ウェブサーバ１２０からダウンロードされ、クライアント装置１０１のユーザが最も対話及び／又は閲覧したウェブページの領域を示す露出マップ又はレポートを生成する。一実施形態では、露出マップを、ヒートマップとして写実的に示すことができる。後述するように、ページビューレベル、ユーザレベル、及びウェブページレベルでの露出マップは、本明細書に開示される教示に従って生成される。
【００１９】
追跡サーバ１３０は、ウェブページの訪問の間にユーザによって実行された活動を表すユーザ活動情報を受信し、訪問の間にユーザに表示されたウェブページコンテンツを表すウェブページコンテンツ情報を受信するためのインターフェイス（図１に図示せず）を含んでもよい。インターフェイスを介して受信する情報は、圧縮されていてもよい。追跡サーバ１３０は、受信データを解凍し、少なくともユーザの活動に関する露出マップ及びその他の解析レポートを生成するタスクを少なくとも実行するように構成されたプロセッサ（図１に図示せず）も含んでいる。追跡サーバ１３０によって実行される処理は、以下により詳細に記載される。
【００２０】
ウェブサーバ１２０は、クライアント装置１０１のブラウザ１０２を介してアクセスされたウェブサイトを提供することができる。ウェブサーバ１２０は、クライアント装置１０１で実行されるモバイルアプリケーション１０３（又はＡＰＰ）に機能性及びコンテンツを提供するアプリケーションを実行してもよい。ブラウザ１０２に表示されるウェブサイトのウェブページか、それともモバイルアプリケーション１０３に表示されるコンテンツかについての露出マップ及びその他の解析データを生成するために、本明細書に開示された教示を利用することができる。本発明の範囲を限定することなく、単に簡単のために、ブラウザ１０２を用いて説明する。さらに、開示された教示は、一つのサーバ１２０から取得され、かつクライアント装置１０１に表示されたコンテンツに限定されないことに留意すべきである。ブラウザ１０２は、複数のサーバ、ウェブ及び／又はアプリケーションサーバから取得されたコンテンツをディスプレイに表示することができる。
【００２１】
クライアント装置１０１は、スマートフォン、タブレットコンピュータ、パーソナルコンピュータ、ラップトップコンピュータ、ネットブックコンピュータ、及び電子書籍リーダ等であればよいが、これらに限定されるものではない。ブラウザ１０２は、Safari（登録商標）、Firefox（登録商標）、Internet Explorer（登録商標）、及びChrome（登録商標）等の任意のウェブブラウザであればよい。クライアント装置１０１のプロセッサは、iOS（登録商標）、Android（登録商標）、Unix（登録商標）、及びWindows（登録商標）等を含み得るオペレーティングシステムを実行する。モバイルアプリケーション１０３は、クライアント装置１０１及び／又はブラウザ１０２の延長線上で実行可能な任意のアプリケーションであればよい。モバイルアプリケーション１０３は、通常、例えばApple Computers（登録商標）によるAppStore（登録商標）、及びGoogle（登録商標）Play（登録商標）等のセントラルリポジトリ１４０からダウンロードされる。
【００２２】
一実施形態によれば、ユーザ活動情報は、追跡コードを使用することによって実行される記録処理を介して収集される。追跡コードは、クライアント装置１０１にダウンロードされたウェブページに埋め込まれた、例えばJava（登録商標）スクリプト等のスクリプトとして実現されればよい。追跡コードは、クライアント装置１０１にダウンロードされてインストールされたモバイルアプリケーションに埋め込まれていてもよい。追跡コードは、クライアント装置１０１にシームレスに組み込まれて実行されることに留意すべきである。
【００２３】
一実施形態において、追跡コードは、自動的にその実行を開始してもよい。あるいは、コードは、ウェブページ又はモバイルアプリケーション１０３の他の部分のスクリプトからの命令を待ってもよい。追跡コードは、ユーザの活動を追跡するか否かを決定することができる。そのような決定は、一又は複数の所定のパラメータ、ランダム過程、又はそれらの組合せに応答することができる。所定のパラメータは、例えば、ページのＵＲＬ、参照ページのＵＲＬ、ＩＰアドレス、時間帯、ブラウザの種類、ユーザが（ウェブページ及び／又はウェブサイトに）戻ってきたユーザであるか否か、及び特定のユーザ操作等を含んでいる。
【００２４】
クライアント装置１０１のユーザは、一又は複数のウェブページを含むウェブサイトを訪問することができる。ウェブページがブラウザ１０２に表示される間、ユーザは、追跡コードによって監視される様々な活動を実行することができる。一つのウェブページ内のユーザの対話は、“ページビューセッション”と呼ばれる。
【００２５】
一実施形態によれば、追跡コードは、ユーザ活動情報、ウェブページ情報、及びクライアントコンピュータ関連情報を、他の方法で追跡サーバ１３０に送信することができる。例えば、ウェブページ情報又はクライアントコンピュータ情報（例えば、ウェブページ識別子、ＵＲＬ、リンク元、ブラウザの種類、プラットフォームの種類、スクリーンの解像度及び深度、ページのロード開始時刻、初期化開始時刻、時間帯、ユーザ識別子、システム能力（プラグイン、クッキー、Flash（登録商標）））を、ユーザ活動情報の送信前に非圧縮（又は圧縮）形式で送信することができる。
【００２６】
他の実施形態において、追跡コードは、ユーザ活動を待ち、これらの活動に応答して、収集されたユーザ活動情報を圧縮及びバッファリングし、圧縮されたユーザ活動情報を選択的に送信する。圧縮及びバッファリングは、ネットワーク１１０上のユーザ活動情報の送信に関連する帯域幅及びオーバーヘッドを減少させる。非常に詳細なユーザ活動情報が獲得され、ユーザ活動情報の送信に割り当てられる全体的なリソース（例えば帯域幅等）を制限するために、収集したユーザの活動を送信するときに圧縮及びバッファリング技術を使用することができることに留意すべきである。追跡サーバに送信されるデータ量を減らすことは、クライアント装置１０１と追跡サーバ１３０との間の通信がセルラネットワークを介して確立する場合において、非常に重要であることに留意すべきである。クライアント装置１０１から追跡サーバ１３０に送信される情報を圧縮するために、任意のデータ圧縮技術を利用してもよい。
【００２７】
一実施形態によれば、ページビューセッションの記録の間に、追跡コードは、イベントを収集すべき場合又はデータの収集をトリガすべき場合に、ブラウザ１０２によって生成されたイベントをリッスンしてイベントごとに決定する。具体的には、二組のデータセット：パン／ズームデータセット及び要素データセットは、ページビューセッション（すなわち、ウェブページ内のユーザの対話）の間に収集される。パン／ズームデータセットは、パン／ズーム操作に関連し、要素データセットは、ウェブページの要素に関連する。
【００２８】
パン／ズームデータセットは、ユーザ装置にダウンロードされたウェブページのサイズ；クライアント装置１０１で常に可視領域（以下“ビューポート”）のサイズ；各ビューポートの位置（例えば、スクロールバーの位置）；各ビューポートがアクティブであった期間；及びブラウザ１０２がウェブページを表示しようと試みたレイアウトを含んでいる。パン／ズームデータセットを使用して、常にクライアント装置１０１において可視であった矩形領域を決定することができる。ビューポートのｘ，ｙ座標を使用して、位置データを表すことができる。パン／ズームデータセットを収集するために、例えば、ロード、アンロード、スクロール、リサイズ、マウスムーブ、マウスダウン、マウスアップ、クリック、キーダウン、キープレス、キーアップ、ペースト、マウスリーブ、マウスエンタ、アクティブ化、非アクティブ化、フォーカス、ぼかし、選択、選択開始、送信、エラー、及びアボート等を含むイベントは、追跡コードによって監視されて記録される。好ましい実施形態において、タッチスクリーンディスプレイを有する携帯用装置によって追跡コードが実行される場合、例えば、方位変化、タッチスタート、タッチムーブ、及びタッチエンド等のイベントが記録されて監視される。
【００２９】
各イベントは、複数のプロパティ又は属性に関連付けられている。イベントと一緒に、これらのプロパティを記録することができる。例えば、マウスイベントは、カーソル、マウスボタンのカーソル及び状態のｘ、ｙ座標で送信され；キーボードイベントは、押されたキーで送信され；スクロールイベントは、スクロールバーの位置で送信され；リサイズイベントは、新しいウィンドウサイズで送信され；クリックイベントは、クリックされたオブジェクト又はリンクのタイプ及びＵＲＬ、並びにクライアント装置の方位等で送信される。一実施形態において、各イベントは、発生した時間で送信される。例えばロード時間等、予め知られている転送時間について、その時間を絶対的又は相対的にすることができる。
【００３０】
要素データセットは、ウェブページの一又は複数の要素に関する位置情報を含んでいる。例えば、追跡コードは、ウェブページの中心又はビューポートの中心にある要素のサブセットの位置情報を収集してもよい。要素位置情報は、ウェブページとのユーザの対話として収集される。例えば、テキストの段落、リンク、画像、ボタン、又はウェブページの任意のドキュメントオブジェクトモジュール（ＤＯＭ）を要素とすることができる。要素の位置情報は、要素（ＤＯＭ）パス及び識別（ＩＤ）等の識別、要素の外接矩形、並びに子要素の任意の識別情報：の少なくとも一つを含んでいる。例えば、要素が“フォーム”であれば、子要素は、“送信ボタン”又は“選択制御”であればよい。
【００３１】
各ページビュー（すなわち、ウェブページの訪問）について、複数のビューポートに関連する情報が収集されることに留意すべきである。ビューポートがページビューの間に変更するので、各ページビューについて、通常、パン又はズーム操作に応答して複数のビューポートを表示することができる。ページビューで表示される各ビューポートは、“ビューポートインスタンス”と呼ばれ、ビューポートインスタンスを起動する。ビューポートインスタンスの幅／高さは、ビューポートインスタンスの“ズーム”レベルを決定する。ズームレベルは、所与の領域が観察されたレベルで決定される。一実施形態において、収集されて記録された情報は、ページビュー毎に組み立てられればよい。
【００３２】
追跡コードによって収集される追加情報は、ウェブページの各種データのチェックサム及び暗号ハッシュを含んでもよい。チェックサムは、ＣＲＣ、ＣＲＣ３２、及びフレッチャーチェックサムアルゴリズムを含むがこれに限定されるものではなく、また、ハッシュは、ＳＨＡ−１及びＭＤ４ハッシュアルゴリズムを含むがこれに限定されるものではない。
【００３３】
図２は、一実施形態に係る追跡コードによって実行されるユーザ活動情報を収集して記録する方法の例示的かつ非限定的なフローチャート２００である。Ｓ２１０では、追跡コードがネットワーク１１０を介してクライアント装置１０１にダウンロードされる。上記のように、追跡コードは、ウェブサーバ１２０から取得されたウェブページのコンテンツの一部であってもよいし、モバイルアプリケーション１０３に埋め込まれたものであってもよい。ダウンロードされた追跡コードは、クライアント装置１０１の有形のメモリに保存されてクライアント装置１０１のプロセッサによって実行される。一実施形態において、追跡コードは、Java（登録商標）スクリプトとして実現される。追跡コードは、異なる段階の間に分けて、又は最初にダウンロードされた追跡コードの実行に応答して、ダウンロードされてもよい。
【００３４】
Ｓ２２０では、ユーザの活動を追跡するか否かが決定される。非限定的な例として、決定は、ユーザの以前の訪問に応答する。追跡が実行されるべきであると決定されれば、実行はＳ２３０に続き；そうでなければ、実行は終了する。
【００３５】
Ｓ２３０では、少なくともクライアント装置１０１が追跡コードを実行することによって、ユーザの活動の追跡が実行される。具体的に、ページビューセッションの間、Ｓ２３０では、ブラウザ１０２（又はモバイルアプリケーション１０３）によって生成されるイベントが監視されて記録される。加えて、少なくともウェブページのパン／ズームアクション及び要素に関連する位置情報は、パン／ズーム及び要素データセット内に集められる。監視されて記録されるこれらのデータセットとイベントとの内容は、上記で詳細に議論されている。ページビューセッション間には、多数のビューポートインスタンスが生成されることに留意すべきである。Ｓ２３０の結果は、セッションの間に表示された複数のビューポートインスタンスに関するデータを含むページビュー当たりのユーザ活動情報である。収集されて記録された情報は、ページビューセッションの間、常にブラウザ１０２において可視である矩形領域の検出を可能にする。
【００３６】
Ｓ２４０では、ページビューセッションが終了した（例えば、アンロードイベントをキャプチャする場合）か否かがチェックされる。そうであれば、実行はＳ２５０で継続し；そうでなければ、実行はＳ２３０に戻る。必要に応じて、Ｓ２５０では、収集されたユーザ活動情報、又はそれらの一部が、追跡サーバ１３０にネットワーク１１０を介して送信されるべきデータ量を低減されるために圧縮されてバッファリングされる。当該技術分野で知られているデータ圧縮のための任意の技術を使用して圧縮を実行することができる。
【００３７】
Ｓ２６０では、（圧縮可能な）ユーザ活動情報が追跡サーバ１３０にネットワーク１１０を介して送信される。実施形態において、収集された情報の送信は、最初のメッセージを追跡サーバ１３０に送信することを含んでいる。最初のメッセージは、例えば、上記で詳述したように、ウェブページの情報又はクライアント装置の情報を含むことができる。他の実施形態では、一定量のデータが収集された後に、ユーザ活動情報をチャンクで送信することができる。
【００３８】
図３は、本発明の一実施形態に係るクライアント装置のユーザの活動を追跡する方法を説明する非限定的かつ例示的なフローチャート３００を示す。この方法は、追跡サーバ１３０によって実行される。
【００３９】
Ｓ３１０では、ページビューセッションの間にクライアント装置１０１のユーザによって実行される活動の代表的な（圧縮された又は圧縮されていない）ユーザ活動情報を受信する。受信したユーザ活動情報の内容は、上記に詳述されている。必要に応じて、Ｓ３２０では、追跡サーバ１３０が、訪問の間にユーザに表示されるウェブページコンテンツを代表するウェブページコンテンツ情報を受信する。外部ソース（例えば、ウェブサーバ１２０）又はクライアント１０１から、そのような情報を受信することができる。
【００４０】
必要に応じて、Ｓ３３０では、受信したユーザ活動情報が圧縮されている場合、解凍される。Ｓ３４０では、クライアント１０１のユーザが訪問したページビューのコンテンツの要点を示す少なくともページビューレベルの露出マップが生成される。露出マップは、ユーザ活動情報に応答して、また、いくつかの実施形態では、追跡コードによって収集されるウェブページコンテンツ情報に応答して、生成される。露出マップは、ページビューレベルで生成される。一実施形態では、露出マップが二次元ヒートマップとして表示される。Ｓ３４０の実行は、以下の図４−５を参照してより詳細に説明する。追跡コード及びヒート露出マップの例は、米国特許7,941,525に見出すことができ、これは、共通の譲渡人に譲渡され、そして、本明細書に含まれる全ての有用な情報のために、参照により組み込まれる。
【００４１】
Ｓ３５０では、クライアント装置１０１のユーザによって訪問されたウェブページについてのページビューレベルの露出マップが記憶装置に保存される。記憶装置は、追跡サーバ１３０に接続されてもよいし、ネットワーク１１０に取り付けられてもよい。Ｓ３６０では、クライアント装置１０１のユーザによって訪問された他のページビュー（Ｗｅｂページ）について生成された露出マップが、ビジターレベルの露出マップを生成するために統合される。このマップは、ユーザが訪問した任意のウェブページの任意の領域を対話して閲覧した時間、ユーザが特定のページ領域を閲覧したか否か、及び／又はいくつのページビューで特定のユーザが閲覧したか等を示している。
【００４２】
Ｓ３７０では、他のユーザについて生成されたビジターレベルの露出マップが、ページレベルの露出マップを生成するために統合される。このマップは、どのくらいの時間、ページビューの特定の領域が他のユーザによって閲覧可能であったか、ページビューの特定の領域が全てのユーザ又は一部のユーザに閲覧可能であった場合、いくつのページビューで領域が閲覧可能か、何人のユーザがページビューの特定の領域を閲覧したか等を示している。Ｓ３６０及び／又はＳ３７０で生成されたマップもまた、記憶装置に保存されてもよい。ビジターレベルの露出マップ及びページレベルの露出マップも、二次元ヒートマップとして表示することができる。Ｓ３６０及びＳ３７０は、任意のものであることに留意すべきである。
【００４３】
図４は、Ｓ３４０の動作をより詳細に示す非限定的かつ例示的なフローチャートを示す。上述したように、Ｓ３４０は、受信したユーザ活動情報を処理することによって特定のユーザ（例えば、クライアント１０１のユーザ）が訪問したページビューについて生成された露出マップをもたらす。具体的に、これは、統合されたページビューに対応するウェブページの他のページビューの上に統合結果が重ねられるような方法でのビューポートインスタンスの統合を含んでいる。これは、ウェブページのクライアント装置１０１の視覚的表示と、他のディスプレイのウェブページの視覚的表示との間の差を補償するために行われる。すなわち、同一のウェブページは、通常、異なるデバイスで異なるレイアウトで異なる表示がされる。これは、異なるタイプのディスプレイ、ブラウザ、及びオペレーティングシステム等のため、異なる装置が同一のウェブページを異なって表示するという事実による。したがって、各ページビューは、ウェブページのレイアウト（以下、“基準レイアウト”）とは異なるレイアウトで特徴付けられる可能性がある。レイアウトは、ウェブページの要素が配置される方法を定義し、通常、要素、それらの識別子、及びそれらの絶対位置のリストを含んでいる。正確な露出マップを提供するために、ビューポートインスタンスの統合は、クライアント装置に表示されるようにページビューレイアウトに対して不変に行われるべきである。したがって、任意のページビューからのビューポートインスタンスの統合は、正確に基準レイアウトに重なるようにマッピングされるべきである。
【００４４】
この目的で、Ｓ４１０では、基準レイアウトが生成される。一実施形態において、基準レイアウトの生成は、ページビューに対応するウェブページを追跡サーバ１３０で表示すること、及び表示されたウェブページに各要素の位置を検査することを含んでいる。ページビューに対応するウェブページは、追跡コード（例えば、ユーザによって閲覧されたウェブページのＵＲＬ）によって収集されたウェブページコンテンツ情報に基づいて決定される。他の実施形態では、ウェブページが、レンダリングエンジンによって露出マップを受信するユーザの装置に表示され、そのようなウェブページのレイアウトが、レポート生成のために追跡サーバ１３０に送信される。ユーザは、この場合、ウェブサーバ１２０によってホストされるウェブサイトのシステム管理者、表示されたウェブページをホストするウェブサイトのコンテンツ管理者等であってもよい。そのようなユーザの装置は、ネットワーク１１０に接続され、追跡サーバ１３０及びウェブサーバ１２０との通信チャネルを有する。あるいは、基準レイアウトを外部ソースから受信してもよい。
【００４５】
Ｓ４２０では、ページビューレイアウト（すなわち、ブラウザ１０２を介して表示されているレイアウト）からの各ビューポートインスタンスが、基準レイアウトにマッピングされる。これは、パン／ズーム及び要素のデータセットに収集された情報を用いて行われる。一実施形態では、Ｓ４２０が、ページビューレイアウトにおけるビューポートインスタンスのマッチング要素に対応する基準レイアウトにおける要素の“マッピングされた交差領域”を検出することを含んでいる。マッピングされた交差領域は、ページビューレイアウトにおけるビューポートインスタンスと交差する各要素又は要素の組合せについて、基準レイアウトにおいて生成された矩形領域である。ビューポートインスタンスとのページビューレイアウトにおける要素の交点は、“マッピングされた交差領域”をもたらすように直線的にマッピングされる。例えば、ページビューレイアウトの要素の境界ボックスを、基準レイアウトの要素の境界ボックスに変換した情報を適用することによって、これを達成することができる。
【００４６】
Ｓ４２０の結果は、ビューポートインスタンスにおける既知の要素の全ての可視領域のマッピングを示す一又は複数の矩形領域である。Ｓ４３０では、基準レイアウトにおけるビューポートインスタンスの可視領域を示すマッピングされたビューポートインスタンスを出力するために、結合操作がＳ４２０で生成された全ての矩形領域で実行される。Ｓ４４０では、マッピングされたビューポートインスタンスが保存される。
【００４７】
Ｓ４５０では、ページビューにおける全てのビューポートインスタンスがマッピングされているか否かがチェックされ、そうであれば、実行はＳ４６０で継続し、そうでなければ、実行は他のビューポートインスタンスのマッピングが行われるＳ４２０に戻る。
【００４８】
Ｓ４６０では、全てのマッピングされたビューポートインスタンスが、ページビューレベルにおいて露出マップを生成するために統合される。一実施形態では、Ｓ４６０が、アキュムレータを使用して、マッピングされたビューポートインスタンスの全ての矩形領域（又はマッピングに起因して形成された他の任意の形状）を統合することを含んでいる。これは、ユーザに可視な基準レイアウトに関連するページビューの空間全体をもたらす。その後、可視領域の要点を決定するために、マッピングされたビューポートそれぞれの全てのビューポートインスタンスのデルタタイムスパンは、加重和として計算される。一実施形態では、ビューポートズームレベルに従って、重みを割り当てることができる。例えば、特定の段落を含むページビューは、ｙ秒毎に二回ビューポートにさらされる。最初、二倍以上（例えば三倍）拡大表示される。この段落の総ページビューの要点は、ｙ＋ｙである。しかしながら、ビューポートズームレベルに重みを割り当てる場合には、この段落のページビューの要点がｙ＋３ｙとなる。加重和の代わりに、例えば合計又は二変数論理和関数等の他の関数を利用することができる。
【００４９】
一実施形態において、露出マップは、特定の領域が可視であった又は“さらされた”時間を示すような値を持つ露出時間値の二次元マップである。これらの値を用いてヒートマップとして露出マップをグラフィックな方法で表示することができる。他の実施形態では、矩形（又は他の任意の幾何学的形状）及びそれらの露出時間値をリストする表集計レポートとして、露出マップを生成することができる。
【００５０】
上記のように、ビジターレベルの露出マップ及びページレベルの露出マップを生成するために、ページビューレベルの露出マップを利用することができる。ビジターレベルの露出マップは、異なるページビューについて、特定のユーザについて生成された複数のページビューレベルの露出マップを統合することによって生成される。合計又は二変数論理和関数を用いて、このような統合を行うことができる。ページレベルの露出マップは、複数のユーザについて生成された複数のビジターレベルの露出マップを統合することによって生成される。合計又は二変数論理和関数を用いて、このような統合を行うことができる。露出マップは、追跡エンティティのユーザによってインターネットを介して送信又は中央リポジトリ（例えば、追跡サーバ１３０）からダウンロードされる。このようなユーザは、例えば、サーバによってホストされるウェブサイトのシステム管理者、及び表示されたウェブページをホストするウェブサイトのコンテンツ管理者等である。
【００５１】
本明細書に開示された教示に基づいて、他のタイプの解析レポート及び／又は露出マップを生成可能であることは、当業者によって理解されるべきである。したがって、本明細書に開示された実施形態は、ページビューレベル、ビジターレベル、及び／又はページレベルの露出マップの生成に限定されるものではない。
【００５２】
図５Ａ−５Ｄは、上記Ｓ４２０、Ｓ４３０を参照して説明したようにマッピングされたビューポートインスタンスを生成する非限定的な例を示している。図５Ａは、メインページ要素の子要素５０２及び５０３を含むページビューレイアウト５０１を示している。ビューポートインスタンス５０４は、可視領域を示している。図５Ｂは、ページビューレイアウトにおて、それぞれ、要素５０２及び５０３に対応する子要素５０２’及び５０３’を含む基準モデル５０５を示している。図５Ｃは、ページビューレイアウト５０１から基準レイアウト５０５へのビューポートインスタンス５０４（図５Ｃには図示せず）のマッピングを示している。留意できるように、インスタンス５０４に可視だった各要素５０２’及び５０３’について、“マッピングされた交差領域”と同様に、矩形領域５０６を生成する。例えば、矩形領域５０６−１は、ビューポートインスタンス５０４（図５Ａ参照）に完全に含まれていた各要素５０３と同様に、要素５０３’を完全に取り囲んでいる。矩形領域５０６−２は、対応する要素５０２のインスタンス５０４との交差点の量に比例する要素５０２’を部分的に取り囲んでいる。矩形領域５０６−３は、ページビューレイアウトから基準レイアウトにマッピングされた後、ビューポートインスタンス５０４に含まれているメインページ要素の一部である。マッピングされた可視のインスタンスは、図５Ｄに示すように、矩形領域５０６−１、５０６−２、及び５０６−３の結合に取り囲まれた空間である。
【００５３】
本明細書で開示される様々な実施形態は、ハードウェア、ファームウェア、ソフトウェア、又はそれらの任意の組合せとして実装することができる。さらに、ソフトウェアは、パーツ又は特定の装置及び／又は装置の組合せからなるプログラム記憶ユニット又は非一時的なコンピュータ可読媒体で明白に具体化されるアプリケーションプログラムとして好適に実施される。非一時的なコンピュータ可読媒体は、一時的な伝播信号を除いて、任意のコンピュータ可読媒体である。アプリケーションプログラムは、任意の適切なアーキテクチャを有するマシンにアップロードされて実行されればよい。好ましくは、マシンが、例えば一又は複数の中央処理装置（“CPU”）、メモリ、及び入力／出力インターフェイス等のハードウェアを有するコンピュータプラットフォームに実装される。コンピュータプラットフォームは、また、オペレーティングシステム及びマイクロ命令コードを含めばよい。本明細書に記載された様々な処理及び機能は、マイクロ命令コードの一部又はアプリケーションプログラムの一部のいずれ一方であってもよいし、若しくはそれらの任意の組合せであってもよく、これらは、そのようなコンピュータ又はプロセッサが明示的に示されているか否かに関わらず、ＣＰＵによって実行されればよい。加えて、付加的なデータ記憶ユニット及び印刷ユニットのようなコンピュータプラットフォームに、様々な他の周辺ユニットを接続してもよい。さらに、非一時的なコンピュータ可読媒体は、一時的な伝播信号を除いて、任意のコンピュータ可読媒体である。
【００５４】
本明細書に列挙された全ての実施例及び条件付き用語は、当該技術分野を促進するために発明者が貢献した発明の原理及び概要を、読者が理解するのに役立つための教育的な目的を意図したものであり、そのような具体的に列挙された例及び条件に限定されないものと解釈されるべきである。さらに、本発明の原理、態様、及び実施形態、並びにそれらの特定の実施例を列挙する本明細書の全ての記載は、それらの構造的及び機能的な均等物の両方を包含することが意図されている。加えて、そのような均等物は、現在公知の均等物だけでなく、将来開発される均等物、すなわち、構造に関わらず、同一の機能を実行するように開発された要素を含むことが意図されている。
【図１】
0006294307.tif 000002
【図２】
0006294307.tif 000003
【図３】
0006294307.tif 000004
【図４】
0006294307.tif 000005
【図５Ａ】
0006294307.tif 000006
【図５Ｂ】
0006294307.tif 000007
【図５Ｃ】
0006294307.tif 000008
【図５Ｄ】
0006294307.tif 000009