Use Case ขั้นสูง

เอกสารนี้อธิบายฟีเจอร์ขั้นสูงหลายอย่างของ Google Analytics Data API v1 สำหรับข้อมูลอ้างอิง API โดยละเอียด โปรดดูที่เอกสารอ้างอิง API

การกำหนดรายการคำจำกัดความที่กำหนดเองและการสร้างรายงาน

Data API สามารถสร้างรายงานเกี่ยวกับมิติข้อมูลที่กำหนดเองและเมตริกที่กำหนดเองที่ลงทะเบียนไว้ เมธอด API ข้อมูลเมตาสามารถใช้เพื่อแสดงชื่อ API ของคำจำกัดความที่กำหนดเองที่ลงทะเบียนไว้ของพร็อพเพอร์ตี้ ชื่อ API เหล่านี้อาจใช้ในคำขอรายงานไปยังเมธอด runReport ได้ เช่น

ส่วนต่อไปนี้จะแสดงตัวอย่างของคำจำกัดความที่กำหนดเองแต่ละประเภท ในตัวอย่างต่อไปนี้ ให้แทนที่ GA4_PROPERTY_ID ด้วยรหัสพร็อพเพอร์ตี้

มิติข้อมูลที่กำหนดเองที่กำหนดขอบเขตระดับเหตุการณ์

ขั้นตอนที่ 1: ค้นหาเมธอด 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: ค้นหาเมธอด 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: ค้นหาเมธอด 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" }]
}

เมตริกอัตรา Conversion สำหรับ Conversion 1 รายการ

ขั้นตอนที่ 1: ค้นหาเมธอด API ข้อมูลเมตาด้วยรหัสพร็อพเพอร์ตี้

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

ขั้นตอนที่ 2: หาเมตริกอัตรา Conversion ของ 1 Conversion ที่คุณสนใจจะสร้างรายงานจากคำตอบ หากไม่มีเหตุการณ์ Conversion คุณจะต้องตั้งค่าเหตุการณ์ Conversion

"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: รวมเมตริกอัตรา Conversion ในคำขอรายงาน ต่อไปนี้เป็นตัวอย่างคำขอที่ส่งไปยังเมธอด 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: ค้นหาเมธอด 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 แต่ละช่อง โปรดดูข้อมูลอ้างอิง REST สำหรับ CohortSpec

การสร้างรายงานกลุ่มประชากรตามรุ่น

ต่อไปนี้เป็นตัวอย่างรายงานกลุ่มประชากรตามรุ่น

  • กลุ่มประชากรตามรุ่นคือผู้ใช้ที่มี 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
}

จากการตอบกลับรายงานนี้ แผนภูมิสำหรับรายงานกลุ่มประชากรตามรุ่นนี้จะปรากฏขึ้นตามมา ข้อมูลเชิงลึกจากรายงานนี้คือผู้ใช้ที่ใช้งานอยู่ลดลงมากที่สุดของกลุ่มประชากรตามรุ่นกลุ่มนี้ระหว่างวันแรกกับวันที่ 2

การแสดงภาพผู้ใช้ของกลุ่มประชากรตามรุ่นเมื่อเวลาผ่านไป

กลุ่มประชากรตามรุ่นหลายกลุ่มและเศษส่วนการคงผู้ใช้ไว้

การได้ผู้ใช้ใหม่และการคงผู้ใช้ไว้คือวิธีขยายเว็บไซต์หรือแอป รายงานกลุ่มประชากรตามรุ่นจะมุ่งเน้นที่การคงผู้ใช้ไว้ ในตัวอย่างนี้ รายงานแสดงให้เห็นว่าพร็อพเพอร์ตี้นี้ปรับปรุงการคงผู้ใช้ไว้ 4 วันได้ 10% ในช่วง 2 สัปดาห์

ในการสร้างรายงานนี้ เราระบุกลุ่มประชากรตามรุ่น 3 กลุ่ม กลุ่มแรกมี firstSessionDate เป็น 2020-11-02 กลุ่มที่ 2 มี firstSessionDate เป็น 2020-11-09 และอีกกลุ่มมี firstSessionDate เป็น 2020-11-16 เนื่องจากจำนวนผู้ใช้ในพร็อพเพอร์ตี้จะแตกต่างกันในช่วง 3 วันนี้ เราจึงเปรียบเทียบเมตริกเศษส่วนการคงผู้ใช้ไว้ของกลุ่มประชากรตามรุ่นของ cohortActiveUsers/cohortTotalUsers แทนการใช้เมตริก cohortActiveUsers โดยตรง

คำขอรายงานสำหรับกลุ่มประชากรตามรุ่นเหล่านี้คือ

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
}

จากการตอบกลับรายงานนี้ แผนภูมิสำหรับรายงานกลุ่มประชากรตามรุ่นนี้จะปรากฏขึ้นตามมา ข้อมูลเชิงลึกจากรายงานนี้คือ การคงผู้ใช้ไว้ 4 วันเพิ่มขึ้น 10% ในระยะเวลา 2 สัปดาห์ กลุ่มประชากรตามรุ่นช่วงหลังที่มี firstSessionDate จาก 2020-11-16 กลุ่มนั้นเป็นสมาชิกกลุ่มประชากรตามรุ่นก่อนหน้านี้ที่มี firstSessionDate เป็นจำนวน 2020-11-02 กลุ่มขึ้นไป

แผนภูมิแสดงการคงกลุ่มประชากรตามรุ่นหลายกลุ่ม

กลุ่มประชากรตามรุ่นรายสัปดาห์และการใช้กลุ่มประชากรตามรุ่นโดยใช้ฟีเจอร์อื่นๆ ของ API

หากต้องการนําความแปรปรวนของพฤติกรรมผู้ใช้ในแต่ละวันออก ให้ใช้กลุ่มประชากรตามรุ่นรายสัปดาห์ ในรายงานกลุ่มประชากรตามรุ่นรายสัปดาห์ ผู้ใช้ทั้งหมดที่มี firstSessionDate ในสัปดาห์เดียวกันจะเป็นกลุ่มประชากรตามรุ่น สัปดาห์จะเริ่มต้นในวันอาทิตย์และสิ้นสุดในวันเสาร์ นอกจากนี้ ในรายงานนี้ เรายังได้แบ่งกลุ่มประชากรตามรุ่นเพื่อเปรียบเทียบผู้ใช้ที่มีกิจกรรมในรัสเซียกับผู้ใช้ที่มีกิจกรรมในเม็กซิโกด้วย การแบ่งส่วนนี้ใช้มิติข้อมูล country และ dimensionFilter เพื่อพิจารณาเพียง 2 ประเทศ

คำขอรายงานสำหรับกลุ่มประชากรตามรุ่นเหล่านี้คือ

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
}

จากการตอบกลับรายงานนี้ คุณจะเห็นแผนภูมิของรายงานกลุ่มประชากรตามรุ่นนี้ จากรายงานนี้ พร็อพเพอร์ตี้นี้สามารถคงผู้ใช้ที่มีกิจกรรมในเม็กซิโกได้ดีกว่าผู้ใช้ที่มีกิจกรรมในรัสเซีย

แผนภูมิของกลุ่มประชากรตามรุ่นเปรียบเทียบประเทศ