이 문서에서는 Google Analytics Data API v1의 몇 가지 고급 기능을 설명합니다. API에 대한 자세한 참조는 API 참조를 확인하세요.
맞춤 정의 나열 및 보고서 만들기
Data API는 등록된 맞춤 측정기준 및 맞춤 측정항목에 대한 보고서를 만들 수 있습니다. Metadata API 메서드를 사용하면 속성에 등록된 커스텀 정의의 API 이름을 나열할 수 있습니다. 예를 들어 이러한 API 이름은 runReport 메서드에 대한 보고서 요청에서 사용할 수 있습니다.
다음 섹션에서는 각 맞춤 정의 유형에 대한 예를 보여줍니다. 이 예에서 GA4_PROPERTY_ID
를 속성 ID로 바꾸세요.
이벤트 범위 맞춤 측정기준
1단계: 속성 ID로 Metadata API 메서드를 쿼리합니다.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID/metadata
2단계: 응답에서 보고서를 만들 이벤트 범위 맞춤 측정기준을 찾습니다. 측정기준이 없으면 측정기준을 등록해야 합니다.
"dimensions": [
...
{
"apiName": "customEvent:achievement_id",
"uiName": "Achievement ID",
"description": "An event scoped custom dimension for your Analytics property."
},
...
],
3단계: 보고서 요청에 맞춤 측정기준을 포함합니다. 다음은 runReport 메서드에 대한 샘플 요청입니다.
POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
"dateRanges": [{ "startDate": "2020-09-01", "endDate": "2020-09-15" }],
"dimensions": [{ "name": "customEvent:achievement_id" }],
"metrics": [{ "name": "eventCount" }]
}
사용자 범위 맞춤 측정기준
1단계: 속성 ID로 Metadata API 메서드를 쿼리합니다.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID/metadata
2단계: 응답에서 보고서를 만들 사용자 범위 맞춤 측정기준을 찾습니다. 측정기준이 없으면 측정기준을 등록해야 합니다.
"dimensions": [
...
{
"apiName": "customUser:last_level",
"uiName": "Last level",
"description": "A user property for your Analytics property."
},
...
],
3단계: 보고서 요청에 맞춤 측정기준을 포함합니다. 다음은 runReport 메서드에 대한 샘플 요청입니다.
POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
"entity": { "propertyId": "GA4_PROPERTY_ID" },
"dateRanges": [{ "startDate": "7daysAgo", "endDate": "yesterday" }],
"dimensions": [{ "name": "customUser:last_level" }],
"metrics": [{ "name": "activeUsers" }]
}
이벤트 범위 맞춤 측정항목
1단계: 속성 ID로 Metadata API 메서드를 쿼리합니다.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID/metadata
2단계: 응답에서 보고서를 만들 이벤트 범위 맞춤 측정항목을 찾습니다. 측정항목이 없으면 측정항목을 등록해야 합니다.
"metrics": [
...
{
"apiName": "customEvent:credits_spent",
"uiName": "Credits Spent",
"description": "An event scoped custom metric for your Analytics property.",
"type": "TYPE_STANDARD"
},
...
],
3단계: 보고서 요청에 맞춤 측정항목을 포함합니다. 다음은 runReport 메서드에 대한 샘플 요청입니다.
POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
"dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
"dimensions": [{ "name": "eventName" }],
"metrics": [{ "name": "customEvent:credits_spent" }]
}
전환 1회에 대한 전환율 측정항목
1단계: 속성 ID로 Metadata API 메서드를 쿼리합니다.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID/metadata
2단계: 응답에서 보고서를 만들려는 전환 1개의 전환율 측정항목을 찾습니다. 전환 이벤트가 없으면 전환 이벤트를 설정해야 합니다.
"metrics": [
...
{
"apiName": "sessionConversionRate:add_to_cart",
"uiName": "Session conversion rate for add_to_cart",
"description": "The percentage of sessions in which a specific conversion event was triggered",
},
...
],
3단계: 보고서 요청에 전환율 측정항목을 포함합니다. 다음은 runReport 메서드에 대한 샘플 요청입니다.
POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
"dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
"dimensions": [{ "name": "eventName" }],
"metrics": [{ "name": "sessionConversionRate:add_to_cart" }]
}
이벤트 범위 맞춤 측정항목 평균
1단계: 속성 ID로 Metadata API 메서드를 쿼리합니다.
GET https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID/metadata
2단계: 응답에서 보고서를 만들 이벤트 범위 맞춤 측정항목 평균을 찾습니다. 측정항목이 없으면 측정항목을 등록해야 합니다.
"metrics": [
...
{
"apiName": "averageCustomEvent:credits_spent",
"uiName": "Average Credits Spent",
"description": "The average of an event scoped custom metric for your Analytics property.",
"type": "TYPE_STANDARD"
},
...
],
3단계: 보고서 요청에 맞춤 측정항목 평균을 포함합니다. 다음은 runReport 메서드에 대한 샘플 요청입니다.
POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
"dateRanges": [{ "startDate": "2020-11-01", "endDate": "2020-11-10" }],
"dimensions": [{ "name": "eventName" }],
"metrics": [{ "name": "averageCustomEvent:credits_spent" }]
}
동질 집단 보고서의 예
동질 집단 보고서에서는 동질 집단의 사용자 유지 시계열이 생성됩니다. 각 API 필드에 관한 자세한 내용은 CohortSpec에 대한 REST 참조를 확인하세요.
동질 집단 보고서 만들기
다음은 동질 집단 보고서의 예입니다.
- 동질 집단은
firstSessionDate
가2020-12-01
인 사용자로,cohorts
객체로 구성됩니다. 보고서 응답의 측정기준과 측정항목은 동질 집단의 사용자만 기반으로 합니다. - 동질 집단 보고서에는 측정기준 및 측정항목 객체로 구성된 3개의 열이 표시됩니다.
cohort
측정기준은 동질 집단의 이름입니다.cohortNthDay
측정기준은2020-12-01
이후의 일수입니다.cohortActiveUsers
측정항목은 아직 활성 상태인 사용자의 수입니다.
cohortsRange
객체는 이 동질 집단의2020-12-01
부터2020-12-06
에 끝나는 이벤트 데이터를 보고서에 포함해야 함을 지정합니다.DAILY
의 세부사항을 사용하는 경우 일관성을 위해cohortNthDay
측정기준을 사용하는 것이 좋습니다.
동질 집단에 대한 보고서 요청은 다음과 같습니다.
POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
"dimensions": [{ "name": "cohort" }, { "name": "cohortNthDay" }],
"metrics": [{ "name": "cohortActiveUsers" }],
"cohortSpec": {
"cohorts": [
{
"dimension": "firstSessionDate",
"dateRange": { "startDate": "2020-12-01", "endDate": "2020-12-01" }
}
],
"cohortsRange": {
"endOffset": 5,
"granularity": "DAILY"
}
},
}
이 요청에서 보고서 응답의 예는 다음과 같습니다.
{
"dimensionHeaders": [
{ "name": "cohort" }, { "name": "cohortNthDay" }
],
"metricHeaders": [
{ "name": "cohortActiveUsers", "type": "TYPE_INTEGER" }
],
"rows": [
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0000" }],
"metricValues": [{ "value": "293" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0001" }],
"metricValues": [{ "value": "143" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0002" }],
"metricValues": [{ "value": "123" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0003" }],
"metricValues": [{ "value": "92" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0005" }],
"metricValues": [{ "value": "86" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0004" }],
"metricValues": [{ "value": "83" }]
}
],
"metadata": {},
"rowCount": 6
}
이 보고서 응답에서 이 동질 집단 보고서의 차트가 표시됩니다. 이 보고서의 유용한 정보에 따르면 이 동질 집단에서 활성 사용자 수가 가장 크게 감소한 부분은 첫째 날과 둘째 날 사이입니다.
여러 동질 집단 및 사용자 유지율 비율
사용자 획득 및 유지는 웹사이트 또는 앱을 성장시키는 방법입니다. 동질 집단 보고서는 사용자 유지에 초점을 맞춥니다. 이 예의 보고서는 이 속성의 4일 사용자 유지율이 2주 동안 10% 개선되었음을 보여줍니다.
이 보고서를 만들기 위해 3개의 동질 집단을 지정합니다. 첫 번째는 firstSessionDate
가 2020-11-02
이고, 두 번째는 firstSessionDate
가 2020-11-09
이고, 세 번째는 firstSessionDate
가 2020-11-16
입니다. 이 3일 동안 속성의 사용자 수가 다르므로 직접 cohortActiveUsers
측정항목을 사용하는 대신 동질 집단의 사용자 유지율 비율 측정항목인 cohortActiveUsers/cohortTotalUsers
를 비교합니다.
이러한 동질 집단에 대한 보고서 요청:
POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
"dimensions": [{ "name": "cohort" },{ "name": "cohortNthDay" }],
"metrics": [
{
"name": "cohortRetentionFraction",
"expression": "cohortActiveUsers/cohortTotalUsers"
}
],
"cohortSpec": {
"cohorts": [
{
"dimension": "firstSessionDate",
"dateRange": { "startDate": "2020-11-02", "endDate": "2020-11-02" }
},
{
"dimension": "firstSessionDate",
"dateRange": { "startDate": "2020-11-09", "endDate": "2020-11-09" }
},
{
"dimension": "firstSessionDate",
"dateRange": { "startDate": "2020-11-16", "endDate": "2020-11-16" }
}
],
"cohortsRange": {
"endOffset": 4,
"granularity": "DAILY"
}
},
}
이 요청에서 보고서 응답의 예는 다음과 같습니다.
{
"dimensionHeaders": [{ "name": "cohort" },{ "name": "cohortNthDay" }],
"metricHeaders": [{
"name": "cohortRetentionFraction",
"type": "TYPE_FLOAT"
}
],
"rows": [
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0000" }],
"metricValues": [{ "value": "1" }]
},
{
"dimensionValues": [{ "value": "cohort_1" },{ "value": "0000" }],
"metricValues": [{ "value": "1" }]
},
{
"dimensionValues": [{ "value": "cohort_2" },{ "value": "0000" }],
"metricValues": [{ "value": "1" }]
},
{
"dimensionValues": [{ "value": "cohort_2" },{ "value": "0001" }],
"metricValues": [{ "value": "0.308" }]
},
{
"dimensionValues": [{ "value": "cohort_1" },{ "value": "0001" }],
"metricValues": [{ "value": "0.272" }]
},
{
"dimensionValues": [{ "value": "cohort_2" },{ "value": "0002" }],
"metricValues": [{ "value": "0.257" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0001" }],
"metricValues": [{ "value": "0.248" }]
},
{
"dimensionValues": [{ "value": "cohort_2" },{ "value": "0003" }],
"metricValues": [{ "value": "0.235" }]
},
{
"dimensionValues": [{ "value": "cohort_2" },{ "value": "0004" }],
"metricValues": [{ "value": "0.211" }]
},
{
"dimensionValues": [{ "value": "cohort_1" },{ "value": "0002" }],
"metricValues": [{ "value": "0.198" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0002" }],
"metricValues": [{ "value": "0.172" }]
},
{
"dimensionValues": [{ "value": "cohort_1" },{ "value": "0003" }],
"metricValues": [{ "value": "0.167" }]
},
{
"dimensionValues": [{ "value": "cohort_1" },{ "value": "0004" }],
"metricValues": [{ "value": "0.155" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0003" }],
"metricValues": [{ "value": "0.141" }]
},
{
"dimensionValues": [{ "value": "cohort_0" },{ "value": "0004" }],
"metricValues": [{ "value": "0.118" }]
}
],
"metadata": {},
"rowCount": 15
}
이 보고서 응답에서 이 동질 집단 보고서의 차트가 표시됩니다. 이 보고서의 유용한 정보는 2주 동안 4일간의 사용자 유지율이 10% 증가했다는 것입니다. firstSessionDate
가 2020-11-16
인 후반 사용자 집단이 firstSessionDate
가 2020-11-02
인 이전 동질 집단의 유지율을 초과합니다.
주간 동질 집단 및 다른 API 기능과 함께 동질 집단 사용
사용자 행동의 일별 변동을 없애려면 주간 동질 집단을 이용하세요. 주간 동질 집단 보고서에서 같은 주에 firstSessionDate
가 있는 모든 사용자가 동질 집단을 구성합니다. 주는 일요일에 시작되어 토요일에 끝납니다. 또한 이 보고서에서는 사용자 집단을 분할하여 러시아에서의 활동이 있는 사용자와 멕시코에서의 활동이 있는 사용자를 비교합니다. 이 슬라이싱에서는 country
측정기준과 dimensionFilter
를 사용하여 두 국가만 고려합니다.
이러한 동질 집단에 대한 보고서 요청:
POST https://analyticsdata.googleapis.com/v1beta/properties/GA4_PROPERTY_ID:runReport
{
"dimensions": [
{ "name": "cohort" },
{ "name": "cohortNthWeek" },
{ "name": "country" }
],
"metrics": [{ "name": "cohortActiveUsers" }],
"dimensionFilter": {
"filter": {
"fieldName": "country",
"inListFilter": {
"values": [ "Russia", "Mexico" ]
}
}
},
"cohortSpec": {
"cohorts": [
{
"dimension": "firstSessionDate",
"dateRange": {
"startDate": "2020-10-04",
"endDate": "2020-10-10"
}
}
],
"cohortsRange": {
"endOffset": 5,
"granularity": "WEEKLY"
}
},
}
이 요청에서 보고서 응답의 예는 다음과 같습니다.
{
"dimensionHeaders": [
{ "name": "cohort" },
{ "name": "cohortNthWeek" },
{ "name": "country" }
],
"metricHeaders": [
{ "name": "cohortActiveUsers", "type": "TYPE_INTEGER" }
],
"rows": [
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0000" },{ "value": "Russia" }
],
"metricValues": [{ "value": "105" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0000" },{ "value": "Mexico" }
],
"metricValues": [{ "value": "98" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0001" },{ "value": "Mexico" }
],
"metricValues": [{ "value": "35" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0002" },{ "value": "Mexico" }
],
"metricValues": [{ "value": "24" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0001" },{ "value": "Russia" }
],
"metricValues": [{ "value": "23" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0004" },{ "value": "Mexico" }
],
"metricValues": [{ "value": "17" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0003" },{ "value": "Mexico" }
],
"metricValues": [{ "value": "15" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0005" },{ "value": "Mexico" }
],
"metricValues": [{ "value": "15" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0002" },{ "value": "Russia" }
],
"metricValues": [{ "value": "3" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0003" },{ "value": "Russia" }
],
"metricValues": [{ "value": "1" }]
},
{
"dimensionValues": [
{ "value": "cohort_0" },{ "value": "0004" },{ "value": "Russia" }
],
"metricValues": [{ "value": "1" }]
}
],
"metadata": {},
"rowCount": 11
}
보고서 응답에서 이 동질 집단 보고서의 차트가 이어집니다. 이 보고서에 따르면 이 속성은 러시아에서의 활동 사용자보다 멕시코에서 활동이 있는 사용자를 유지하는 데 더 효과적입니다.