การใช้ Ask Advisor ใน Google Analytics เพื่อค้นหาและวิเคราะห์ข้อมูลของคุณโดยอัตโนมัติ

เมธอด chat ของ Data API ให้การเข้าถึงแบบเป็นโปรแกรม ไปยัง Ask Advisor ใน Google Analytics ซึ่งเป็นผู้ช่วยด้านการวิเคราะห์ที่ทำงานด้วยระบบ AI ที่ช่วยคุณ ค้นหา วิเคราะห์ และวินิจฉัยข้อมูล Google Analytics โดยใช้ภาษาง่ายๆ

แม้ว่า Ask Advisor จะพร้อมใช้งานแบบอินเทอร์แอกทีฟภายในอินเทอร์เฟซผู้ใช้ของ Google Analytics แต่ chat API ช่วยให้นักพัฒนาแอป, AI Agent แบบอัตโนมัติ และเครื่องมือภายในโต้ตอบกับ Ask Advisor แบบเป็นโปรแกรมผ่าน HTTP ได้

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

ภาพรวม

เมธอด chat ช่วยให้คุณถามคำถามเกี่ยวกับข้อมูลเฉพาะกิจแบบเทิร์นเดียวและเซสชันการสนทนาแบบหลายเทิร์นได้

  1. คำค้นหาแบบรอบเดียว: ถามคำถามเชิงวิเคราะห์ทันที (เช่น "ช่องทางการเข้าชมยอดนิยมของเราเมื่อสัปดาห์ที่แล้วคืออะไร") และรับคำตอบในภาษาธรรมชาติ พร้อมกับตารางข้อมูลที่มีโครงสร้าง
  2. การสนทนาแบบผ่านการสนทนาไปมา: ส่ง sessionId เพื่อเก็บประวัติการสนทนาและถามคำถามติดตามผลเพื่อการวินิจฉัย (เช่น "ทําไมการเข้าชมจากการค้นหาทั่วไปจึงลดลงในช่วงนั้น")
  3. คำตอบของ Structured Data: นอกเหนือจากคำบรรยายที่เป็นข้อความแล้ว คำตอบยังมีtable บล็อกที่มีส่วนหัวของคอลัมน์และแถว
  4. การตรวจสอบโควต้าของ Chat: ตรวจสอบโควต้าโทเค็นของ Chat ที่เหลือต่อวันและต่อชั่วโมง โดยตั้งค่า returnPropertyQuota เป็น true

การตรวจสอบสิทธิ์

การเรียกใช้เมธอด chat ต้องมีการให้สิทธิ์ OAuth 2.0 ที่มีขอบเขตต่อไปนี้

ก่อนเริ่มต้น

  1. ติดตั้งและเริ่มต้น gcloud CLI

  2. หากต้องการสร้างข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน และให้ขอบเขตที่จำเป็นแก่บัญชี ให้เรียกใช้คำสั่งต่อไปนี้

    gcloud auth application-default login --scopes="https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/analytics.chatbot.read"
    
  3. ในUI ของ Google Analytics ให้สิทธิ์เข้าถึงพร็อพเพอร์ตี้ Google Analytics แก่บัญชีผู้ใช้

  4. กำหนดค่าตัวแปรสภาพแวดล้อมโดยป้อนข้อมูลต่อไปนี้ แทนที่ PROJECT_ID ด้วยรหัส โปรเจ็กต์ และ PROPERTY_ID ด้วยรหัสพร็อพเพอร์ตี้ Google Analytics

      export PROJECT_ID=PROJECT_ID
      export PROPERTY_ID=PROPERTY_ID

ตัวอย่างที่ 1: การค้นหาแบบเทิร์นเดียวที่มีการติดตามโควต้า

หากต้องการเริ่มการสนทนาใหม่ ให้สร้าง ChatRequest ที่มี userQuery ตั้งค่า returnPropertyQuota เป็น true เพื่อตรวจสอบยอดคงเหลือของโทเค็นที่เหลือ

สถานการณ์: รายได้และอัตรา Conversion ตามอุปกรณ์

คุณต้องการเปรียบเทียบรายได้และอัตรา Conversion ของเซสชันในอุปกรณ์ต่างๆ ในช่วง 30 วันที่ผ่านมา

คำขอ HTTP

curl -X POST \
  "https://analyticsdata.googleapis.com/v1alpha/properties/${PROPERTY_ID}:chat" \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "x-goog-user-project: ${PROJECT_ID}" \
  -H "Content-Type: application/json" \
  -d '{
    "userQuery": "Compare our revenue and conversion rate across mobile vs desktop over the last 30 days.",
    "returnPropertyQuota": true
  }'

