web-dev-qa-db-ja.com

Google Analyticsからデータを抽出し、そこからデータウェアハウス(ウェブハウス)を構築するにはどうすればよいですか?

参照URL、トップランディングページ、トップ出口ページなどのクリックストリームデータと、ページビュー、訪問数、バウンスなどの指標がすべてGoogleAnalyticsにあります。このすべての情報が保存される可能性のあるデータベースはまだありません。このデータからデータウェアハウス(ウェブハウスと呼ばれる)をゼロから構築する必要があるため、Google Analyticsからデータを抽出し、毎日自動化してウェアハウスにロードする必要があります。私の質問は:-

1)それは可能ですか?データは毎日増加します(訪問などの指標や測定値に関するものと、新しい参照サイトに関するものがあります)。倉庫をロードするプロセスはどのように行われますか?

2)これを実現するのに役立つETLツールは何ですか? Pentaho Google Analyticsからデータを引き出す方法があると思いますが、誰かがそれを使用したことがありますか?そのプロセスはどのように進みますか?回答以外の参考資料、リンクをいただければ幸いです。

19
nkaur301

いつものように、基礎となるトランザクションデータの構造(DWの構築に使用されるアトミックコンポーネント)を知ることは、最初の最大のステップです。

データの取得方法に基づいて、基本的に2つのオプションがあります。この質問への以前の回答ですでに述べたこれらの1つは、GA APIを介してGAデータにアクセスすることです。これはフォームにかなり近いです。データはトランザクションデータではなくGAレポートに表示されます。これをデータソースとして使用する利点は、「ETL」が非常に単純で、XMLコンテナからデータを解析するだけであるということです。必要なのはそれだけです。

2番目のオプションは、ソースにはるかに近いデータを取得することです。

複雑なことは何もありませんが、それでも、ここでは数行の背景が役立つでしょう。

  • GA Webダッシュボードは、GAトランザクションログ(GAデータを保持するコンテナ)を解析/フィルタリングすることによって作成されます。 1つのアカウントの1つのプロファイルに対応します)。

  • このログの各行は単一のトランザクションを表し、HTTPリクエストの形式でGAサーバーに配信されますクライアントから。

  • そのリクエストに追加されるのは(名目上単一ピクセルGIFの場合)、その_TrackPageview関数呼び出しから返されたすべてのデータを含む単一の文字列です。クライアントDOMからのデータ、 GA Cookies このクライアントに設定され、ブラウザのロケーションバーの内容( http:// www ... 。)。

  • このリクエストはクライアントからのものですが、GAの主要なデータ収集関数(_TrackPageview)の実行直後に、GAスクリプト(クライアント上にあります)によって呼び出されます。

したがって、このトランザクションデータを直接操作することは、おそらくデータウェアハウスを構築するための最も自然な方法です。もう1つの利点は、中間APIの追加のオーバーヘッドを回避できることです)。

GAログの個々の行は、通常、GAユーザーは利用できません。それでも、取得するのは簡単です。次の2つの手順で十分です。

  1. サイトの各ページのGAトラッキングコードを変更して、各GIFリクエストのコピーを送信するようにします(1つGAログファイル)の行を自分のサーバーに送信します。具体的には、すぐにbefore _trackPageview()を呼び出し、次の行を追加します。

    pageTracker._setLocalRemoteServerMode();
    
  2. 次に、1ピクセルのgif画像をドキュメントルートに配置し、「__ utm.gif」と呼びます。

したがって、サーバーアクティビティログには、これらの個々のトランザクション行が含まれます。これも、GAトラッキングピクセルのHTTPリクエストに追加された文字列と、リクエスト内の他のデータ(たとえば、ユーザーエージェント文字列)。この以前の文字列は、キーと値のペアの単なる連結であり、各キーは文字「utm」で始まります(おそらく「urchingtracker」の場合)。すべてのutmパラメータがすべてのGIFリクエストに表示されるわけではありません。たとえば、eコマーストランザクションにのみ使用されます。トランザクションによって異なります。

