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

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

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

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

ภาพรวม

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

  1. การค้นหาแบบครั้งเดียว: ถามคำถามวิเคราะห์ทันที (เช่น "ช่องทางการเข้าชมยอดนิยมของเราเมื่อสัปดาห์ที่แล้วคืออะไร") และรับคำตอบเป็นภาษาธรรมชาติพร้อมตารางข้อมูลที่มีโครงสร้าง
  2. การสนทนาแบบหลายครั้ง: ส่ง sessionId เพื่อเก็บประวัติการสนทนาและถามคำถามติดตามผลเพื่อการวินิจฉัย (เช่น "เหตุใดการเข้าชมจากการค้นหาทั่วไปจึงลดลงในช่วงเวลานั้น")
  3. การตอบกลับข้อมูลที่มีโครงสร้าง: นอกเหนือจากคำอธิบายที่เป็นข้อความแล้ว การตอบกลับ ยังมีบล็อก table ที่มีโครงสร้างพร้อมส่วนหัวและแถวของคอลัมน์
  4. การตรวจสอบโควต้าการแชท: ตรวจสอบโควต้าโทเค็นการแชทที่เหลือต่อวันและต่อชั่วโมงโดยตั้งค่า 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 Agent สามารถเรียกใช้เมธอด chat ด้วยความตั้งใจที่เป็นภาษาธรรมชาติได้
  • Agent จะได้รับสรุปที่มีความถูกต้องสูงและตารางที่มีโครงสร้างเพื่อสังเคราะห์เป็นคำแนะนำด้านการตลาดหลากหลายแชแนล

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

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

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

ขั้นตอนถัดไป