R を使用してユニバーサル アナリティクス データを BigQuery にバックアップする方法
公開: 2023-09-26ユニバーサル アナリティクス (UA) がついに廃止され、データは Google アナリティクス 4 (GA4) プロパティに自由に流れ込むようになりました。 UA 設定を二度と見たくないと思うかもしれませんが、将来分析する必要がある場合に備えて、UA を離れる前に、すでに処理されたデータを保存しておくことが重要です。 データの保存には、もちろん Google のデータ ウェアハウジング サービスである BigQuery をお勧めします。このブログでは、UA からどのようなデータをバックアップするか、そしてその方法を説明します。
データをダウンロードするには、Google Analytics API を利用します。 必要なデータを UA からダウンロードして BigQuery に一度にアップロードするスクリプトを作成します。 このタスクでは、R を使用することを強くお勧めします。googleAnalyticsR および bigQueryR パッケージを使用すると、このジョブが非常に簡単になるためです。このため、R 用のチュートリアルを作成しました。
このガイドでは、認証情報ファイルのダウンロードなど、認証を設定するためのより複雑な手順については説明しません。 これに関する情報と、BigQuery にデータをアップロードする方法の詳細については、R と Python から BigQuery へのデータのアップロードに関するブログをご覧ください。
R を使用して UA データをバックアップする
他の R スクリプトの場合と同様に、最初のステップはライブラリをロードすることです。 このスクリプトには次のものが必要です。
ライブラリ(googleAuthR)
ライブラリ(googleAnalyticsR)
ライブラリ(bigQueryR)
これらのライブラリをこれまでに使用したことがない場合は、コンソールで install.packages(<パッケージ名>) を実行してインストールします。
次に、さまざまな承認をすべて整理する必要があります。 これを行うには、次のコードを実行し、表示される指示に従います。
googleAuthR::gar_cache_empty()
googleAuthR::gar_set_client(“C:\\Users\\Tom Brown\\Documents\\R\\APIs\\credentials.json”)
bqr_auth(email = “<ここにあなたのメールアドレス>”)
ga_id <- <ここにあなたの GA ビュー ID>
ga_id は、以下に示すように、UA でビューを選択するとビューの名前の下に表示されます。
次に、実際に UA からどのデータを取得するかを決定する必要があります。 以下をプルすることをお勧めします。
セッションスコープのディメンション | イベントスコープのディメンション | ページビュー範囲のディメンション |
クライアントID | クライアントID | ページパス |
タイムスタンプ | タイムスタンプ | タイムスタンプ |
ソース/媒体 | イベントカテゴリー | ソース/媒体 |
デバイスカテゴリ | イベントアクション | デバイスカテゴリ |
運動 | イベントラベル | 運動 |
チャネルのグループ化 | ソース/媒体 | チャネルのグループ化 |
運動 |
これらを BigQuery の 3 つのテーブルに配置すれば、将来の潜在的な UA データのニーズすべてに十分対応できます。 UA からこのデータを取得するには、まず日付範囲を指定する必要があります。 UA プラットフォームにアクセスし、レポートの 1 つを調べて、データ収集が最初に開始された時期を確認します。 次に、その日からスクリプトを実行する前日までの日付範囲を指定します。これは、24 時間分のデータがすべて保持される最後の日です (UA が終了した後にこれを行う場合は、この日が該当します)。いずれにせよ、利用可能なデータの 100% が含まれます)。 データ収集は 2017 年 5 月に開始されたので、次のように書きました。
日付 <- c(“2017-05-01”, Sys.Date()-1)
ここで、上の表に従って UA から何を取得する必要があるかを指定する必要があります。 異なるスコープのディメンションを一緒にクエリすることはできないため、このためには google_analytics() メソッドを 3 回実行する必要があります。 次のコードを正確にコピーできます。
セッションプル <- google_analytics(ga_id,
date_range = 日付、
メトリクス = c(“セッション”),
ディメンション = c(“clientId”, “dateHourMinute”,
「sourceMedium」、「deviceCategory」、「campaign」、「channelGrouping」)、
anti_sample = TRUE)
eventspull <- google_analytics(ga_id,
date_range = 日付、
メトリクス = c(“totalEvents”, “eventValue”),
Dimensions = c(“clientId”, “dateHourMinute”, “eventCategory”, “eventAction”, “eventLabel”, “sourceMedium”, “campaign”),
anti_sample = TRUE)
pvpull <- google_analytics(ga_id,
date_range = 日付、
指標 = c(“ページビュー”),
Dimensions = c(“pagePath”, “dateHourMinute”, “sourceMedium”, “deviceCategory”, “campaign”, “channelGrouping”),
anti_sample = TRUE)
これにより、すべてのデータが、セッション スコープのディメンションの場合はsessionpull 、イベント スコープのディメンションの場合はeventspull 、およびページビュー スコープのディメンションの場合はpvpullというタイトルの 3 つのデータ フレームにきちんと配置されます。
次に、データを BigQuery にアップロードする必要があります。コードは次のようになり、データフレームごとに 3 回繰り返されます。
bqr_upload_data(“<あなたのプロジェクト>”, “<あなたのデータセット>”, “<あなたのテーブル>”, <あなたのデータフレーム>)
私の場合、これはコードが次のようになることを意味します。
bqr_upload_data(“my-project”, “test2”, “bloguploadRSess”, sessionpull)
bqr_upload_data(“my-project”, “test2”, “bloguploadREvent”, eventspull)
bqr_upload_data(“my-project”, “test2”, “bloguploadRpv”, pvpull)
これをすべて記述したら、スクリプトを実行するように設定し、座ってリラックスすることができます。 完了すると、BigQuery に移動できるようになり、すべてのデータが現在どこに属しているかが表示されるはずです。
UA データを雨の日のために安全に保管しておけば、GA4 セットアップの可能性を最大限に引き出すことに全力を注ぐことができます。Semetrical はそれをお手伝いします。 データを最大限に活用する方法の詳細については、ブログをご覧ください。 または、分析に関するあらゆるサポートについて詳しく知りたい場合は、当社の Web 分析サービスをチェックして、当社がどのようにお手伝いできるかをご確認ください。