今回以下のようにgoogle analytics v4からデータを抽出したいのですが、うまいこといきません。。。
会員登録があった場合の時,出てきてほしいデータ
また会員登録があった場合については
https://hoge.com/event/complete と https://hoge.com/prime/succeed といったどちらかの画面にたどり着きます。
自分が書いたコードについて以下に示します。
関数に関するファイルになっております。
python
1from apiclient.discovery import build 2from oauth2client.service_account import ServiceAccountCredentials 3 4import httplib2 5from oauth2client import client 6from oauth2client import file 7from oauth2client import tools 8 9SCOPES = ['https://www.googleapis.com/auth/analytics.readonly'] 10DISCOVERY_URI = ('https://analyticsreporting.googleapis.com/$discovery/rest') 11KEY_FILE_LOCATION = r'C:\Users\hoge\AppData\Local\Programs\search\My Project-ab70df472487.json' 12SERVICE_ACCOUNT_EMAIL = 'analyticsearch@focus-archway-99999.iam.gserviceaccount.com' 13VIEW_ID = '99999999' 14 15def initialize_analyticsreporting(): 16 credentials = ServiceAccountCredentials.from_json_keyfile_name(KEY_FILE_LOCATION, SCOPES) 17 analytics = build('analyticsreporting', 'v4', credentials=credentials) 18 return analytics 19 20 21def get_report(analytics,body): 22 return analytics.reports().batchGet(body=body).execute() 23 24 25def print_response(response): 26 for report in response.get('reports', []): 27 columnHeader = report.get('columnHeader', {}) 28 dimensionHeaders = columnHeader.get('dimensions', []) 29 metricHeaders = columnHeader.get('metricHeader', {}).get('metricHeaderEntries', []) 30 31 for row in report.get('data', {}).get('rows', []): 32 dimensions = row.get('dimensions', []) 33 dateRangeValues = row.get('metrics', []) 34 35 for header, dimension in zip(dimensionHeaders, dimensions): 36 print (header + ': ' + dimension) 37 38 for i, values in enumerate(dateRangeValues): 39 for metricHeader, value in zip(metricHeaders, values.get('values')): 40 print (metricHeader.get('name') + ': ' + value) 41
以下mainとなるファイルです。
python
1import GoogleAnalyticsAPI4v 2 3view_id = GoogleAnalyticsAPI4v.VIEW_ID 4dateRanges = [{"startDate": "2018-05-01", "endDate": "2018-05-31"}] 5dimensions = [{"name": "ga:region"},{"name": "ga:date"},{"name","ga:deviceCategory"}] 6dimensionFilterClauses = [{"operator": "AND", 7 "filters":[{"dimensionName": "ga:country", 8 "not": "false", 9 "operator": "REGEXP", 10 "expressions": ["Japan"], 11 "caseSensitive": "false",}], 12 }] 13metrics = [{"expression": "ga:users", "formattingType": "INTEGER"}] 14pageSize = 10000 15 16body = {"reportRequests": []} 17body["reportRequests"].append({"viewId": view_id, 18 "dateRanges": dateRanges, 19 "dimensions": dimensions, 20 "dimensionFilterClauses": dimensionFilterClauses, 21 "metrics": metrics, 22 "pageSize": pageSize, 23 }) 24 25 26def main(): 27 analytics = GoogleAnalyticsAPI4v.initialize_analyticsreporting() 28 response = GoogleAnalyticsAPI4v.get_report(analytics,body) 29 GoogleAnalyticsAPI4v.print_response(response) 30 31if __name__ == '__main__': 32 main() 33
ほしいデータとしては
日時、ブラウザ、時間帯、デバイス、CV経路、キャンペーン、場所、検索クエリ
です。
dimensionFilterClausesの使い方がわかっていません・・・
ご助力よろしくお願いします…
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。