概要
Google AnalyticsはWebサイト上の行動ログを調査することのできるツールです。類似のツールにGoogle SearchConsole(サーチコンソール)がありますが、こちらがWebサイトに対する検索クエリを分析する、いわば「サイトにたどり着くまで」のユーザーの行動にフォーカスしているのに対して、Googleアナリティクスはサイト上でユーザーがどのようにサイト内を回遊したのかなど「サイトにたどり着いてから」のユーザーの行動にフォーカスしているという違いがあります。Googleアナリティクスの活用により、多くのユーザーが閲覧しているページや、逆にあまり閲覧されていないページを把握するなどサイトの改善につなげることが出来ます。
Googleアナリティクスにはデータを見やすくグラフ化するレポート機能が標準で備わっていますが、標準の機能を超えた高度なデータ分析、あるいはWebサイトへ誘導する広告データと関連させたデータ分析を行う際にはデータの高速処理に長けたDWH(データウェアハウス)を別途用意し、そちらへデータを統合、BIツールでデータの可視化を行うというデータ分析基盤の構築が有効です。これは少なからずデータエンジニアリングのノウハウを必要とするものですが、今回はtrocco®というデータ分析基盤構築サービスを利用し、Googleアナリティクスのデータを抽出、DWH(今回はAmazon Redshiftを使用)へ統合、LookerというBiツールでデータの可視化までをやってみようと思います。
なお今回データの転送手段として採用したtrocco®は、Googleアナリティクスの他にも、様々な広告・CRM・DBなどのデータソースにも対応しています。

ゴール
以下のようなGoogle AnalyticsのデータをAmazon Redshiftに統合し、

↓画像のようなグラフをを30分くらいで作り上げます(作成後は自動で最新値に更新することも可能です)

こんな人におすすめ
- Google Analyticsに備わっている機能以外の分析をしたい
- Google Analyticsでは難しいページごとのミクロな分析を行いたい
- Google AnalyticsのデータをAmazon Redshiftで分析したい
1. trocco®でGoogle Analytics → Amazon Redshiftの転送自動化
1-0. 事前準備
データの転送に先立って、trocco®のアカウント、Google Analyticsを操作するGoogleアカウントが必要です。
無料トライアルを実施しているので、事前に申し込み・登録しておいてください!
https://trocco.io/lp/index.html
(申込の際に、この記事を見たという旨を記載して頂ければご案内がスムーズに行えます)
1-1. 転送元・転送先を決定
trocco®にアクセスし、ダッシュボードから「転送設定を作成」のボタンを押します。

転送元に「Google Analytics」を指定し、転送先に「Amazon Redshfit」を選択して転送設定作成ボタンを押します。

「この内容で作成」のボタンを押すと設定画面に移行するので、必要な情報を入力していきます。
1-2. Google Analyticsとの連携設定
trocco®には社内のユーザー間でチームを作成し、チームで転送設定を共有するチーム機能があります。
チームの他ユーザーにも設定の内容がわかるように、転送設定の名前とメモを入力しておきましょう。

次に「転送元Google Analyticsの設定」内の「接続情報を追加」ボタンを押します。

別のタブでGoogle Analyticsの接続情報の新規作成画面が開きます。
接続情報を作成するためにJSON Keyが必要になります。

接続に必要な情報を入力して保存します。再度転送設定画面に戻るので、接続情報の「接続情報を読み込む」ボタンを押すと、先ほど作成した接続情報が選択できるようになります。

1-3. Google Analyticsからのデータ抽出設定
続いてGoogle Analyticsからどのようなデータを取得するかの設定を行います。
- ビューID
- データを取得するページのビューIDを入力します。なおビューIDをはGoogle Analyticsの管理ページ → 「ビュー設定」から確認出来ます。
- タイムスタンプの形式
- レポートのタイムスタンプの形式を選択します。注意ですが、ここで設定した値はディメンションでは設定することが出来ません。
- ディメンション
- Google Analyticsから取得したいディメンション名を入力します。
- ディメンションは最大で8個まで設定でき、設定できる値はGoogle Analytics公式をご参照ください。
- 指標
- Google Analyticsから取得したい指標の名前を入力します。
- ディメンションは最大10個まで設定できます。設定できる値についてはGoogle Analytics公式をご参照ください。

