kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

embulkでgoogle analyticsからデータを抽出する

embulkのinputプラグインである embulk-input-google_analytics を使ってgoogle analyticsからデータを抽出したので覚書です。

GCP ConsoleとGAのつなぎこみ

embulk-input-google_analytics では、GAの認証をGCPのサービスアカウントで認証します。
そのためにはGCPとGAをつなぎこまなければなりません。

手順としては、

  1. GCP側でサービスアカウントを作成する
  2. 作成したサービスアカウントのメールアドレスで、GA側にユーザーを作る

というだけです。

実際の作業は このサイト が分かりやすいです。

dimensions,metricsに指定するもの

ymlに設定するdimensions,metricsは Dimensions & Metrics Explorer にあるものが指定できます。 GAのreporting apiのパラメーターと同じものです。

embulk-output-bigqueryと一緒に使うとエラーになる場合

BigQueryに出力するのが流れとしては自然かと思いますが、 embulk-output-bigquery をしようするとエラーがでます。
こちら に同様の質問がありました。
その場合は、 embulk-input-google_analytics の v0.1.24以降を指定すると解決することがあります。

直接の原因はterratailにあるようにGemごとのバージョン依存関係なのですが https://github.com/treasure-data/embulk-input-google_analytics/pull/46 がで解決されてv0.1.24で取り込まれてます。