使用GOOGLE Analytics API-指标/维度

时间:2018-07-31 09:09:20

标签: python google-analytics google-analytics-api google-analytics-v4

当前,我正在尝试使用Google Analytics(分析)API,但没有成功,但总是会出现错误-“无法一起查询所选的维度和指标。”

作为一个假设,应该很容易解决和检查指标和维度,但是即使使用DEVELOPMENT TOOL,它仍然会显示此错误。

PYTHON代码:

from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials
import json 


SCOPES = ['https://www.googleapis.com/auth/analytics']
KEY_FILE_LOCATION = 'key.json'
VIEW_ID = 'REPORT_ID'



def initialize_analyticsreporting():

  credentials = ServiceAccountCredentials.from_json_keyfile_name(
      KEY_FILE_LOCATION, SCOPES)

  # Build the service object.
  analytics = build('analyticsreporting', 'v4', credentials=credentials)

  return analytics


def get_report(analytics):

  return analytics.reports().batchGet(
      body={
        'reportRequests': [
        {
          'viewId': VIEW_ID,
          'dateRanges': 
          [
            {'startDate': '7daysAgo', 'endDate': 'today'}
          ],

          'metrics': [
            {'expression': 'ga:transactions'},
          ],
          'dimensions': 
          [
            {'name': 'ga:productName'}
          ]
        }]
      }
  ).execute()


def main():
  analytics = initialize_analyticsreporting()
  response = get_report(analytics)
  with open('analytics_data.json', "w+") as op:
    op.write(json.dumps(response))  

if __name__ == '__main__':
  main()

例如,如果使用基于指标Google Python Example Code

      'metrics': [
        {'expression': 'sessions'},
      ],
      'dimensions': 
      [
        {'name': 'ga:country'}
      ]

它返回适当的结果,但是如果我需要ga:transactionsga:productName,它会返回上面的错误。

想法: 可以假设即使使用正确的View_ID(报告ID),它仍然无法连接到适当的报告??

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

我认为您收到的错误消息是正确的。您只是在试图获取指标和维度的不允许组合。您可以在Google Analytics Query Explorer中进行尝试,您将获得相同的结果。

使用具有有效视图ID的查询设置: enter image description here

如果您想查看至少包含您产品的交易数量,建议您使用唯一购买作为指标(ga:uniquePurchases)。尽管我的测试视图没有电子商务数据,但是您可以看到查询已成功运行: enter image description here

您可以使用此Query Explorer setting link在自己的视图中检查此查询。