การตอบสนองของ HTTP

คำตอบประกอบด้วยข้อมูลต่อไปนี้

  • sessionId ที่กำหนดใหม่ซึ่งคุณใช้สำหรับผลัดกันพูดเพื่อติดตามได้
  • รายการblocks ที่มีทั้งสรุปภาษาธรรมชาติ (text) และตารางที่มีโครงสร้าง (table) บล็อกข้อความอาจมีการจัดรูปแบบมาร์กดาวน์ เช่น การทำข้อความเป็นตัวหนา หัวเรื่อง และ ลิงก์
  • รายละเอียดpropertyQuotaของที่พัก
{
  "sessionId": "692e9ab9-b338-4426-b006-a05f21ac7cd6",
  "blocks": [
    {
      "text": "Your report on revenue and conversion rates for mobile vs. desktop over the last 30 days (August 15 - September 13, 2026) is ready.\n\nHere is a summary of your revenue and conversion rate by device category:\n"
    },
   {
      "table": {
        "headers": [
          {
            "header": "Device Category",
            "dataType": "string"
          },
          {
            "header": "Total Revenue",
            "dataType": "string"
          },
          {
            "header": "User Conversion Rate",
            "dataType": "string"
          }
        ],
        "rows": [
          {
            "columns": [
              {
                "value": "Desktop"
              },
              {
                "value": "$17,412.62"
              },
              {
                "value": "99.9%"
              }
            ]
          },
          {
            "columns": [
              {
                "value": "Mobile"
              },
              {
                "value": "$15,309.41"
              },
              {
                "value": "99.46%"
              }
            ]
          }
      }
    },
    {
      "text": "**Revenue and Conversion Rate Trends:**\n\nRevenue from desktop devices saw a peak on August 18th, while mobile revenue peaked on August 30th. Conversion rates remained high and relatively stable for both desktop and mobile throughout the period."
    },
    {
      "text": "This product uses AI and may display inaccurate info. Your chat activity may be used to improve the product and your use is subject to Google's [Terms](https://policies.google.com/terms), [AI Use Policy](https://policies.google.com/terms/generative-ai/use-policy), and [Privacy Policy](https://policies.google.com/privacy). [Learn more about Chat AI Privacy](https://support.google.com/helpguide/answer/14185196)."
    }
  ],
   "propertyQuota": {
    "tokensPerDay": {
      "consumed": 26849,
      "remaining": 3723151
    },
    "tokensPerHour": {
      "consumed": 26849,
      "remaining": 473151
    }
  }
}

ตัวอย่างที่ 2: การวินิจฉัยแบบสนทนาหลายรอบ

หากต้องการถามคำถามต่อเนื่องขณะที่ยังคงบริบทไว้ ให้ใส่ sessionId ที่คำตอบก่อนหน้าส่งกลับมาในคำขอของคุณ

สถานการณ์: เปรียบเทียบกับช่วงเวลาก่อนหน้า

หลังจากเปรียบเทียบอุปกรณ์ก่อนหน้านี้แล้ว คุณขอให้ที่ปรึกษาเปรียบเทียบ ผลลัพธ์กับช่วงเวลาก่อนหน้า

คำขอ HTTP

curl -X POST \
  "https://analyticsdata.googleapis.com/v1alpha/properties/${PROPERTY_ID}:chat" \
  -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
  -H "x-goog-user-project: ${PROJECT_ID}" \
  -H "Content-Type: application/json" \
  -d '{
    "sessionId": "692e9ab9-b338-4426-b006-a05f21ac7cd6",
    "userQuery": "Compare results with the same period in the previous mounth."
  }'

การตอบสนองของ HTTP

Ask Advisor ใช้หน่วยความจำของเซสชันเพื่อเชื่อมโยงผลลัพธ์กับ ช่วงก่อนหน้า

