Google Analytics API v3 でカスタム ディメンションでフィルタした値を取得する - C#
Google Analytics API v3 でカスタム ディメンションでフィルタした値を取得するコードを紹介します。
サービス終了に関する注意
Google Universal Analytics はサービスを終了したため、現在はこの記事で紹介しているコードは動作しません。
新しい Google Analytics 4 (GA4) プロパティを利用する必要があります。
GA4プロパティからのデータ取得は
こちらの記事を参照してください。
概要
Google Analytics API v3 でカスタム ディメンションの値ごとに集計したい場合や、特定のカスタムディメンジョンで特定の値のみを集計したいことがあります。この記事では、Google Analytics API v3を利用してカスタム ディメンションを利用して集計するコードを紹介します。
書式
カスタム ディメンションを利用する場合、
ga:dimensionN
(Nはインデックス番号) の記述を利用します。
[N]はカスタム ディメンションのインデックス番号です。
コード例1
Google Analyticsからの取得部分で下記のコードを記述した場合、カスタム ディメンションのインデックス1の値が "PremiumUser" のユーザー数を日単位で集計する動作になります。
DataResource.GaResource.GetRequest request_user = service.Data.Ga.Get(ViewID, startdate, enddate, "ga:users");
request_user .Filters = @"ga:dimension1==PremiumUser";
request_user .Dimensions = "ga:date";
GaData data_user = request_user .Execute();
for (int i = 0; i < data_user.Rows.Count; i++) {
textBox1.Text += data_user.Rows[i][0] + "\t" + data_user.Rows[i][1] + "\r\n";
}
結果例
1番目の要素に日付が返され、2番目の要素にユーザー数が返されます。
data_user.Rows
[0] | [1] |
20190801 | 15 |
20190802 | 18 |
20190803 | 7 |
20190804 | 12 |
20190805 | 21 |
20190806 | 9 |
コード例2
Google Analyticsからの取得部分で下記のコードを記述した場合、ユーザー数を日単位、カスタム ディメンションのIndex1の値ごとで集計する動作になります。
DataResource.GaResource.GetRequest request_user = service.Data.Ga.Get(ViewID, startdate, enddate, "ga:users");
request_user .Dimensions = "ga:date,ga:dimension1";
GaData data_user = request_user .Execute();
for (int i = 0; i < data_user.Rows.Count; i++) {
textBox1.Text += data_user.Rows[i][0] + "\t" + data_user.Rows[i][1] + "\r\n";
}
結果例
1番目の要素に日付が返され、2番目の要素にカスタム ディメンションの値、3番目の要素にカスタム ディメンションの値に対するユーザー数が返されます。
data_user.Rows
[0] | [1] | [2] |
20190801 | not_set | 2 |
20190801 | PremiumUser | 5 |
20190801 | ExcellentUser | 1 |
20190802 | not_set | 1 |
20190802 | PremiumUser | 61 |
20190802 | ExcellentUser | 2 |
20190803 | not_set | 2 |
20190802 | PremiumUser | 8 |
20190802 | ExcellentUser | 4 |
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用