고급 사용 사례

컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.

이 문서에서는 Google 애널리틱스 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 참조를 확인하세요.

동질 집단 보고서 만들기

다음은 동질 집단 보고서의 샘플입니다.

  • 동질 집단이 firstSessionDate2020-12-01인 사용자 집단으로, cohorts 객체로 구성됩니다. 보고서 응답의 측정기준과 측정항목은 동질 집단의 사용자에 따라서만 결정됩니다.
  • 동질 집단 보고서에는 측정기준 및 측정항목 객체로 구성된 3개의 열이 표시됩니다.
    • cohort 측정기준은 동질 집단의 이름입니다.
    • 측정기준 cohortNthDay2020-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
}

이 보고서 응답으로부터 다음과 같은 동질 집단 보고서의 차트가 표시됩니다. 이 보고서의 통계에서 이 동질 집단의 활성 사용자 수가 첫날과 둘째 날 사이에 가장 많이 감소한 것으로 나타났습니다.

시간 경과에 따른 동질 집단 사용자 시각화

여러 동질 집단 및 사용자 유지 비율

사용자 획득 및 유지는 웹사이트 또는 앱을 성장시키는 방법입니다. 사용자 집단 보고서는 사용자 유지에 중점을 둡니다. 이 예에서는 이 속성이 2주 동안 4일 사용자 유지율을 10% 개선했음을 보여줍니다.

이 보고서를 만들기 위해 세 개의 동질 집단을 지정합니다. 첫 번째는 firstSessionDate2020-11-02, 다른 하나는 firstSessionDate2020-11-09, 세 번째는 firstSessionDate2020-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% 증가했음을 나타냅니다. firstSessionDate2020-11-16인 이후 동질 집단은 firstSessionDate2020-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
}

이 보고서 응답을 토대로 동질 집단 보고서의 차트가 표시됩니다. 이 보고서에 따르면 이 속성은 러시아에서 활동하는 사용자보다 멕시코에서 활동하는 사용자를 유지하는 데 더 효과적입니다.

국가 비교 동질 집단 차트