Google Analytics(谷歌分析)API 初体验

本贴最后更新于 2128 天前,其中的信息可能已经时移世改

背景

学习一下 GA(Google Analytics)谷歌分析产品。

用了一周的时间来尝试埋点和基本使用,具体细节略过不表。

权限体系

在 GA 的管理页面中可以看到,GA 产品的权限体系分为三级:账号,媒体资源和数据视图。

账号

账号即 GA 登录的账户。至少要有一个账号,才可以使用 GA 产品。

媒体资源

媒体资源是用来收集访问者数据的。每一个媒体资源有自己的跟踪代码,代码中有一个唯一的 ID。

账号和媒体资源之间是一对多的关系。可以一个账号一个媒体资源,也可以一个账号有多个媒体资源。

数据视图

视图是展示媒体资源的各种报告的。在建立视图时,可以创建一个特定的视角,也可以选择默认视角。

视角是通过过滤器来实现的,特定视角即使用特定的过滤器,默认视角即显示所有数据。

如一个媒体资源,可以有三个数据视图:

添加了媒体资源后,会默认创建一个所有数据的视图。

无回溯

视图只记录创建时间点之后的数据。即 5 月 31 日创建了视图,仅对 5 月 31 日之后的数据生成报告,历史数据不会回溯。

回溯需求

如果有回溯的需求怎么办呢?那只能在默认视图的基础上,自己分离出来特定的数据。

删除

视图删除后,视图中所有的数据将不复存在。

API 调用

其实本文主要是学习 GA 的 API 的设计和使用。

第一步是看文档,文档非常齐全。

第二步是看演示,在 query explorer 上有浏览器演示。

元数据 API

看了半天不知道怎么调用,直接访问:

https://www.googleapis.com/analytics/v3/metadata/ga/columns?pp=1

有一个示例的结果。

报告 API

有两个版本,v3 版本v4 版本

目前来看,v3 版本更友好一些。但是新功能只在 v4 版本上有。我们先以 v3 来学习下。

字段名称 含义
ids GA 唯一 id ga:12345
start-date 开始日期 30daysAgo
end-date 结束日期 yesterday
metrics 指标 ga:users
dimensions 维度 ga:country
sort 排序 -ga:users
filters 过滤器 ga:users>10
segment 细分
samplingLevel 抽样级别 DEFAULT / FASTER / HIGHER_PRECISION
include-empty-rows 省略所有指标值为零的行 true/false,默认为 true
start-index 起始返回行数(从 1 开始)
max-results 返回最大行数
output 输出类型
fields 输出类型
prettyPrint/pp 美化输出
output 输出类型

filters 语法

指标过滤条件

  • ==: 等于
  • !=: 不等于
  • >: 大于
  • <: 小于
  • >=: 大于或等于
  • <=: 小于或等于

维度过滤条件

  • ==: 完全匹配
  • !=: 非匹配
  • =@: 包含子字符串
  • !@: 不包含子字符串
  • =~: 匹配正则表达式
  • !~: 不匹配正则表达式

逻辑运算符

  • OR: 使用逗号定义,优先级比 AND 高。
  • AND: 使用分号定义,优先级比 OR 低。

segment 细分语法

  • 用户 or 会话
  • 条件 or 顺序
  • 指标范围

用户 or 会话

  • 用户: users::
  • 会话:sessions::

如:

  • users::condition::ga:browser==Chrome: 选择在至少一个会话中使用 Chrome 浏览器的用户
  • sessions::condition::ga:browser==Chrome: 选择使用 Chrome 浏览器的会话
  • users::condition::ga:browser==Chrome;sessions::condition::ga:city==London: 选择在至少一个会话中使用 Chrome 浏览器的用户,并从这些用户的会话中选出位于伦敦这一城市的会话

条件 or 顺序

  • 条件:condition::
  • 顺序:sequence::

  • users::condition::ga:city==London;ga:browser==Chrome: 选择使用 Chrome 浏览器访问过网页的伦敦用户
  • users::sequence::ga:deviceCategory==desktop;->>ga:deviceCategory==mobile: 选择首先使用桌面设备,之后又使用移动设备的用户

