เอกสารนี้ให้ข้อมูลอ้างอิงที่สมบูรณ์สำหรับทั้งคำค้นหาและคำตอบสำหรับ API การรายงาน Funnel หลากหลายแชแนล
เกริ่นนำ
API การรายงาน Funnel หลากหลายแชแนลช่วยให้คุณขอข้อมูลรายงาน Funnel หลากหลายแชแนลของ Google Analytics ได้ ทุกรายงานประกอบด้วยสถิติที่ได้มาจากข้อมูลที่โค้ดติดตามส่งกลับมายัง Analytics โดยจัดระเบียบเป็นมิติข้อมูลและเมตริก เมื่อเลือกชุดค่าผสมของมิติข้อมูลและเมตริกของคุณเอง คุณจะใช้ API การรายงานเพื่อสร้างรายงานที่ปรับแต่งให้ตรงกับข้อกำหนดของคุณเองได้
API มีวิธีเดียวที่ขอข้อมูลรายงาน: report.get ด้วยวิธีการนี้ คุณจะระบุรหัสตารางที่สอดคล้องกับข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) ที่คุณต้องการดึงข้อมูล นอกจากนี้ คุณยังต้องระบุสิ่งต่อไปนี้ด้วย
- ชุดค่าผสมของมิติข้อมูลและเมตริก
- ช่วงวันที่
- ชุดพารามิเตอร์ตัวเลือกที่ควบคุมข้อมูลที่จะแสดงผล
API ทำให้เมธอด report.get ใช้งานได้ที่ปลายทาง REST: https://www.googleapis.com/analytics/v3/data/mcf ส่วนต่อไปนี้แสดงตัวอย่างคำขอและอธิบายพารามิเตอร์แต่ละรายการ
ส่งคำขอ
API มีวิธีเดียวในการขอข้อมูล ดังนี้
analytics.data.mcf.get()
นอกจากนี้ ยังค้นหา API เป็นปลายทาง REST ได้ด้วย
Authorization: Bearer {oauth2-token} GET https://www.googleapis.com/analytics/v3/data/mcf ?ids=ga:12345 &metrics=mcf:totalConversions,mcf:totalConversionValue &start-date=2011-10-01 &end-date=2011-10-31
พารามิเตอร์การค้นหาของ URL แต่ละรายการจะระบุพารามิเตอร์การค้นหาของ API ที่ต้องเป็นการเข้ารหัส URL
คำขอทั้งหมดที่ส่งไปยัง API การรายงาน Funnel หลากหลายแชแนลจะต้องได้รับสิทธิ์ผ่าน OAuth 2.0
สรุปพารามิเตอร์การค้นหา
ตารางต่อไปนี้สรุปพารามิเตอร์การค้นหาทั้งหมดที่ API การรายงาน Funnel หลากหลายแชแนลยอมรับ คลิกชื่อพารามิเตอร์แต่ละรายการเพื่อดูคำอธิบายโดยละเอียด
ชื่อ | ค่า | จำเป็น | สรุป |
---|---|---|---|
ids |
string |
ใช่ | รหัสตารางที่ไม่ซ้ำของแบบฟอร์ม ga:XXXX โดยที่ XXXX คือรหัสข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) Analytics ที่การค้นหาจะเรียกข้อมูล |
start-date |
string |
ใช่ |
วันที่เริ่มต้นการดึงข้อมูล Analytics คำขออาจระบุวันที่เริ่มต้นในรูปแบบ YYYY-MM-DD หรือเป็นวันที่สัมพัทธ์ (เช่น today , yesterday หรือ NdaysAgo โดยที่ N เป็นจำนวนเต็มบวก)
|
end-date |
string |
ใช่ |
วันที่สิ้นสุดการดึงข้อมูล Analytics คําขออาจระบุวันที่สิ้นสุดในรูปแบบ YYYY-MM-DD หรือเป็นวันที่สัมพัทธ์ (เช่น
today , yesterday หรือ NdaysAgo
โดยที่ N เป็นจำนวนเต็มบวก)
|
metrics |
string |
ใช่ | รายการเมตริกที่คั่นด้วยคอมมา เช่น mcf:totalConversions,mcf:totalConversionValue
คำค้นหาที่ถูกต้องต้องระบุเมตริกอย่างน้อย 1 รายการ |
dimensions |
string |
ไม่ | รายการมิติข้อมูลที่คั่นด้วยคอมมาสำหรับรายงาน Funnel หลากหลายแชแนล เช่น mcf:source,mcf:keyword |
sort |
string |
ไม่ | รายการมิติข้อมูลและเมตริกที่คั่นด้วยคอมมาที่ระบุลำดับการจัดเรียงและทิศทางการจัดเรียงสำหรับข้อมูลที่แสดงผล |
filters |
string |
ไม่ | ตัวกรองมิติข้อมูลหรือเมตริกที่จํากัดข้อมูลที่แสดงผลสําหรับคําขอของคุณ |
samplingLevel |
string |
ไม่ | ระดับการสุ่มตัวอย่างที่ต้องการ ค่าที่อนุญาตมีดังนี้
|
start-index |
integer |
ไม่ | แถวแรกของข้อมูลที่จะดึง โดยเริ่มต้นที่ 1
ใช้พารามิเตอร์นี้เป็นกลไกการใส่เลขหน้าร่วมกับพารามิเตอร์ max-results |
max-results |
integer |
ไม่ | จำนวนแถวสูงสุดที่จะรวมในคำตอบ |
รายละเอียดพารามิเตอร์การค้นหา
ids
ids=ga:12345
ga:
กับรหัสข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) ของรายงาน คุณเรียกดูรหัสข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) ของรายงานได้โดยใช้เมธอด analytics.management.profiles.list
ซึ่งให้ id
ในแหล่งข้อมูลข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) ใน
Google Analytics Management API
วันที่เริ่มต้น
start-date=2011-10-01
start-date
และ end-date
ในคำขอ เซิร์ฟเวอร์จะแสดงข้อผิดพลาด
คุณจะป้อนค่าวันที่สำหรับวันที่ที่ระบุได้โดยใช้รูปแบบ YYYY-MM-DD
หรือแบบสัมพัทธ์โดยใช้ today
, yesterday
หรือรูปแบบ NdaysAgo
ค่าต้องตรงกับ [0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)
start-date
ที่ถูกต้องเร็วที่สุดคือ 2011-01-01
ไม่มีข้อจำกัดสูงสุดสำหรับ start-date
ตัวอย่างช่วงวันที่สำหรับ 7 วันที่ผ่านมา (เริ่มตั้งแต่เมื่อวาน) ที่ใช้วันที่สัมพัทธ์
&start-date=7daysAgo &end-date=yesterday
วันที่สิ้นสุด
end-date=2011-10-31
start-date
และ end-date
ในคำขอ เซิร์ฟเวอร์จะแสดงข้อผิดพลาด
คุณจะป้อนค่าวันที่สำหรับวันที่ที่ระบุได้โดยใช้รูปแบบ YYYY-MM-DD
หรือแบบสัมพัทธ์โดยใช้ today
, yesterday
หรือรูปแบบ NdaysAgo
ค่าต้องตรงกับ [0-9]{4}-[0-9]{2}-[0-9]{2}|today|yesterday|[0-9]+(daysAgo)
end-date
ที่ถูกต้องเร็วที่สุดคือ 2005-01-01
ไม่มีข้อจำกัดสูงสุดสำหรับ end-date
ตัวอย่างช่วงวันที่สำหรับ 10 วันที่ผ่านมา (เริ่มต้นวันนี้) ที่ใช้วันที่สัมพัทธ์
&start-date=9daysAgo &end-date=today
ขนาด
dimensions=mcf:source,mcf:keyword
พารามิเตอร์มิติข้อมูลจะกำหนดคีย์ข้อมูลหลักสำหรับรายงาน Funnel หลากหลายแชแนล เช่น mcf:source
หรือ mcf:medium
ใช้มิติข้อมูลเพื่อแบ่งกลุ่มเมตริก Conversion ของคุณ ตัวอย่างเช่น แม้ว่าคุณจะขอจำนวน Conversion ทั้งหมดในเว็บไซต์ได้ แต่การขอดูจำนวน Conversion ที่แบ่งกลุ่มตามสื่ออาจน่าสนใจกว่า
ในกรณีนี้ คุณจะเห็นจำนวน Conversion จากการค้นหาทั่วไป การอ้างอิง อีเมล ฯลฯ
เมื่อใช้ dimensions
ในคำขอข้อมูล โปรดระมัดระวังข้อจำกัดต่อไปนี้
- คุณสามารถระบุมิติข้อมูลได้สูงสุด 7 รายการในคำค้นหาใดๆ
- คุณไม่ส่งคำค้นหาที่ประกอบด้วยมิติข้อมูลอย่างเดียวได้ โดยต้องรวมมิติข้อมูลที่ขอกับเมตริกอย่างน้อย 1 รายการ
ค่าที่ไม่พร้อมใช้งาน
เมื่อระบุค่าของมิติข้อมูลไม่ได้ Analytics จะใช้สตริงพิเศษ (not set)
metrics
metrics=mcf:totalConversions,mcf:totalConversionValue
สถิติรวมสำหรับกิจกรรมของผู้ใช้ในเว็บไซต์ของคุณ เช่น จำนวน Conversion ทั้งหมดหรือมูลค่า Conversion ทั้งหมด
หากการค้นหาไม่มีพารามิเตอร์ dimensions
เมตริกที่แสดงผลจะแสดงมูลค่ารวมสำหรับช่วงวันที่ที่ขอ เช่น มูลค่า Conversion ทั้งหมดโดยรวม อย่างไรก็ตาม เมื่อมีการขอมิติข้อมูล ระบบจะแบ่งกลุ่มค่าตามค่ามิติข้อมูล
ตัวอย่างเช่น mcf:totalConversions
ที่ขอด้วย mcf:source
จะแสดงผล Conversion ทั้งหมดต่อแหล่งที่มา
ข้อควรทราบเมื่อขอเมตริกมีดังนี้
- คำขอใดก็ตามต้องมีเมตริกอย่างน้อย 1 รายการ โดยคำขอต้องไม่มีเฉพาะมิติข้อมูล
- คุณสามารถระบุเมตริกสำหรับการค้นหาได้สูงสุด 10 รายการ
จัดเรียง
sort=mcf:source,mcf:medium
รายการเมตริกและมิติข้อมูลที่ระบุลำดับการจัดเรียงและทิศทางการจัดเรียงสำหรับข้อมูลที่แสดงผล
- การจัดเรียงลำดับจะระบุตามลำดับจากซ้ายไปขวาของเมตริกและมิติข้อมูลที่แสดงอยู่
- directionการจัดเรียงจะมีค่าเริ่มต้นเป็นจากน้อยไปมาก และเปลี่ยนให้เป็นมากไปน้อยได้โดยใช้เครื่องหมายลบ (
-
) นำหน้าในช่องที่ขอ
การจัดเรียงผลการค้นหาจะช่วยให้คุณถามคำถามต่างๆ เกี่ยวกับข้อมูลของคุณได้ เช่น ตอบคำถามที่ว่า "แหล่งที่มาของ Conversion ยอดนิยมของฉันคืออะไร และผ่านสื่อใด"
คุณสามารถสร้างการค้นหาด้วยพารามิเตอร์ต่อไปนี้ โดยจะจัดเรียงตาม mcf:source
ก่อน แล้วจึงจัดเรียงตาม mcf:medium
โดยเรียงลำดับจากน้อยไปหามากดังนี้
sort=mcf:source,mcf:medium
หากต้องการตอบคำถามที่เกี่ยวข้อง "สื่อ Conversion ยอดนิยมของฉันและแหล่งที่มาใด" โปรดทําการค้นหาด้วยพารามิเตอร์ต่อไปนี้ โดยจะจัดเรียงตาม mcf:medium
ก่อน แล้วจึงจัดเรียงตาม mcf:source
โดยเรียงลำดับจากน้อยไปหามากดังนี้
sort=mcf:medium,mcf:source
โปรดคำนึงถึงสิ่งต่อไปนี้เมื่อใช้พารามิเตอร์ sort
- จัดเรียงตามค่ามิติข้อมูลหรือค่าเมตริกที่คุณใช้ในพารามิเตอร์
dimensions
หรือmetrics
เท่านั้น หากคำขอจัดเรียงในช่องที่ไม่ได้ระบุไว้ในพารามิเตอร์มิติข้อมูลหรือเมตริก คุณจะได้รับข้อผิดพลาด - โดยค่าเริ่มต้น สตริงจะจัดเรียงตามลำดับตัวอักษรจากน้อยไปมากในภาษาen-US
- ตามค่าเริ่มต้น ระบบจะจัดเรียงตัวเลขจากน้อยไปหามาก
- วันที่จะเรียงลำดับจากน้อยไปหามากตามวันที่โดยค่าเริ่มต้น
ตัวกรอง
filters=mcf:medium%3D%3Dreferral
พารามิเตอร์สตริงคำค้นหา filters
จะจำกัดข้อมูลที่แสดงผลจากคำขอของคุณ หากต้องการใช้พารามิเตอร์ filters
ให้ระบุมิติข้อมูลหรือเมตริกที่ต้องการกรอง ตามด้วยนิพจน์ตัวกรอง เช่น การค้นหาต่อไปนี้จะส่งคำขอ mcf:totalConversions
และ mcf:source
สำหรับข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) 12134
โดยที่มิติข้อมูล mcf:medium
เป็นสตริง referral
https://www.googleapis.com/analytics/v3/data/mcf ?ids=mcf:12134 &dimensions=mcf:source &metrics=mcf:totalConversions &filters=mcf:medium%3D%3Dreferral &start-date=2011-10-01 &end-date=2011-10-31
อ่านรายละเอียดได้ที่ เอกสารอ้างอิง Core Reporting API
samplingLevel
samplingLevel=DEFAULT
DEFAULT
— แสดงผลคำตอบที่มีขนาดตัวอย่างซึ่งรักษาสมดุลระหว่างความเร็วกับความแม่นยำFASTER
— แสดงผลการตอบสนองอย่างรวดเร็วในขนาดการสุ่มตัวอย่างที่เล็กลงHIGHER_PRECISION
— แสดงผลคำตอบที่แม่นยำยิ่งขึ้นโดยใช้ขนาดตัวอย่างขนาดใหญ่ แต่อาจส่งผลให้การตอบสนองช้าลง
DEFAULT
max-results
max-results=100
จำนวนแถวสูงสุดที่จะรวมในการตอบกลับนี้ คุณใช้ค่านี้ร่วมกับ start-index
เพื่อเรียกข้อมูลชุดย่อยขององค์ประกอบได้ หรือใช้อย่างเดียวเพื่อจำกัดจำนวนองค์ประกอบที่แสดงผลโดยเริ่มจากรายการแรก
หากไม่ระบุ max-results
การค้นหาจะแสดงแถวสูงสุด 1, 000 แถวโดยค่าเริ่มต้น
API การรายงานช่องทางหลากหลายแชแนลจะส่งกลับแถวสูงสุด 10,000 แถวต่อคำขอ ไม่ว่าคุณจะขอกี่แถวก็ตาม นอกจากนี้ ยังอาจแสดงผลแถวน้อยกว่าที่ขอด้วย หากไม่มีกลุ่มมิติข้อมูลมากเท่ากับที่คาดไว้ ตัวอย่างเช่น ค่าที่เป็นไปได้สำหรับ mcf:medium
มีค่าน้อยกว่า 300 ค่า ดังนั้นเมื่อแบ่งกลุ่มตามสื่อเท่านั้น จะมีแถวได้ไม่เกิน 300 แถว แม้ว่าคุณจะตั้งค่า max-results
เป็นค่าที่สูงกว่าก็ตาม
คำตอบ
หากสำเร็จ คำขอนี้จะแสดงผลเนื้อหาการตอบกลับที่มีโครงสร้าง JSON ตามที่ระบุไว้ด้านล่าง
หมายเหตุ: คำว่า "ผลลัพธ์" หมายถึงแถวทั้งชุดที่ตรงกับคำค้นหา ส่วน "response" หมายถึงชุดแถวที่แสดงในหน้าปัจจุบันของผลการค้นหา และอาจแตกต่างกันหากจำนวนผลลัพธ์ทั้งหมดมากกว่าขนาดหน้าเว็บสำหรับคำตอบปัจจุบัน ตามที่อธิบายไว้ใน itemsPerPage
รูปแบบคำตอบ
{
"kind": "analytics#mcfData",
"id": string,
"query": {
"start-date": string,
"end-date": string,
"ids": string,
"dimensions": [
string
],
"metrics": [
string
],
"sort": [
string
],
"filters": string,
"samplingLevel": string,
"start-index": integer,
"max-results": integer
},
"itemsPerPage": integer,
"totalResults": integer,
"selfLink": string,
"previousLink": string,
"nextLink": string,
"profileInfo": {
"profileId": string,
"accountId": string,
"webPropertyId": string,
"internalWebPropertyId": string,
"profileName": string,
"tableId": string
},
"containsSampledData": boolean,
"sampleSize": string,
"sampleSpace": string,
"columnHeaders": [
{
"name": string,
"columnType": string,
"dataType": string
}
],
"totalsForAllResults": [
{
metricName: string,
...
}
]
"rows": [
[
McfData.Rows
]
],
}
ช่องคำตอบ
สมบัติของโครงสร้างโครงสร้างการตอบสนองมีดังนี้
ชื่อพร็อพเพอร์ตี้ | ค่า | คำอธิบาย |
---|---|---|
kind |
string |
ประเภททรัพยากร ค่าคือ "analytics#mcfData" |
id |
string |
รหัสสำหรับการตอบกลับข้อมูลนี้ |
query |
object |
ออบเจ็กต์นี้มีค่าทั้งหมดที่ส่งผ่านเป็นพารามิเตอร์ไปยังการค้นหา ความหมายของแต่ละช่องอธิบายอยู่ในคำอธิบายของพารามิเตอร์การค้นหาที่เกี่ยวข้อง |
query.start-date |
string |
วันที่เริ่มต้น |
query.end-date |
string |
วันที่สิ้นสุด |
query.ids |
string |
รหัสตารางที่ไม่ซ้ำกัน |
query.dimensions[] |
list |
รายการมิติข้อมูลการวิเคราะห์ |
query.metrics[] |
list |
รายการเมตริกข้อมูลวิเคราะห์ |
query.sort[] |
list |
รายการเมตริกหรือมิติข้อมูลที่จัดเรียงข้อมูล |
query.filters |
string |
รายการเมตริกหรือตัวกรองมิติข้อมูลที่คั่นด้วยคอมมา |
query.samplingLevel |
string |
Requested sampling level. |
query.start-index |
integer |
ดัชนีเริ่มต้นของแถว ค่าเริ่มต้นคือ 1 |
query.max-results |
integer |
ผลลัพธ์สูงสุดต่อหน้า |
startIndex |
integer |
ดัชนีเริ่มต้นของแถวที่ระบุโดยพารามิเตอร์การค้นหา start-index ค่าเริ่มต้นคือ 1 |
itemsPerPage |
integer |
จำนวนแถวสูงสุดที่การตอบกลับมีได้ โดยไม่คำนึงถึงจำนวนแถวที่แสดงผลจริง หากระบุพารามิเตอร์การค้นหา max-results ไว้ ค่าของ itemsPerPage จะน้อยกว่า max-results หรือ 10,000 ค่าเริ่มต้นของ itemsPerPage คือ 1,000
|
totalResults |
integer |
จำนวนแถวทั้งหมดในผลการค้นหา โดยไม่คำนึงถึงจำนวนแถวที่แสดงในคำตอบ สำหรับการค้นหาที่ส่งผลให้เกิดแถวจำนวนมาก totalResults อาจมากกว่า itemsPerPage ได้
ดูคำอธิบายเพิ่มเติมของ totalResults และ itemsPerPage สำหรับคำค้นหาขนาดใหญ่ได้ในการแบ่งหน้า
|
selfLink |
string |
ลิงก์ไปที่หน้านี้ของผลการค้นหาสำหรับการค้นหาข้อมูลนี้ |
previousLink |
string |
ลิงก์ไปยังหน้าก่อนหน้าของผลการค้นหาสำหรับการค้นหาข้อมูลนี้ |
nextLink |
string |
ลิงก์ไปยังหน้าถัดไปของผลการค้นหาสำหรับการค้นหาข้อมูลนี้ |
profileInfo |
object |
ข้อมูลเกี่ยวกับข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) ที่มีการขอข้อมูล ดูข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) ได้ผ่าน Google Analytics Management API |
profileInfo.profileId |
string |
รหัส (โปรไฟล์) เช่น 1174 |
profileInfo.accountId |
string |
รหัสบัญชีของข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) นี้ เช่น 30481 |
profileInfo.webPropertyId |
string |
รหัสเว็บพร็อพเพอร์ตี้ที่เป็นเจ้าของข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) นี้ เช่น UA-30481-1 |
profileInfo.internalWebPropertyId |
string |
รหัสภายในสำหรับเว็บพร็อพเพอร์ตี้ที่เป็นเจ้าของข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) นี้ เช่น UA-30481-1 |
profileInfo.profileName |
string |
ชื่อของข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) |
profileInfo.tableId |
string |
รหัสตารางของข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) ซึ่งประกอบด้วย "ga:" ตามด้วยรหัสข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) |
containsSampledData |
boolean |
เป็นจริงหากการตอบกลับมีข้อมูลตัวอย่าง |
sampleSize |
string |
จำนวนตัวอย่างที่ใช้ในการคำนวณข้อมูลจากการสุ่มตัวอย่าง |
sampleSpace |
string |
ขนาดพื้นที่การสุ่มตัวอย่างทั้งหมด ข้อมูลนี้ระบุขนาดพื้นที่ตัวอย่างทั้งหมดซึ่งมีการเลือกตัวอย่าง |
columnHeaders[] |
list |
ส่วนหัวคอลัมน์ที่แสดงชื่อมิติข้อมูลตามด้วยชื่อเมตริก ลำดับของมิติข้อมูลและเมตริกเหมือนกับที่ระบุไว้ในคำขอผ่านพารามิเตอร์ metrics และ dimensions จำนวนส่วนหัวคือจำนวนมิติข้อมูล + จำนวนเมตริก |
columnHeaders[].name |
string |
ชื่อของมิติข้อมูลหรือเมตริก |
columnHeaders[].columnType |
string |
ประเภทคอลัมน์ "DIMENSION" หรือ "METRIC" |
columnHeaders[].dataType |
string |
ประเภทข้อมูล ส่วนหัวคอลัมน์มิติข้อมูลมีประเภทข้อมูลเพียง "STRING" หรือ "MCF_SEQUENCE" เท่านั้น
ส่วนหัวของคอลัมน์เมตริกมีประเภทข้อมูลสำหรับค่าเมตริก เช่น "INTEGER" , "DOUBLE" , "CURRENCY" ฯลฯ |
totalsForAllResults |
object |
ค่ารวมสำหรับเมตริกที่ขอในรูปแบบคู่คีย์-ค่าของชื่อและค่าเมตริก ลำดับของผลรวมของเมตริกจะเหมือนกับลำดับเมตริกที่ระบุไว้ในคำขอ |
rows[] |
list |
แถวข้อมูลรายงาน ซึ่งแต่ละแถวจะมีรายการออบเจ็กต์ ออบเจ็กต์
{ "primitiveValue": "2183" }
{ "conversionPathValue": [ { "interactionType" : "CLICK", "nodeValue" : "google" }, { "interactionType" : "CLICK", "nodeValue" : "google" } ] } |
รหัสข้อผิดพลาด
API การรายงานช่องทางหลากหลายแชแนลจะแสดงรหัสสถานะ HTTP 200
หากคำขอสำเร็จ หากเกิดข้อผิดพลาดระหว่างการประมวลผลการค้นหา API จะแสดงผลรหัสข้อผิดพลาดและคำอธิบาย
แต่ละแอปพลิเคชันที่ใช้ Analytics API จะต้องใช้ตรรกะการจัดการข้อผิดพลาดที่เหมาะสม อ่านรายละเอียดเกี่ยวกับรหัสข้อผิดพลาดและวิธีจัดการได้ใน
คู่มืออ้างอิงสำหรับการตอบกลับข้อผิดพลาด
ลองใช้เลย
ใช้ API Explorer ด้านล่างเพื่อเรียกใช้เมธอดนี้ในข้อมูลสดและดูการตอบสนอง
ทดสอบผลิตภัณฑ์
Google Analytics จะคำนวณชุดค่าผสมของมิติข้อมูลและเมตริกบางอย่างทันที หากต้องการให้ส่งคืนข้อมูลภายในเวลาที่เหมาะสม Google Analytics อาจประมวลผลเฉพาะข้อมูลตัวอย่างเท่านั้น
คุณระบุระดับการสุ่มตัวอย่างที่จะใช้สำหรับคำขอได้โดยการตั้งค่าพารามิเตอร์ samplingLevel
หากการตอบกลับ MCF Reporting API มีข้อมูลที่สุ่มตัวอย่าง ช่องการตอบกลับ containsSampledData
จะเป็น true
นอกจากนี้ พร็อพเพอร์ตี้ 2 รายการจะให้ข้อมูลเกี่ยวกับระดับการสุ่มตัวอย่างสำหรับการค้นหา ได้แก่ sampleSize
และ sampleSpace
ด้วย 2 ค่านี้ คุณจะคำนวณเปอร์เซ็นต์ของเซสชันที่ใช้สำหรับการค้นหาได้ ตัวอย่างเช่น หาก sampleSize
คือ 201,000
และ sampleSpace
คือ 220,000
รายงานจะอิงตาม (201,000 / 220,000) * 100 = 91.36% ของเซสชัน
ดูการสุ่มตัวอย่างสำหรับคำอธิบายทั่วไปของการสุ่มตัวอย่างและวิธีนำไปใช้ใน Google Analytics
การจัดการผลลัพธ์ของข้อมูลขนาดใหญ่
หากต้องการให้การค้นหาแสดงผลชุดผลลัพธ์ขนาดใหญ่ ให้ใช้หลักเกณฑ์ด้านล่างเพื่อช่วยเพิ่มประสิทธิภาพการค้นหา API, หลีกเลี่ยงข้อผิดพลาด และลดการใช้งานเกินโควต้า โปรดทราบว่าเรากำหนดพื้นฐานประสิทธิภาพโดยอนุญาตให้มีมิติข้อมูลสูงสุด 7 รายการและเมตริก 10 รายการในคําขอ API 1 รายการ แม้ว่าการค้นหาบางรายการที่ระบุเมตริกและมิติข้อมูลจำนวนมากอาจใช้เวลาประมวลผลนานกว่าการค้นหาอื่นๆ แต่การจำกัดจำนวนเมตริกที่ขออาจไม่เพียงพอที่จะปรับปรุงประสิทธิภาพการค้นหา แต่คุณใช้เทคนิคต่อไปนี้เพื่อผลลัพธ์ด้านประสิทธิภาพที่ดีที่สุดได้
การลดมิติข้อมูลต่อการค้นหา
API ช่วยให้ระบุมิติข้อมูลได้สูงสุด 7 รายการในคำขอเดียว Google Analytics ต้องคํานวณผลลัพธ์ของการค้นหาที่ซับซ้อนเหล่านี้แบบเรียลไทม์หลายครั้ง ซึ่งอาจใช้เวลามากเป็นพิเศษหากแถวผลลัพธ์มีจำนวนมาก ตัวอย่างเช่น การค้นหาคีย์เวิร์ดตามเมืองต่อชั่วโมงอาจตรงกับข้อมูลหลายล้านแถว คุณปรับปรุงประสิทธิภาพได้ด้วยการลดจำนวนแถวที่ Google Analytics ต้องประมวลผลโดยการจำกัดจำนวนมิติข้อมูลในการค้นหา
การแยกข้อความค้นหาตามช่วงวันที่
ลองสร้างการค้นหาแยกกันเป็นเวลา 1 สัปดาห์หรือครั้งละ 1 วัน แทนที่จะเปิดดูผลการค้นหาที่อิงตามวันที่ในช่วงวันที่ยาวๆ เพียงช่วงเดียว แน่นอนว่าสำหรับชุดข้อมูลขนาดใหญ่ แม้แต่คำขอข้อมูลของวันเดียวก็อาจแสดงผลมากกว่า max-results
ซึ่งในกรณีนี้คุณจะหลีกเลี่ยงการแบ่งหน้าไม่ได้ แต่ไม่ว่าในกรณีใด หากจำนวนแถวที่ตรงกับคำค้นหาของคุณสูงกว่า max-results
การแยกช่วงวันที่อาจลดเวลารวมในการดึงข้อมูลผลลัพธ์ แนวทางนี้ช่วยปรับปรุงประสิทธิภาพได้ทั้งในการค้นหาแบบชุดข้อความเดี่ยวและคู่ขนาน
การกำหนดหน้า
การแบ่งหน้าผ่านผลลัพธ์อาจเป็นวิธีที่มีประโยชน์ในการแบ่งชุดผลลัพธ์ขนาดใหญ่ออกเป็นส่วนๆ ที่จัดการได้ ช่อง totalResults
จะบอกจำนวนแถวที่ตรงกัน และ itemsPerPage
ให้จำนวนแถวสูงสุดที่แสดงผลในผลลัพธ์ได้
หากมีอัตราส่วน totalResults
ต่อ itemsPerPage
สูง การค้นหาแต่ละรายการอาจใช้เวลานานกว่าที่จำเป็น หากต้องการแถวในจำนวนที่จำกัด เช่น เพื่อการแสดงผล คุณอาจสะดวกที่จะตั้งขีดจำกัดที่ชัดเจนเกี่ยวกับขนาดคำตอบผ่านพารามิเตอร์ max-results
อย่างไรก็ตาม หากแอปพลิเคชันต้องประมวลผลผลลัพธ์จำนวนมากทั้งหมด การขอจำนวนแถวสูงสุดที่อนุญาตอาจมีประสิทธิภาพมากกว่า
การใช้ gzip
วิธีที่ง่ายและสะดวกในการลดแบนด์วิดท์ที่ต้องใช้สำหรับแต่ละคำขอคือการเปิดใช้การบีบอัด gzip แม้ว่าการดำเนินการนี้จะต้องใช้เวลา CPU เพิ่มเติมในการยกเลิกการบีบอัดผลลัพธ์ แต่การแลกกับค่าใช้จ่ายของเครือข่ายมักทำให้คุ้มค่ามาก หากต้องการได้รับการตอบกลับที่เข้ารหัสด้วย gzip คุณต้องทำ 2 อย่าง ได้แก่ ตั้งค่าส่วนหัว Accept-Encoding
และแก้ไข User Agent ให้มีสตริง gzip
ต่อไปนี้คือตัวอย่างของส่วนหัว HTTP ที่มีรูปแบบถูกต้องสำหรับการเปิดใช้การบีบอัด gzip
Accept-Encoding: gzip User-Agent: my program (gzip)