{
  "sessionId": "eb3284b2-49ce-4aed-b6d0-fdc15cb87b5f",
  "blocks": [
    {
      "text": "The following table provides a detailed comparison of total revenue and user conversion rate by device category for the two periods.\n"
    },
    {
      "table": {
        "headers": [
          {
            "header": "Device Category",
            "dataType": "string"
          },
          {
            "header": "Metric",
            "dataType": "string"
          },
          {
            "header": "Jul 16 - Aug 15, 2026",
            "dataType": "string"
          },
          {
            "header": "Aug 16 - Sep 14, 2026",
            "dataType": "string"
          }
        ],
        "rows": [
          {
            "columns": [
              {
                "value": "Desktop"
              },
              {
                "value": "Total Revenue"
              },
              {
                "value": "$17,412.62"
              },
              {
                "value": "$19,565.46"
              }
            ]
          },
          {
            "columns": [
              {
                "value": "Desktop"
              },
              {
                "value": "User Conversion Rate"
              },
              {
                "value": "1.90%"
              },
              {
                "value": "1.95%"
              }
            ]
          },
          {
            "columns": [
              {
                "value": "Mobile"
              },
              {
                "value": "Total Revenue"
              },
              {
                "value": "$13,997.19"
              },
              {
                "value": "$15,309.41"
              }
            ]
          },
          {
            "columns": [
              {
                "value": "Mobile"
              },
              {
                "value": "User Conversion Rate"
              },
              {
                "value": "1.95%"
              },
              {
                "value": "1.99%"
              }
            ]
          }
      }
    }
  ]
}

โครงสร้างการตอบกลับและบล็อกข้อมูล

ออบเจ็กต์ ChatResponse จะแสดงผลคอมโพเนนต์ที่มีโครงสร้างในอาร์เรย์ blocks ดังนี้

ประเภทการบล็อก ช่อง คำอธิบาย
ข้อความบรรยาย blocks[].text คำอธิบายที่มนุษย์อ่านได้และประเด็นสำคัญในการวิเคราะห์ระดับสูง
ตารางที่มีโครงสร้าง blocks[].table รายละเอียดข้อมูลแบบตารางที่มี headers (ชื่อและประเภทข้อมูล) และ rows (ค่าเซลล์)

ประเภทข้อมูลส่วนหัวของตาราง

คอลัมน์ใน blocks[].table.headers อธิบายประเภทข้อมูลเชิงความหมายดังนี้

  • string: ค่าข้อความเชิงหมวดหมู่ (เช่น "desktop", "/shop/apparel")
  • float: ตัวเลขจุดลอยตัว

การจัดการโควต้าแชท

คำขอ Ask Advisor จะใช้โทเค็นแชทตามความซับซ้อนของคำค้นหา สถานะโควต้าปัจจุบันจะแสดงใน propertyQuota เมื่อ returnPropertyQuota เป็น true

  • tokensPerDay: ขีดจำกัดโทเค็นรายวันและยอดคงเหลือ
  • tokensPerHour: การจำกัดอัตราคำขอแบบเลื่อนรายชั่วโมงและยอดคงเหลือ

แอปพลิเคชันการผสานรวมที่แนะนำ

วิธี properties.chat จะช่วยให้ทีมและเครื่องมือต่างๆ ผสานรวมกันได้หลายรูปแบบ ดังนี้

แชทบ็อตและการทำงานร่วมกันขององค์กร

เชื่อมต่อพื้นที่ทํางานของแชทในทีมกับ Google Analytics โดยตรง

  • เซสชันแบบเธรด: จัดเก็บ sessionId เทียบกับรหัสเธรดแชทเพื่อให้สมาชิกในทีมถามคำถามติดตามผลร่วมกันได้
  • การแสดงผล Rich Card: จัดรูปแบบtable บล็อกการตอบกลับเป็นวิดเจ็ตการ์ดแบบอินเทอร์แอกทีฟ

เครื่องมือ AI Agent แบบอัตโนมัติและ Model Context Protocol (MCP)

ติดตั้งเครื่องมือจัดระเบียบ LLM (เช่น Gemini, LangChain หรือ Claude) ด้วย เครื่องมือวิเคราะห์ GA:

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

สรุปสำหรับผู้บริหารและการแจ้งเตือนอัตโนมัติ

สร้างบริการที่กำหนดเวลาไว้ซึ่งจะตรวจสอบความผิดปกติในเชิงรุก

  • งาน Cron รายวันจะค้นหา "สรุปเมตริกประสิทธิภาพหลักของเมื่อวานและ ระบุการลดลงของ Conversion ที่ผิดปกติ"
  • หากพบความผิดปกติ สคริปต์จะทริกเกอร์การค้นหาติดตามผลโดยอัตโนมัติเพื่อ วินิจฉัยสาเหตุหลัก และโพสต์ข้อมูลสรุปไปยังแดชบอร์ดภายในหรือระบบ CRM