使用内置的 id:

  • 所有用户: gaid::-1
  • 新用户: gaid::-2
  • 老用户: gaid::-3
  • 单会话用户: gaid::-100
  • 多会话用户: gaid::-101

动态细分

  • 新用户: sessions::condition::ga:userType==New Visitor
  • 老用户: sessions::condition::ga:userType==Returning Visitor
  • 搜索流量: sessions::condition::ga:medium=~^(cpc|ppc|cpa|cpm|cpv|cpp|organic)$
  • 年轻人: sessions::condition::ga:userAgeBracket==18-24,ga:userAgeBracket==25-34
  • 单会话用户: users::condition::ga:sessions==1

指标范围

  • users::condition::perUser::ga:transactionRevenue>=10: 选择在网站上花费了至少 10 元的用户
  • users::condition::perSession::ga:transactionRevenue>=10: 选择在一次会话中花费了至少 10 元的用户

抽样

  • 默认报告不抽样
  • 临时查询会抽样

临时查询抽样

按用户会话进行抽样,

  • Google Analytics(分析)标准版:在您使用的日期范围内,媒体资源级别的会话数达到 50 万
  • Analytics 360:在您使用的日期范围内,数据视图级别的会话数达到 1 亿

详细见 GA 数据抽样简介

预定义字段