これが実際のGIFリクエストです(アカウントIDはサニタイズされていますが、それ以外はそのままです):

http://www.google-analytics.com/__utm.gif?utmwv=1&utmn=1669045322&utmcs=UTF-8&utmsr=1280x800&utmsc=24-bit&utmul=en-us&utmje=1&utmfl=10.0%20r45&utmcn=1&utmdt=Position% 20Listings%20%7C%20Linden%20Lab&utmhn = lindenlab.hrmdirect.com&utmr = http://lindenlab.com/employment&utmp=/employment/openings.php?sort = da && utmac = UA-XXXXXX-X&utmcc = __ utma%3D87045125.1669045322.12742560 .1%3B%2B__utmb%3D87045125%3B%2B__utmc%3D87045125%3B%2B__utmz%3D87045125.1274256051.1.1.utmccn%3D(referral)%7Cutmcsr%3Dlindenlab.com%7Cutmcct%3D%2Femployment 2B

ご覧のとおり、この文字列は、それぞれが「&」で区切られたキーと値のペアのセットで構成されています。たった2つの簡単なステップ:(i)この文字列をアンパサンドで分割します。 (ii)各gifパラメーター(キー)を短い説明句に置き換えると、これがはるかに読みやすくなります。

gatc_version1

GIF_req_unique_id1669045322

language_encodingUTF-8

screen_resolution1280x800

screen_color_depth24ビット

browser_languageen-us

Java_enabled1

flash_version10.0%20r45

campaign_session_new1

page_titlePosition%20Listings%20%7C%20Linden%20Lab

Host_namelindenlab.hrmdirect.com

referral_urlhttp://lindenlab.com/employment

page_request/ employment/openings.php?sort = da

account_stringUA-XXXXXX-X

cookies__ utma%3D87045125.1669045322.1274256051.1274256051.1274256051.1%3B%2B__utmb%3D87045125%3B%2B__utmc%3D87045125%3B%2B__utmz%3D87045125.1276 .utmccn%3D(referral)%7Cutmcsr%3Dlindenlab.com%7Cutmcct%3D%2Femployment%7Cutmcmd%3Dreferral%3B%2B

Cookieの解析も簡単です(Googleの簡潔な説明を参照 ここ ):たとえば、

  • __ utmaはユニークビジターCookieであり、

  • __ utmb、__ utmcはセッションCookieであり、

  • __ utmzは紹介タイプです。

GA Cookieは、ユーザーによる各インタラクションを記録するデータの大部分を保存します(たとえば、タグ付きダウンロードリンクをクリックする、サイト上の別のページへのリンクをクリックする、次の日にアクセスする、たとえば、__ utma cookieは整数のグループで構成され、各グループは「。」で区切られます。最後のグループはそのユーザーの訪問数(この場合は「1」)です。

15
doug

Shivaが言ったように、いつでもGoogleAPIを介してGAデータを取得し、自分でウェアハウス化できます。ただし、費用対効果の高いウェアハウジングツールを探している場合は、Analytics Canvas @ http ://www.analyticscanvas.com/

また、Google Analytics関連ツールについてはGoogleのアプリギャラリーをチェックすることもできます: http://www.google.com/analytics/apps/

3
Shayan Masood

Googleの Data Export API または、お客様のニーズに合わせて特別に構築したサービス(www.analyticspros.com/products/analytics-data-warehouse.html)などを使用できます。

ベスト、

-カレブウィットモアwww.analyticspros.com/ www.analyticsformarketers.com

3
Caleb Whitmore

APIを介していつでもGA(Google Analytics))データを取得し、独自のデータウェアハウス(DW)を構築できます。開始する前に、ビジネスユーザーと一緒に座って、明確に理解することをお勧めします。 DW環境では、長期間存続し、頻繁に使用されるトランザクションの履歴を維持するため、明確に設定された目標を設定し、ビジネスユーザーの要件を理解することが非常に重要です。

