やしろです。
今日もブログをご覧いただきありがとうございます。
この弊社のブログはGoogle Analytics 4(以下GA4)でアクセスログなどのデータを取得しています。
GA4上でも色々分析できるのですが弊社にはGA4に明るいメンバーが多くない…でもtableauの猛者ならたくさんいるじゃないか!
ということでこのデータをSnowflakeに転送・tableauと接続!に今回トライしてみました。
GA4とSnowflakeを繋ぐ方法は色々あるのですが、今回は最近弊社が導入したばかりの「trocco®」を使用して転送してみました。
また、tableauからGA4にも直接つなげるようですが、評判を見るとなかなかパフォーマンスが安定しないようなので、今回はそちらの方法は採用していません。
「trocco®」とは
trocco®とは、株式会社primeNumberが提供する「ETL/データ転送・データマート生成・ジョブ管理・データガバナンスなどのデータエンジニアリング領域をカバーした、分析基盤構築・運用の支援SaaS」です。
様々な種類のデータを自動で統合し、データ活用を効率化してくれるのですが、trocco®の何がすごいって、とにかくインターフェイスが分かりやすいです。
そのため直感的に操作の理解ができ、初心者でも難しい手順なしにスピーディな構築が実現できます。
また日本発のサービスのため、UIもサポートもデフォルトがすべて日本語!なのがなんとも有り難いです。
では早速、手順を追ってみたいと思います。
GA4の接続情報を設定
まずはtrocco®でGA4の接続情報を作成します。
トップ画面の左にあるメニューから「接続情報」→右上に表示される「新規作成」を選択します。
様々なサービスが表示される(すごい数!)ので、ここから「GA4」を選択します。
次に、認証方式を選択します。
認証方式は、Googleアカウント(OAuth)とJSON Key(サービスアカウント)から選択できます。
いずれの方法でもその先の手順に違いは有りませんが、今回はより簡易だったGoogleアカウントを使用して設定します。
JSON Keyの取得方法については公式ドキュメントに詳細が記載されていますのでそちらからご確認ください。
Googleアカウントを選択すると”Googleアカウント認証”ボタンが表示されるので、こちらをクリックします。
Googleアカウントが複数ある方は、ここでGA4アカウントと同じアカウント情報を選択するのを忘れないでください。
接続情報の名称を設定して(ここでは”FROM GA4 BY GOOGLE ACCOUNT”としました)保存すればOKです。
Snowflakeの接続情報を設定
次にSnowflakeの接続情報を作成します。
GA4と同じく接続情報の名称を設定したら(ここでは"TO SNOWFLAKE")以下の情報を入力してきます。
ホストはSnowflakeのURLですが、先頭のhttps://や末尾の/は不要です。
認証方式はユーザー・パスワード認証かキーペア認証を選択できます。
今回はユーザー・パスワードで設定します。
ロールを入力したら保存でOKです。
ここまでできれば準備完了です。
データ転送設定
いよいよ転送設定していきます。
といってもUIに沿って素直に入力していくだけなのでとても簡単です。
左のメニューにある「データ転送」→「転送設定」を選択すると設定済みの転送一覧が表示されるので、画面右の「新規転送設定作成」をクリックします。
転送元にGA4、転送先にSnowflakeを選択したら、”この内容で作成”をクリックします。
概要設定の欄で任意の名称を記載したら、転送元であるGA4の設定を行います。
まず、さきほど作成した接続情報を入力していきます。
接続情報がきちんと作成できていれば「Google Analytics 4接続情報」欄のプルダウンから選択できます。
今回は割愛しますが、カスタム変数は必要に応じて追加してください。
データ取得期間などを変数に置き換えることができます。
プロパティIDは「プロパティID一覧を読み込む」をクリックすると接続情報に呼応した候補が表示されるので、該当のものを選択します。
タイムスタンプは isoYear, year, yearMonth, date, dateHourから選択できるので、好きな形式を設定します。
次に取得してくるディメンションとメトリクスを設定します。
ここでいうメトリクスとは、「ページビュー数」「直帰率」「滞在時間」といった数値や合計などの指標のことを指します。
tableauにデータを持ってきたときにはメジャーとなり得るデータと理解すればいいと思います。
(tableauには別の意味でのメトリクスというメソッドがあるのですが、ここではそれは一旦無視します。IT用語難しい…)
一度の転送設定で取得できるディメンションとメトリクスの数にはそれぞれ上限があり、ディメンションは8、メトリクスは10です。
そのため、実施したい分析に応じてあらかじめ取得するデータを決めておく必要があるので注意です。
今回設定したディメンションとメトリクスはこんな感じです。
指定できる値や値の詳細については、GA4のドキュメントに記載されているのでそちらでご確認ください。
最後に取得期間と転送方法を設定すれば、転送元の設定は完了です。
取得期間は、先に述べたカスタム変数を埋め込むことも可能なので、デイリーでスケジュール設定して前日のデータを取ってくる、なんて設定も簡単にできそうです。
転送方法は全件転送か差分転送か選ぶことができます。
次に転送先であるSnowflakeの設定を行います。
転送元と同様に、さきほど作成した接続情報を入力していきます。
また、必要に応じてカスタム変数を作成します。ここで作成したカスタム変数は、以降の各設定で使用できます!
あとは、転送時に使用するウェアハウスとデータベース、スキーマ、テーブルを入力し、転送モードを選択すればOKです。
転送モードはINSERTやREPLACEなどが選択できます。詳細は公式ドキュメントをご確認ください。
ここまでで基本的な設定は完了です。
次のページでデータのプレビューが確認できます。
長くなってしまうのでこれまた割愛しますが、このページでデータ型などの詳細設定や、フィルタリングやマスキングと行った設定も行うことができます。
問題なければ確認画面へ移行し、保存して適用で完了です。
が、この段階ではまだ実行されません。
転送設定一覧画面に戻り、作成した転送設定を選択します。
右上に実行ボタンがあるのでこちらから実行します。
ジョブが実行されるとこんな感じでサマリ画面が表示されます。
緑色でSUCCESSと表示されればジョブ成功です!
Snowflakeで確認してみましょう。
わーい、きちんと転送されました!
おわりに
今回は「trocco®」を使ってGA4とSnowflakeを接続する方法をご紹介しました。
評判通り、UIがわかりやすく直感的に操作しやすいので初心者の私でも簡単に設定することができました!
「trocco®」ではデータ転送にとどまらず様々なことができるようなので、いろいろ試してみたいと思います。
また、truestarではSnowflakeの検討、導入支援や環境構築からアプリ開発まで幅広くサポート可能です。
Snowflakeに゙興味がある、導入済みだけどもっとうまく活用したい等々ありましたら、ぜひこちらから相談ください!
これまでのSnowflakeに関する記事はこちら