Kasus Penggunaan Lanjutan

Dokumen ini menjelaskan beberapa fitur lanjutan Google Analytics Data API v1. Untuk referensi API yang mendetail, lihat Referensi API.

Mencantumkan definisi kustom dan membuat laporan

Data API dapat membuat laporan tentang Dimensi Kustom dan Metrik Kustom yang terdaftar. Metode Metadata API dapat digunakan untuk mencantumkan nama API Definisi Kustom terdaftar Properti Anda. Nama API ini dapat digunakan dalam Permintaan Laporan ke metode runReport, misalnya.

Bagian berikut menunjukkan contoh untuk setiap jenis Definisi Kustom. Dalam contoh ini, ganti GA_PROPERTY_ID dengan ID Properti Anda.

Dimensi kustom cakupan peristiwa

Langkah 1: Buat kueri Metode Metadata API dengan ID Properti Anda.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Langkah 2: Temukan Dimensi Kustom Cakupan Peristiwa yang ingin Anda buat laporannya dari respons. Jika dimensi tidak ada, Anda harus mendaftarkan dimensi.

"dimensions": [
...
    {
      "apiName": "customEvent:achievement_id",
      "uiName": "Achievement ID",
      "description": "An event scoped custom dimension for your Analytics property."
    },
...
],

Langkah 3: Sertakan dimensi kustom dalam permintaan laporan. Berikut adalah contoh permintaan ke metode runReport.

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "2020-09-01", "endDate": "2020-09-15" }],
  "dimensions": [{ "name": "customEvent:achievement_id" }],
  "metrics": [{ "name": "eventCount" }]
}

Dimensi kustom cakupan pengguna

Langkah 1: Buat kueri Metode Metadata API dengan ID Properti Anda.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Langkah 2: Temukan Dimensi Kustom Cakupan Pengguna yang ingin Anda buat laporannya dari respons. Jika dimensi tidak ada, Anda harus mendaftarkan dimensi.

"dimensions": [
...
    {
      "apiName": "customUser:last_level",
      "uiName": "Last level",
      "description": "A user property for your Analytics property."
    },
...
],

Langkah 3: Sertakan dimensi kustom dalam permintaan laporan. Berikut adalah contoh permintaan ke metode runReport.

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "entity": { "propertyId": "GA_PROPERTY_ID" },
  "dateRanges": [{ "startDate": "7daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "customUser:last_level" }],
  "metrics": [{ "name": "activeUsers" }]
}

Metrik kustom cakupan peristiwa

Langkah 1: Buat kueri Metode Metadata API dengan ID Properti Anda.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Langkah 2: Temukan Metrik Kustom Cakupan Peristiwa yang ingin Anda buat laporannya dari respons. Jika metrik tidak ada, Anda harus mendaftarkan metrik.

"metrics": [
...
    {
      "apiName": "customEvent:credits_spent",
      "uiName": "Credits Spent",
      "description": "An event scoped custom metric for your Analytics property.",
      "type": "TYPE_STANDARD"
    },
...
],

Langkah 3: Sertakan metrik kustom dalam permintaan laporan. Berikut adalah contoh permintaan ke metode runReport.

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "customEvent:credits_spent" }]
}

Metrik rasio peristiwa utama untuk satu peristiwa utama

Langkah 1: Buat kueri Metode Metadata API dengan ID Properti Anda.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Langkah 2: Temukan Metrik Rasio Peristiwa Utama untuk Satu Peristiwa Utama yang ingin Anda buat laporannya dari respons. Jika peristiwa utama tidak ada, Anda harus menyiapkan peristiwa utama.

"metrics": [
...
    {
      "apiName": "sessionKeyEventRate:add_to_cart",
      "uiName": "Session key event rate for add_to_cart",
      "description": "The percentage of sessions in which a specific key event was triggered",
    },
...
],

Langkah 3: Sertakan metrik rasio peristiwa utama dalam permintaan laporan. Berikut adalah contoh permintaan ke metode runReport.

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "30daysAgo", "endDate": "yesterday" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "sessionKeyEventRate:add_to_cart" }]
}

Rata-rata metrik kustom cakupan peristiwa