有 531 个,来自 https://www.googleapis.com/analytics/v3/metadata/ga/columns

  • ga:userType
  • ga:visitorType
  • ga:sessionCount
  • ga:visitCount
  • ga:daysSinceLastSession
  • ga:userDefinedValue
  • ga:userBucket
  • ga:users
  • ga:visitors
  • ga:newUsers
  • ga:newVisits
  • ga:percentNewSessions
  • ga:percentNewVisits
  • ga:1dayUsers
  • ga:7dayUsers
  • ga:14dayUsers
  • ga:28dayUsers
  • ga:30dayUsers
  • ga:sessionDurationBucket
  • ga:visitLength
  • ga:sessions
  • ga:visits
  • ga:bounces
  • ga:bounceRate
  • ga:visitBounceRate
  • ga:sessionDuration
  • ga:avgSessionDuration
  • ga:referralPath
  • ga:fullReferrer
  • ga:campaign
  • ga:source
  • ga:medium
  • ga:sourceMedium
  • ga:keyword
  • ga:adContent
  • ga:socialNetwork
  • ga:hasSocialSourceReferral
  • ga:organicSearches
  • ga:adGroup
  • ga:adSlot
  • ga:adDistributionNetwork
  • ga:adMatchType
  • ga:adKeywordMatchType
  • ga:adMatchedQuery
  • ga:adPlacementDomain
  • ga:adPlacementUrl
  • ga:adFormat
  • ga:adTargetingType
  • ga:adTargetingOption
  • ga:adDisplayUrl
  • ga:adDestinationUrl
  • ga:adwordsCustomerID
  • ga:adwordsCampaignID
  • ga:adwordsAdGroupID
  • ga:adwordsCreativeID
  • ga:adwordsCriteriaID
  • ga:impressions
  • ga:adClicks
  • ga:adCost
  • ga:CPM
  • ga:CPC
  • ga:CTR
  • ga:costPerTransaction
  • ga:costPerGoalConversion
  • ga:costPerConversion
  • ga:RPC
  • ga:ROI
  • ga:margin
  • ga:ROAS
  • ga:adQueryWordCount
  • ga:goalCompletionLocation
  • ga:goalPreviousStep1
  • ga:goalPreviousStep2
  • ga:goalPreviousStep3
  • ga:goalXXStarts
  • ga:goalStartsAll
  • ga:goalXXCompletions
  • ga:goalCompletionsAll
  • ga:goalXXValue
  • ga:goalValueAll
  • ga:goalValuePerSession
  • ga:goalValuePerVisit
  • ga:goalXXConversionRate
  • ga:goalConversionRateAll
  • ga:goalXXAbandons
  • ga:goalAbandonsAll
  • ga:goalXXAbandonRate
  • ga:goalAbandonRateAll
  • ga:browser
  • ga:browserVersion
  • ga:operatingSystem
  • ga:operatingSystemVersion
  • ga:mobileDeviceBranding
  • ga:mobileDeviceModel
  • ga:mobileInputSelector
  • ga:mobileDeviceInfo
  • ga:mobileDeviceMarketingName
  • ga:deviceCategory
  • ga:continent
  • ga:subContinent
  • ga:country
  • ga:region
  • ga:metro
  • ga:city
  • ga:latitude
  • ga:longitude
  • ga:networkDomain
  • ga:networkLocation
  • ga:flashVersion
  • ga:javaEnabled
  • ga:language
  • ga:screenColors
  • ga:sourcePropertyDisplayName
  • ga:sourcePropertyTrackingId
  • ga:screenResolution
  • ga:socialActivityContentUrl
  • ga:hostname
  • ga:pagePath
  • ga:pagePathLevel1
  • ga:pagePathLevel2
  • ga:pagePathLevel3
  • ga:pagePathLevel4
  • ga:pageTitle
  • ga:landingPagePath
  • ga:secondPagePath
  • ga:exitPagePath
  • ga:previousPagePath
  • ga:pageDepth
  • ga:pageValue
  • ga:entrances
  • ga:entranceRate
  • ga:pageviews
  • ga:pageviewsPerSession
  • ga:pageviewsPerVisit
  • ga:contentGroupUniqueViewsXX
  • ga:uniquePageviews
  • ga:timeOnPage
  • ga:avgTimeOnPage
  • ga:exits
  • ga:exitRate
  • ga:searchUsed
  • ga:searchKeyword
  • ga:searchKeywordRefinement
  • ga:searchCategory
  • ga:searchStartPage
  • ga:searchDestinationPage
  • ga:searchAfterDestinationPage
  • ga:searchResultViews
  • ga:searchUniques
  • ga:avgSearchResultViews
  • ga:searchSessions
  • ga:searchVisits
  • ga:percentSessionsWithSearch
  • ga:percentVisitsWithSearch
  • ga:searchDepth
  • ga:avgSearchDepth
  • ga:searchRefinements
  • ga:percentSearchRefinements
  • ga:searchDuration
  • ga:avgSearchDuration
  • ga:searchExits
  • ga:searchExitRate
  • ga:searchGoalXXConversionRate
  • ga:searchGoalConversionRateAll
  • ga:goalValueAllPerSearch
  • ga:pageLoadTime
  • ga:pageLoadSample
  • ga:avgPageLoadTime
  • ga:domainLookupTime
  • ga:avgDomainLookupTime
  • ga:pageDownloadTime
  • ga:avgPageDownloadTime
  • ga:redirectionTime
  • ga:avgRedirectionTime
  • ga:serverConnectionTime
  • ga:avgServerConnectionTime
  • ga:serverResponseTime
  • ga:avgServerResponseTime
  • ga:speedMetricsSample
  • ga:domInteractiveTime
  • ga:avgDomInteractiveTime
  • ga:domContentLoadedTime
  • ga:avgDomContentLoadedTime
  • ga:domLatencyMetricsSample
  • ga:appInstallerId
  • ga:appVersion
  • ga:appName
  • ga:appId
  • ga:screenName
  • ga:screenDepth
  • ga:landingScreenName
  • ga:exitScreenName
  • ga:screenviews
  • ga:uniqueScreenviews
  • ga:uniqueAppviews
  • ga:screenviewsPerSession
  • ga:timeOnScreen
  • ga:avgScreenviewDuration
  • ga:eventCategory
  • ga:eventAction
  • ga:eventLabel
  • ga:totalEvents
  • ga:uniqueDimensionCombinations
  • ga:uniqueEvents
  • ga:eventValue
  • ga:avgEventValue
  • ga:sessionsWithEvent
  • ga:visitsWithEvent
  • ga:eventsPerSessionWithEvent
  • ga:eventsPerVisitWithEvent
  • ga:transactionId
  • ga:affiliation
  • ga:sessionsToTransaction
  • ga:visitsToTransaction
  • ga:daysToTransaction
  • ga:productSku
  • ga:productName
  • ga:productCategory
  • ga:currencyCode
  • ga:transactions
  • ga:transactionsPerSession
  • ga:transactionsPerVisit
  • ga:transactionRevenue
  • ga:revenuePerTransaction
  • ga:transactionRevenuePerSession
  • ga:transactionRevenuePerVisit
  • ga:transactionShipping
  • ga:transactionTax
  • ga:totalValue
  • ga:itemQuantity
  • ga:uniquePurchases
  • ga:revenuePerItem
  • ga:itemRevenue
  • ga:itemsPerPurchase
  • ga:localTransactionRevenue
  • ga:localTransactionShipping
  • ga:localTransactionTax
  • ga:localItemRevenue
  • ga:socialInteractionNetwork
  • ga:socialInteractionAction
  • ga:socialInteractionNetworkAction
  • ga:socialInteractionTarget
  • ga:socialEngagementType
  • ga:socialInteractions
  • ga:uniqueSocialInteractions
  • ga:socialInteractionsPerSession
  • ga:socialInteractionsPerVisit
  • ga:userTimingCategory
  • ga:userTimingLabel
  • ga:userTimingVariable
  • ga:userTimingValue
  • ga:userTimingSample
  • ga:avgUserTimingValue
  • ga:exceptionDescription
  • ga:exceptions
  • ga:exceptionsPerScreenview
  • ga:fatalExceptions
  • ga:fatalExceptionsPerScreenview
  • ga:experimentId
  • ga:experimentVariant
  • ga:dimensionXX
  • ga:customVarNameXX
  • ga:metricXX
  • ga:customVarValueXX
  • ga:date
  • ga:year
  • ga:month
  • ga:week
  • ga:day
  • ga:hour
  • ga:minute
  • ga:nthMonth
  • ga:nthWeek
  • ga:nthDay
  • ga:nthMinute
  • ga:dayOfWeek
  • ga:dayOfWeekName
  • ga:dateHour
  • ga:dateHourMinute
  • ga:yearMonth
  • ga:yearWeek
  • ga:isoWeek
  • ga:isoYear
  • ga:isoYearIsoWeek
  • ga:dcmClickAd
  • ga:dcmClickAdId
  • ga:dcmClickAdType
  • ga:dcmClickAdTypeId
  • ga:dcmClickAdvertiser
  • ga:dcmClickAdvertiserId
  • ga:dcmClickCampaign
  • ga:dcmClickCampaignId
  • ga:dcmClickCreativeId
  • ga:dcmClickCreative
  • ga:dcmClickRenderingId
  • ga:dcmClickCreativeType
  • ga:dcmClickCreativeTypeId
  • ga:dcmClickCreativeVersion
  • ga:dcmClickSite
  • ga:dcmClickSiteId
  • ga:dcmClickSitePlacement
  • ga:dcmClickSitePlacementId
  • ga:dcmClickSpotId
  • ga:dcmFloodlightActivity
  • ga:dcmFloodlightActivityAndGroup
  • ga:dcmFloodlightActivityGroup
  • ga:dcmFloodlightActivityGroupId
  • ga:dcmFloodlightActivityId
  • ga:dcmFloodlightAdvertiserId
  • ga:dcmFloodlightSpotId
  • ga:dcmLastEventAd
  • ga:dcmLastEventAdId
  • ga:dcmLastEventAdType
  • ga:dcmLastEventAdTypeId
  • ga:dcmLastEventAdvertiser
  • ga:dcmLastEventAdvertiserId
  • ga:dcmLastEventAttributionType
  • ga:dcmLastEventCampaign
  • ga:dcmLastEventCampaignId
  • ga:dcmLastEventCreativeId
  • ga:dcmLastEventCreative
  • ga:dcmLastEventRenderingId
  • ga:dcmLastEventCreativeType
  • ga:dcmLastEventCreativeTypeId
  • ga:dcmLastEventCreativeVersion
  • ga:dcmLastEventSite
  • ga:dcmLastEventSiteId
  • ga:dcmLastEventSitePlacement
  • ga:dcmLastEventSitePlacementId
  • ga:dcmLastEventSpotId
  • ga:dcmFloodlightQuantity
  • ga:dcmFloodlightRevenue
  • ga:landingContentGroupXX
  • ga:previousContentGroupXX
  • ga:contentGroupXX
  • ga:userAgeBracket
  • ga:visitorAgeBracket
  • ga:userGender
  • ga:visitorGender
  • ga:interestOtherCategory
  • ga:interestAffinityCategory
  • ga:interestInMarketCategory
  • ga:adsenseRevenue
  • ga:adsenseAdUnitsViewed
  • ga:adsenseAdsViewed
  • ga:adsenseAdsClicks
  • ga:adsensePageImpressions
  • ga:adsenseCTR
  • ga:adsenseECPM
  • ga:adsenseExits
  • ga:adsenseViewableImpressionPercent
  • ga:adsenseCoverage
  • ga:adxImpressions
  • ga:adxCoverage
  • ga:adxMonetizedPageviews
  • ga:adxImpressionsPerSession
  • ga:adxViewableImpressionsPercent
  • ga:adxClicks
  • ga:adxCTR
  • ga:adxRevenue
  • ga:adxRevenuePer1000Sessions
  • ga:adxECPM
  • ga:dfpImpressions
  • ga:dfpCoverage
  • ga:dfpMonetizedPageviews
  • ga:dfpImpressionsPerSession
  • ga:dfpViewableImpressionsPercent
  • ga:dfpClicks
  • ga:dfpCTR
  • ga:dfpRevenue
  • ga:dfpRevenuePer1000Sessions
  • ga:dfpECPM
  • ga:backfillImpressions
  • ga:backfillCoverage
  • ga:backfillMonetizedPageviews
  • ga:backfillImpressionsPerSession
  • ga:backfillViewableImpressionsPercent
  • ga:backfillClicks
  • ga:backfillCTR
  • ga:backfillRevenue
  • ga:backfillRevenuePer1000Sessions
  • ga:backfillECPM
  • ga:acquisitionCampaign
  • ga:acquisitionMedium
  • ga:acquisitionSource
  • ga:acquisitionSourceMedium
  • ga:acquisitionTrafficChannel
  • ga:browserSize
  • ga:campaignCode
  • ga:channelGrouping
  • ga:checkoutOptions
  • ga:cityId
  • ga:cohort
  • ga:cohortNthDay
  • ga:cohortNthMonth
  • ga:cohortNthWeek
  • ga:continentId
  • ga:correlationModelId
  • ga:countryIsoCode
  • ga:dataSource
  • ga:dbmClickAdvertiser
  • ga:dbmClickAdvertiserId
  • ga:dbmClickCreativeId
  • ga:dbmClickExchange
  • ga:dbmClickExchangeId
  • ga:dbmClickInsertionOrder
  • ga:dbmClickInsertionOrderId
  • ga:dbmClickLineItem
  • ga:dbmClickLineItemId
  • ga:dbmClickSite
  • ga:dbmClickSiteId
  • ga:dbmLastEventAdvertiser
  • ga:dbmLastEventAdvertiserId
  • ga:dbmLastEventCreativeId
  • ga:dbmLastEventExchange
  • ga:dbmLastEventExchangeId
  • ga:dbmLastEventInsertionOrder
  • ga:dbmLastEventInsertionOrderId
  • ga:dbmLastEventLineItem
  • ga:dbmLastEventLineItemId
  • ga:dbmLastEventSite
  • ga:dbmLastEventSiteId
  • ga:dsAdGroup
  • ga:dsAdGroupId
  • ga:dsAdvertiser
  • ga:dsAdvertiserId
  • ga:dsAgency
  • ga:dsAgencyId
  • ga:dsCampaign
  • ga:dsCampaignId
  • ga:dsEngineAccount
  • ga:dsEngineAccountId
  • ga:dsKeyword
  • ga:dsKeywordId
  • ga:internalPromotionCreative
  • ga:internalPromotionId
  • ga:internalPromotionName
  • ga:internalPromotionPosition
  • ga:isTrueViewVideoAd
  • ga:metroId
  • ga:nthHour
  • ga:orderCouponCode
  • ga:productBrand
  • ga:productCategoryHierarchy
  • ga:productCategoryLevelXX
  • ga:productCouponCode
  • ga:productListName
  • ga:productListPosition
  • ga:productVariant
  • ga:queryProductId
  • ga:queryProductName
  • ga:queryProductVariation
  • ga:regionId
  • ga:regionIsoCode
  • ga:relatedProductId
  • ga:relatedProductName
  • ga:relatedProductVariation
  • ga:shoppingStage
  • ga:subContinentCode
  • ga:buyToDetailRate
  • ga:calcMetric_\u003cNAME\u003e
  • ga:cartToDetailRate
  • ga:cohortActiveUsers
  • ga:cohortAppviewsPerUser
  • ga:cohortAppviewsPerUserWithLifetimeCriteria
  • ga:cohortGoalCompletionsPerUser
  • ga:cohortGoalCompletionsPerUserWithLifetimeCriteria
  • ga:cohortPageviewsPerUser
  • ga:cohortPageviewsPerUserWithLifetimeCriteria
  • ga:cohortRetentionRate
  • ga:cohortRevenuePerUser
  • ga:cohortRevenuePerUserWithLifetimeCriteria
  • ga:cohortSessionDurationPerUser
  • ga:cohortSessionDurationPerUserWithLifetimeCriteria
  • ga:cohortSessionsPerUser
  • ga:cohortSessionsPerUserWithLifetimeCriteria
  • ga:cohortTotalUsers
  • ga:cohortTotalUsersWithLifetimeCriteria
  • ga:correlationScore
  • ga:dbmCPA
  • ga:dbmCPC
  • ga:dbmCPM
  • ga:dbmCTR
  • ga:dbmClicks
  • ga:dbmConversions
  • ga:dbmCost
  • ga:dbmImpressions
  • ga:dbmROAS
  • ga:dcmCPC
  • ga:dcmCTR
  • ga:dcmClicks
  • ga:dcmCost
  • ga:dcmImpressions
  • ga:dcmMargin
  • ga:dcmROAS
  • ga:dcmRPC
  • ga:dsCPC
  • ga:dsCTR
  • ga:dsClicks
  • ga:dsCost
  • ga:dsImpressions
  • ga:dsProfit
  • ga:dsReturnOnAdSpend
  • ga:dsRevenuePerClick
  • ga:hits
  • ga:internalPromotionCTR
  • ga:internalPromotionClicks
  • ga:internalPromotionViews
  • ga:localProductRefundAmount
  • ga:localRefundAmount
  • ga:productAddsToCart
  • ga:productCheckouts
  • ga:productDetailViews
  • ga:productListCTR
  • ga:productListClicks
  • ga:productListViews
  • ga:productRefundAmount
  • ga:productRefunds
  • ga:productRemovesFromCart
  • ga:productRevenuePerPurchase
  • ga:quantityAddedToCart
  • ga:quantityCheckedOut
  • ga:quantityRefunded
  • ga:quantityRemovedFromCart
  • ga:queryProductQuantity
  • ga:refundAmount
  • ga:relatedProductQuantity
  • ga:revenuePerUser
  • ga:sessionsPerUser
  • ga:totalRefunds
  • ga:transactionsPerUser

参考

  • 数据库

    据说 99% 的性能瓶颈都在数据库。

    330 引用 • 612 回帖
  • ga
    1 引用

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...