質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Google Analytics

Google AnalyticsはGoogleが開発した無料のウェブ分析のソリューションです。複数のクライアント側のAPIとデータをエクスポートし管理するREST APIも格納されています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

504閲覧

google analyticsでの特定データの抽出

naonao11

総合スコア97

Google Analytics

Google AnalyticsはGoogleが開発した無料のウェブ分析のソリューションです。複数のクライアント側のAPIとデータをエクスポートし管理するREST APIも格納されています。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2018/07/05 05:00

編集2018/07/13 02:52

今回以下のように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の使い方がわかっていません・・・
ご助力よろしくお願いします…

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

dimensionsにデータ名,dimensionFilterClausesに条件を入れて行った場合うまく回りました。

投稿2018/07/19 05:20

naonao11

総合スコア97

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問