1-4. 転送先Amazon Redshiftの設定
転送元と同様に設定していきます。Amazon Redshiftの接続情報を作成していきます。
転送先となるAmazon Redshiftの接続先ホスト、接続先ポート、ユーザー名、パスワードを設定し、AWSのアクセスキーIDとシークレットアクセスキーを設定する必要があります。
AWSのアクセスキーとシークレットアクセスキーの取得方法は以下の通りです。
1.IAM コンソール を開きます。
2.ナビゲーションメニューで [ユーザー] を選択します。
3.IAM ユーザー名 (チェックボックスではありません) を選択します。
4.[認証情報] タブを開き、次に [アクセスキーの作成] を選択します。
5.新しいアクセスキーを表示するには、[表示] を選択します。認証情報は次のようになります。
6.アクセスキー ID: AKIAIOSFODNN7EXAMPLE
シークレットアクセスキー: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
キーペアをダウンロードするには、[.csv ファイルのダウンロード] を選択します。キーを含む .csv ファイルを安全な場所に保存します。

先ほど作成した接続情報を選択し、データベース名、スキーマ、テーブルなど必要な情報を設定していきます。(データベース、スキーマ、テーブルは事前にAmazon Redshiftで作成しておく必要があります。)

これで入力は完了です。「保存して自動データ設定・プレビューへ」をクリックし、確認作業に進みましょう。
1-5. データのプレビュー
少し待つと、転送元のデータがプレビューされます。ここではGoogle Analyticsから取り込んだデータが表示されています。

転送したいデータが取れているので、設定を完了します。
転送設定の一覧から作成した設定を選び「スケジュール・通知設定」に進みます。
1-6. スケジュール・通知設定
「スケジュール・トリガー設定」タブを開きます。

「スケジュールを追加」ボタンを押すと、以下の画像のような入力欄が出てきます。ここで実行スケジュールを設定することで、転送を定期的に実行し自動化することが出来ます。

1-7. データ転送ジョブの実行
設定は以上です。最後に、手動で転送ジョブを実行し、Amazon Redshiftにデータを送ります。
手動で実行する場合はジョブ詳細画面の「実行」ボタンを押します。

これで転送は完了です。
2. Amazon Redshiftの設定
特に設定することはありません。設定で選択したテーブルにデータが転送されているので、今すぐに分析・可視化を行うことが出来ます。
データがきちんと送られているかをプレビューで確認してみます。
クエリエディタにSQL文を入力し、データをSELECTします。
SELECT * FROM qiita_test_from_analytics.qiita
クエリを実行すると以下のようなデータが表示されます。

転送されていることが確認できました。
3. Lookerで可視化
まずはAmazon RedshiftとLookerを接続します。 管理タブを開いて「データベース」の「接続」を開きます。

接続しているデータベース一覧が表示されています。ここで「Add Connection」を選択し、接続設定を行う画面が表示れるので、情報を入力していきます。


Redshiftのデータベースに接続できたら、次はデータを可視化するために必要なLookMLプロジェクトを作成します。 開発タブを開いて「LookMLプロジェクトの管理」に移動します。

「New LookML Project」からLookMLプロジェクトを作成します。


「Create Project」を押したら、エディタでmodelとviewを定義します。 後々必要になるので、modelの中ではexploreを設定しておきましょう。 (書き方が分からない場合はLookerの公式ドキュメントを参照してください)


これで下準備が整いました。 トップページに戻って「New」からDashboardを作成します。

白紙のダッシュボードが作成されるので「Qiita_Analytics_Redshift」と名前をつけます。
そして「Dashborardの編集」→「タイルの追加」を選択し、先ほどのmodel内で定義したExploreを選択します。

ディメンションとメジャーを設定し、Tileに表示したいデータをプロットします。例えば、時間ごとの閲覧回数について分析したいとき、ディメンションに「日付」とメジャーに「閲覧数」を選択します。

フォントや題名をつけたりしてダッシュボードにまとめていきます。

これで完成です。
まとめ
いかがでしたでしょうか。trocco®を使うと、絶えず更新されるGoogle Analyticsのデータでも自動でAmazon Redshiftにまとめていくことができるほか、100万規模の大きなデータからそうではない小さなデータまで複雑なコーディングをせずtrocco®の画面上の設定のみでデータの転送が可能になります。
実際に試してみたい場合は、クレジットカード不要のフリープランや無料の製品資料を提供しているので、この機会にぜひ一度お試しください。
