เอกสารนี้มีข้อมูลอ้างอิงที่สมบูรณ์สําหรับทั้งการค้นหาและการตอบกลับสําหรับ API การรายงานช่องทางหลากหลายแชแนล
บทนำ
API การรายงานช่องทางหลากหลายแชแนลช่วยให้คุณขอข้อมูลรายงานช่องทางหลากหลายแชแนลของ 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 การรายงานช่องทางหลากหลายแชแนลจะต้องได้รับอนุญาตผ่าน OAuth 2.0
สรุปพารามิเตอร์การค้นหา
ตารางต่อไปนี้สรุปพารามิเตอร์การค้นหาทั้งหมดที่ API การรายงานช่องทางหลากหลายแชแนลยอมรับ คลิกชื่อพารามิเตอร์แต่ละรายการเพื่อดูคําอธิบายโดยละเอียด
ชื่อ | ค่า | จำเป็น | สรุป |
---|---|---|---|
ids |
string |
yes | รหัสตารางที่ไม่ซ้ํากันของแบบฟอร์ม ga:XXXX โดยที่ XXXX คือรหัสข้อมูลพร็อพเพอร์ตี้ (โปรไฟล์) ของ Analytics ที่คําค้นหาจะดึงข้อมูล |
start-date |
string |
yes |
วันที่เริ่มต้นสําหรับการเรียกข้อมูล Analytics คําขอจะระบุวันที่เริ่มต้นที่จัดรูปแบบเป็น YYYY-MM-DD หรือวันที่ที่เกี่ยวข้อง (เช่น today , yesterday หรือ NdaysAgo โดยที่ N เป็นจํานวนเต็มบวก)
|
end-date |
string |
yes |
วันที่สิ้นสุดการดึงข้อมูล Analytics คําขอระบุวันที่สิ้นสุดในรูปแบบ YYYY-MM-DD หรือเป็นวันที่สัมพัทธ์ได้ (เช่น
today , yesterday หรือ NdaysAgo
โดยที่ N เป็นจํานวนเต็มบวก)
|
metrics |
string |
yes | รายการเมตริกที่คั่นด้วยคอมมา เช่น mcf:totalConversions,mcf:totalConversionValue
คําค้นหาที่ถูกต้องต้องระบุเมตริกอย่างน้อย 1 รายการ |
dimensions |
string |
no | รายการมิติข้อมูลที่คั่นด้วยคอมมาสําหรับรายงานช่องทางหลากหลายแชแนล เช่น mcf:source,mcf:keyword |
sort |
string |
no | รายการมิติข้อมูลและเมตริกที่คั่นด้วยคอมมาซึ่งระบุลําดับการจัดเรียงและทิศทางการจัดเรียงสําหรับข้อมูลที่แสดงผล |
filters |
string |
no | ตัวกรองมิติข้อมูลหรือเมตริกที่จํากัดข้อมูลที่ส่งกลับสําหรับคําขอของคุณ |
samplingLevel |
string |
no | ระดับการสุ่มตัวอย่างที่ต้องการ ค่าที่อนุญาตมีดังนี้
|
start-index |
integer |
no | แถวแรกของข้อมูลที่จะเริ่ม เริ่มต้นที่ 1
ใช้พารามิเตอร์นี้เป็นกลไกการใส่เลขหน้าควบคู่กับพารามิเตอร์ max-results |
max-results |
integer |
no | จํานวนแถวสูงสุดที่จะรวมไว้ในคําตอบ |
รายละเอียดพารามิเตอร์การค้นหา
รหัส
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
พารามิเตอร์มิติข้อมูลกําหนดคีย์ข้อมูลหลักสําหรับรายงานช่องทางหลากหลายแชแนล เช่น mcf:source
หรือ mcf:medium
ใช้มิติข้อมูลเพื่อแบ่งกลุ่มเมตริก Conversion ของคุณ เช่น แม้ว่าการขอจํานวน Conversion ทั้งหมดในเว็บไซต์ แต่การถามจํานวน Conversion ที่แบ่งกลุ่มตามสื่อก็อาจน่าสนใจมากขึ้น
ในกรณีนี้ คุณจะเห็นจํานวน Conversion จากการค้นหาทั่วไป การอ้างอิง อีเมล ฯลฯ
เมื่อใช้ dimensions
ในคําขอข้อมูล ให้คํานึงถึงข้อจํากัดต่อไปนี้
- คุณสามารถระบุมิติข้อมูลได้สูงสุด 7 รายการในการสืบค้นข้อมูล
- คุณไม่ส่งคําค้นหาที่ประกอบด้วยมิติข้อมูลเท่านั้น โดยต้องรวมมิติข้อมูลที่ขอกับเมตริกอย่างน้อย 1 รายการ
ค่าที่ไม่พร้อมใช้งาน
เมื่อระบุค่าของมิติข้อมูลไม่ได้ Analytics จะใช้สตริงพิเศษ (not set)
เมตริก
metrics=mcf:totalConversions,mcf:totalConversionValue
สถิติรวมสําหรับกิจกรรมของผู้ใช้ในเว็บไซต์ เช่น จํานวน Conversion หรือมูลค่า Conversion ทั้งหมด
หากคําค้นหาไม่มีพารามิเตอร์ dimensions
เมตริกที่แสดงผลจะแสดงค่ารวมสําหรับช่วงวันที่ที่ขอ เช่น มูลค่า Conversion ทั้งหมดโดยรวม อย่างไรก็ตาม เมื่อมีการขอมิติข้อมูล ระบบจะแบ่งกลุ่มค่าตามค่ามิติข้อมูล
ตัวอย่างเช่น mcf:totalConversions
ที่ขอด้วย mcf:source
จะแสดงผล Conversion รวมต่อแหล่งที่มา
เมื่อขอเมตริก โปรดทราบว่า
- คําขอใดๆ ต้องมีเมตริกอย่างน้อย 1 รายการ คําขอต้องไม่มีเฉพาะมิติข้อมูล
- คุณระบุเมตริกได้สูงสุด 10 รายการต่อคําค้นหา
จัดเรียง
sort=mcf:source,mcf:medium
รายการเมตริกและมิติข้อมูลที่ระบุลําดับการจัดเรียงและทิศทางการจัดเรียงสําหรับข้อมูลที่แสดงผล
- การจัดเรียงลําดับจะระบุจากด้านซ้ายและขวาของเมตริกและมิติข้อมูลที่แสดง
- การจัดเรียงคําสั่งจะมีค่าเริ่มต้นจากน้อยไปหามากและเปลี่ยนเป็นมากไปหาน้อยได้โดยใช้คํานําหน้าเครื่องหมายลบ (
-
) ในช่องที่ขอ
การจัดเรียงผลลัพธ์ของการค้นหาช่วยให้คุณถามคําถามที่แตกต่างกันเกี่ยวกับข้อมูลของคุณได้ เช่น หากต้องการตอบคําถาม
"แหล่งที่มาของ Conversion ยอดนิยมของฉันคืออะไร และผ่านสื่อใดใน quos?"
คุณก็สร้างการสืบค้นข้อมูลด้วยพารามิเตอร์ต่อไปนี้ได้ ระบบจะจัดเรียงตาม mcf:source
ก่อน ตามด้วย mcf:medium
โดยเรียงลําดับจากน้อยไปมาก ดังนี้
sort=mcf:source,mcf:medium
ในการตอบคําถามที่เกี่ยวข้อง "สื่อ Conversion ยอดนิยมของฉันคืออะไรและมาจากแหล่งที่มาใด{/4}คุณสามารถทําการค้นหาด้วยพารามิเตอร์ต่อไปนี้ได้ จะจัดเรียงตาม 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
อ่านรายละเอียดได้ในข้อมูลอ้างอิง API การรายงานหลัก
ระดับการสุ่มตัวอย่าง
samplingLevel=DEFAULT
DEFAULT
— แสดงผลตอบสนองในขนาดตัวอย่าง ที่รักษาความเร็วและความแม่นยําให้สมดุลกันFASTER
— แสดงการตอบกลับอย่างรวดเร็วด้วยขนาดตัวอย่างที่เล็กลงHIGHER_PRECISION
— จะแสดงผลการตอบสนองที่แม่นยํายิ่งขึ้นโดยใช้ขนาดตัวอย่างขนาดใหญ่ แต่อาจส่งผลให้การตอบกลับช้าลง
DEFAULT
ผลลัพธ์สูงสุด
max-results=100
จํานวนแถวสูงสุดในการตอบสนองนี้ คุณอาจใช้วิธีนี้ร่วมกับ start-index
เพื่อดึงชุดย่อยขององค์ประกอบหรือใช้เดี่ยวๆ เพื่อจํากัดจํานวนองค์ประกอบที่แสดงผลก็ได้ เริ่มตั้งแต่องค์ประกอบแรก
หากไม่ได้ระบุ max-results
คําค้นหาจะแสดงผลเริ่มต้นสูงสุด 1, 000 แถว
API การรายงานช่องทางหลากหลายแชแนลจะแสดงแถวได้สูงสุด 10,000 แถวต่อคําขอ ไม่ว่าคุณจะขอกี่รายการ และยังแสดงผลแถวน้อยกว่าที่ขอด้วย ถ้ามีกลุ่มมิติข้อมูลไม่มากอย่างที่คาดไว้ ตัวอย่างเช่น mcf:medium
มีค่าที่เป็นไปได้น้อยกว่า 300 ค่า ดังนั้นเมื่อแบ่งกลุ่มตามสื่อเท่านั้น คุณจะมีแถวได้ไม่เกิน 300 แถว แม้ว่าจะตั้งค่า max-results
เป็นค่าที่สูงกว่าก็ตาม
คำตอบ
หากสําเร็จ คําขอนี้จะแสดงเนื้อหาการตอบกลับที่มีโครงสร้าง JSON ตามที่ระบุไว้ด้านล่าง
หมายเหตุ: คําว่า "results" หมายถึงชุดแถวทั้งหมดที่ตรงกับคําค้นหา ขณะที่ "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 คือ 1000
|
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
ค่าทั้งสองนี้ช่วยให้คุณคํานวณเปอร์เซ็นต์ของเซสชันที่ใช้สําหรับคําค้นหาได้ เช่น หาก sampleSize
คือ 201,000
และ sampleSpace
คือ 220,000
รายงานจะขึ้นอยู่กับ (201,000 / 220,000) * 100 = 91.36% ของเซสชัน
อ่านการสุ่มตัวอย่างเพื่อดูคําอธิบายทั่วไปและวิธีการใช้ใน Google Analytics
การจัดการกับผลลัพธ์ข้อมูลขนาดใหญ่
หากคุณคาดว่าการค้นหาจะแสดงชุดผลลัพธ์ขนาดใหญ่ ให้ใช้หลักเกณฑ์ด้านล่างเพื่อช่วยคุณเพิ่มประสิทธิภาพการค้นหา API, หลีกเลี่ยงข้อผิดพลาด และลดการทํางานเกิน quota โปรดทราบว่าเรากําหนดเกณฑ์พื้นฐานด้านประสิทธิภาพด้วยการอนุญาตให้มีมิติข้อมูลสูงสุด 7 รายการและเมตริก 10 รายการในคําขอ API รายการเดียว แม้ว่าคําค้นหาบางรายการที่ระบุเมตริกและมิติข้อมูลจํานวนมากอาจใช้เวลานานกว่าการประมวลผลอื่นๆ แต่การจํากัดจํานวนเมตริกที่ขออาจไม่เพียงพอสําหรับการปรับปรุงประสิทธิภาพการค้นหา แต่คุณใช้เทคนิคต่อไปนี้เพื่อให้ได้ผลลัพธ์ประสิทธิภาพที่ดีที่สุดแทนได้
การลดมิติข้อมูลต่อการค้นหา
API อนุญาตให้ระบุมิติข้อมูลได้สูงสุด 7 รายการในคําขอเดียว บ่อยครั้งที่ Google Analytics ต้องคํานวณผลลัพธ์ของคําค้นหาที่ซับซ้อนเหล่านี้ในทันที ซึ่งอาจใช้เวลามากหากจํานวนแถวที่สร้างมีจํานวนสูง เช่น การค้นหาคีย์เวิร์ดตามเมืองตามชั่วโมงอาจจับคู่กับข้อมูลนับล้านแถว คุณปรับปรุงประสิทธิภาพได้ด้วยการลดจํานวนแถวที่ Google Analytics ต้องประมวลผลโดยจํากัดจํานวนมิติข้อมูลในคําค้นหา
การแบ่งคําค้นหาตามช่วงวันที่
แทนที่จะแบ่งเป็นหน้าผลลัพธ์ตามช่วงวันที่ที่ระบุซึ่งมีระยะเวลานาน 1 วัน ให้พิจารณาสร้างคําค้นหาแยกต่างหากสําหรับ 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)