Langkah 1: Buat kueri Metode Metadata API dengan ID Properti Anda.

GET https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID/metadata

Langkah 2: Temukan Rata-Rata Metrik Kustom Cakupan Peristiwa yang ingin Anda buat laporannya dari respons. Jika metrik tidak ada, Anda harus mendaftarkan metrik.

"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"
    },
...
],

Langkah 3: Sertakan rata-rata metrik kustom dalam permintaan laporan. Berikut adalah contoh permintaan ke metode runReport.

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
{
  "dateRanges": [{ "startDate": "2020-11-01", "endDate": "2020-11-10" }],
  "dimensions": [{ "name": "eventName" }],
  "metrics": [{ "name": "averageCustomEvent:credits_spent" }]
}

Contoh laporan kelompok

Laporan kelompok membuat deret waktu retensi pengguna untuk kelompok. Untuk dokumentasi mendetail tentang setiap kolom API, lihat referensi REST untuk CohortSpec.

Membuat laporan kelompok

Berikut adalah contoh laporan kelompok yang:

  • Kelompok adalah pengguna dengan firstSessionDate 2020-12-01; ini dikonfigurasi oleh objek cohorts. Dimensi dan metrik dalam respons laporan hanya akan didasarkan pada pengguna kelompok.
  • Laporan kelompok akan menampilkan tiga kolom; hal ini dikonfigurasi oleh objek dimensi dan metrik.
    • Dimensi cohort adalah nama kelompok.
    • Dimensi cohortNthDay adalah jumlah hari sejak 2020-12-01.
    • Metrik cohortActiveUsers adalah jumlah pengguna yang masih aktif.
  • Objek cohortsRange menentukan bahwa laporan harus berisi data peristiwa mulai dari 2020-12-01 dan berakhir pada 2020-12-06 untuk kelompok ini.
    • Jika tingkat perincian DAILY digunakan, dimensi cohortNthDay direkomendasikan untuk konsistensi.

Permintaan laporan untuk kelompok adalah:

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_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"
    }
  },
}

Untuk permintaan ini, contoh respons laporan adalah:

{
  "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
}

Dari respons laporan ini, diagram untuk laporan Kelompok ini akan ditampilkan. Insight dari laporan ini adalah penurunan terbesar pengguna aktif untuk kelompok ini terjadi antara hari pertama dan kedua.

Visualisasi pengguna kelompok dari waktu ke waktu

Beberapa kelompok dan fraksi retensi pengguna

Akuisisi dan retensi pengguna adalah cara untuk mengembangkan Situs atau Aplikasi Anda. Laporan kelompok berfokus pada retensi pengguna. Dalam contoh ini, laporan menunjukkan bahwa properti ini telah meningkatkan retensi pengguna 4 hari sebesar 10% selama dua minggu.

Untuk membuat laporan ini, kami menentukan tiga kelompok: yang pertama dengan firstSessionDate 2020-11-02, yang kedua dengan firstSessionDate 2020-11-09, dan yang ketiga dengan firstSessionDate 2020-11-16. Karena jumlah pengguna di properti Anda akan berbeda selama tiga hari ini, kami membandingkan metrik fraksi retensi pengguna cohort cohortActiveUsers/cohortTotalUsers, bukan menggunakan metrik cohortActiveUsers langsung.

Permintaan laporan untuk kelompok ini adalah:

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_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"
    }
  },
}

Untuk permintaan ini, contoh respons laporan adalah:

{
  "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
}

Dari respons laporan ini, diagram untuk laporan Kelompok ini akan ditampilkan. Insight dari laporan ini adalah retensi pengguna 4 hari meningkat sebesar 10% selama dua minggu. Kohor berikutnya dengan firstSessionDate dari 2020-11-16 melebihi retensi kohor sebelumnya dengan firstSessionDate dari 2020-11-02.

Diagram beberapa retensi kohor

Kohor mingguan dan menggunakan kohor dengan fitur API lainnya