ビジネスユーザーがKPI(主要業績評価指標)、指標、ディメンション、続行に必要な粒度を定義していると仮定すると、code.googleのGA API)で利用可能なさまざまなディメンションと指標を確認できます。 com/apis/analytics/docs /。次に、適切なAPI呼び出しを行い、必要なものを取得するだけです。DWアクティビティには、データのクリーニング、抽出、変換、読み込み(ETL)またはELTと、さまざまな事実の要約が含まれます。データは、(Webログ、外部ベンダー、Excel、ファイルなどの)異種システムで発生するよりもはるかにクリーンであるため、任意のETLツール(Talend、Pentaho、SSISなど)を使用してデータを簡単にロードできます。など)または選択したアプリケーション(Perl、Java、Ruby、C#など)を介して。

毎日の読み込みでは、ユーザートラフィックが少ない時間(夜間の読み込み)に増分読み込みプロセスを設計し、最近のデータのみをプルし、重複を重複排除し、不適合データをクレンジングし、誤った行を処理する必要があります。

サンプルを提供しましたGA APIアプリケーション http://www.hiregion.com/2009/10/google-analytics-data-retriever-api-sem_25.html そしてそれはあなたに始めるための基本的な情報を提供します。

2
Shiva

データウェアハウスへのデータのロードに関して2つの重要なルールがあります

  1. 初期負荷
  2. 増分データロード

GA apiを使用して設計する場合、特定の日付範囲の初期履歴データをロードする必要があります。これには、セグメンテーションの問題やデータの損失などが発生する可能性があるため、独自の問題があります。ページネーションなどを処理します。

最初のデータの読み込みが完了したら、新しいデータのみを取得するインクリメンタルモードで実行します。このデータは同じデータウェアハウステーブルに追加され、日付が重複して重複することはありません。

これに加えてGA APIは頻繁に変更されるため、これにも加えておく必要があります。

上記を考慮して、完全にパッケージ化された Google Analyticsを備えたデータウェアハウス およびSalesforceデータコネクタをリリースしました。詳細を確認して、独自のデータウェアハウスをセットアップする方法についてのアイデアを得ることができます http://www.infocaptor.com/google-analytics-datawarehouse

設計する必要がある最小限のものは、毎日または特定の頻度で実行されるある種のバックグラウンドデーモンです。エラーが発生した場所から再開できるように、抽出の成功と失敗を監視するジョブテーブルが必要になります。

その他の考慮事項のいくつか1.同じデータ範囲に対して抽出を実行するとどうなりますか2.特定の日付にジョブが失敗した場合はどうなりますか

DWターゲットテーブルの主キーを設定することが重要です。MySQLでは、duplicate句を指定してinsertステートメントを使用すると、データをリロードした場合に重複レコードが作成されないようになります。

設計するもう1つのことは、ステージングレイヤーです。 GAからデータを抽出し、ステージングにダンプします。このようにして、Targetへのロード中にエラーが発生した場合、ステージングからリロードするだけで済みます。これにより、GA APIが制限され、帯域幅も節約されます。

この場所で私たちの完全なデザインを見ることができます http://www.infocaptor.com/help/social_analytics___datawarehouse.htm

あなたのDWの努力で最高です。

1
Nilesh

Pentahoデータ統合ツール、pdiケトル を使用して、Googleアナリティクスから他のデータウェアハウス(または)RDBMS(または)Hadoopにデータをエクスポートできます。 Pentahoには無料の Pentaho Community Edition もあります。

この手順に従って、Google Analyticsからデータを変換します http://wiki.pentaho.com/display/EAI/Google+Analytics

このツールは、ユーザーフレンドリー、コスト、パフォーマンスの面で優れています。ありがとう。