Untuk menghapus varian harian dalam perilaku pengguna, gunakan kohor mingguan. Dalam laporan kelompok mingguan, semua pengguna dengan firstSessionDate dalam minggu yang sama akan membentuk kelompok. Minggu dimulai pada hari Minggu dan berakhir pada hari Sabtu. Selain itu, dalam laporan ini, kami membagi kelompok untuk membandingkan pengguna dengan aktivitas di Rusia dengan pengguna dengan aktivitas di Meksiko. Pemotongan ini menggunakan dimensi country dan dimensionFilter untuk hanya mempertimbangkan dua negara.

Permintaan laporan untuk kelompok ini adalah:

POST https://analyticsdata.googleapis.com/v1beta/properties/GA_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"
    }
  },
}

Untuk permintaan ini, contoh respons laporan adalah:

{
  "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
}

Dari respons laporan ini, diagram laporan Kelompok ini akan ditampilkan. Berdasarkan laporan ini, properti ini lebih berhasil mempertahankan pengguna dengan aktivitas di Meksiko daripada pengguna dengan aktivitas di Rusia.

Diagram kelompok perbandingan negara

Perbandingan

Perbandingan memungkinkan Anda mengevaluasi subkumpulan data secara berdampingan. Anda dapat menentukan perbandingan dengan menentukan kolom comparisons dalam definisi laporan. Fitur Perbandingan Data API mirip dengan Perbandingan di frontend Google Analytics.

Untuk dokumentasi mendetail tentang setiap kolom API, lihat Referensi REST untuk Perbandingan.

Membuat Perbandingan

Anda dapat membuat perbandingan terpisah untuk setiap set data yang ingin dibandingkan. Misalnya, untuk membandingkan data aplikasi dan web, Anda dapat membuat satu perbandingan untuk data Android dan iOS serta perbandingan lain untuk data Web.

Berikut adalah contoh laporan yang menentukan dua perbandingan dan menampilkan pengguna aktif yang dikelompokkan menurut negara.

Perbandingan pertama bernama "Traffic aplikasi" menggunakan inListFilter untuk mencocokkan dimensi platform dengan nilai "iOS" dan "Android". Perbandingan kedua bernama "Traffic web" menggunakan stringFilter untuk mencocokkan dimensi platform dengan "web".

  POST https://analyticsdata.googleapis.com/v1beta/properties/GA_PROPERTY_ID:runReport
  {
    "comparisons": [
      {
        "name": "App traffic",
        "dimensionFilter": {
          "filter": {
            "fieldName": "platform",
            "inListFilter": {
              "values": [
                "iOS",
                "Android"
              ]
            }
          }
        }
      },
      {
        "name": "Web traffic",
        "dimensionFilter": {
          "filter": {
            "fieldName": "platform",
            "stringFilter": {
              "matchType": "EXACT",
              "value": "web"
            }
          }
        }
      }
    ],
    "dateRanges": [
      {
        "startDate": "2024-05-01",
        "endDate": "2024-05-15"
      }
    ],
    "dimensions": [
      {
        "name": "country"
      }
    ],
    "metrics": [
      {
        "name": "activeUsers"
      }
    ]
  }

Untuk semua permintaan yang menggunakan fitur perbandingan, kolom comparison akan otomatis ditambahkan ke laporan yang dihasilkan. Kolom ini berisi nama perbandingan yang diberikan dalam permintaan.

Berikut adalah contoh cuplikan respons yang berisi perbandingan:

{
  "dimensionHeaders": [
    {
      "name": "comparison"
    },
    {
      "name": "country"
    }
  ],
  "metricHeaders": [
    {
      "name": "activeUsers",
      "type": "TYPE_INTEGER"
    }
  ],
  "rows": [
    {
      "dimensionValues": [
        {
          "value": "Web traffic"
        },
        {
          "value": "United States"
        }
      ],
      "metricValues": [
        {
          "value": "638572"
        }
      ]
    },
    {
      "dimensionValues": [
        {
          "value": "Web traffic"
        },
        {
          "value": "Japan"
        }
      ],
      "metricValues": [
        {
          "value": "376578"
        }
      ]
    },
  {
      "dimensionValues": [
        {
          "value": "App traffic"
        },
        {
          "value": "United States"
        }
      ],
      "metricValues": [
        {
          "value": "79527"
        }
      ]
    },

    ...

  ],

...

}