Search Analytics: query

Yêu cầu quyền uỷ quyền

Truy vấn dữ liệu lưu lượng truy cập tìm kiếm bằng bộ lọc và thông số mà bạn xác định. Phương thức này trả về từ 0 hàng trở lên được nhóm theo khoá hàng (phương diện) mà bạn xác định. Bạn phải xác định phạm vi ngày gồm một hoặc nhiều ngày.

Khi ngày là một trong các phương diện, mọi ngày không có dữ liệu sẽ bị bỏ qua khỏi danh sách kết quả. Để tìm hiểu những ngày có dữ liệu, hãy đưa ra truy vấn không có bộ lọc được nhóm theo ngày, cho phạm vi ngày mà bạn quan tâm.

Kết quả được sắp xếp theo số lượt nhấp giảm dần. Nếu hai hàng có cùng số lượt nhấp, thì các hàng đó sẽ được sắp xếp theo cách tuỳ ý.

Hãy xem mẫu python để gọi phương thức này.

API này chịu sự ràng buộc của các giới hạn nội bộ của Search Console và không đảm bảo sẽ trả về tất cả các hàng dữ liệu mà chỉ trả về các hàng hàng đầu.

Xem các giới hạn về lượng dữ liệu có sẵn.

Ví dụ về yêu cầu POST JSON:
POST https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.example.com%2F/searchAnalytics/query?key={MY_API_KEY}
{
  "startDate": "2015-04-01",
  "endDate": "2015-05-01",
  "dimensions": ["country","device"]
}
Thử ngay.

Yêu cầu

Yêu cầu HTTP

POST https://www.googleapis.com/webmasters/v3/sites/siteUrl/searchAnalytics/query

Thông số

Tên thông số Giá trị Mô tả
Thông số đường dẫn
siteUrl string URL của tài sản được xác định trong Search Console. Ví dụ: http://www.example.com/ (đối với tài sản có tiền tố URL) hoặc sc-domain:example.com (đối với tài sản Miền)

Ủy quyền

Yêu cầu này yêu cầu uỷ quyền với ít nhất một trong các phạm vi sau (đọc thêm về việc xác thực và uỷ quyền).

Phạm vi
https://www.googleapis.com/auth/webmasters.readonly
https://www.googleapis.com/auth/webmasters

Nội dung yêu cầu

Trong phần nội dung yêu cầu, hãy cung cấp dữ liệu có cấu trúc sau:

{
  "startDate": string,
  "endDate": string,
  "dimensions": [
    string
  ],
  "type": string,
  "dimensionFilterGroups": [
    {
      "groupType": string,
      "filters": [
        {
          "dimension": string,
          "operator": string,
          "expression": string
        }
      ]
    }
  ],
  "aggregationType": string,
  "rowLimit": integer,
  "startRow": integer
}
Tên tài sản Giá trị Mô tả Ghi chú
startDate string [Bắt buộc] Ngày bắt đầu của phạm vi ngày được yêu cầu, theo định dạng YYYY-MM-DD, theo giờ Thái Bình Dương (UTC – 7:00/8:00). Phải nhỏ hơn hoặc bằng ngày kết thúc. Giá trị này có trong phạm vi.
endDate string [Bắt buộc] Ngày kết thúc của phạm vi ngày được yêu cầu, ở định dạng YYYY-MM-DD, theo giờ Thái Bình Dương (UTC – 7:00/8:00). Phải lớn hơn hoặc bằng ngày bắt đầu. Giá trị này nằm trong phạm vi.
dimensions[] list [Không bắt buộc] Không có hoặc có nhiều phương diện để nhóm kết quả theo.Kết quả được nhóm theo thứ tự mà bạn cung cấp các phương diện này. Bạn có thể sử dụng bất kỳ tên phương diện nào trong dimensionFilterGroups[].filters[].dimension cũng như "ngày". Các giá trị phương diện nhóm được kết hợp để tạo một khoá duy nhất cho mỗi hàng kết quả. Nếu bạn không chỉ định phương diện nào, thì tất cả giá trị sẽ được kết hợp thành một hàng. Không có giới hạn về số lượng phương diện mà bạn có thể nhóm theo, nhưng bạn không thể nhóm theo cùng một phương diện hai lần. Ví dụ: [country, device]
searchType string Không dùng nữa, chuyển sang dùng type
type string [Không bắt buộc] Lọc kết quả theo loại sau:
  • "discover": Kết quả trong Khám phá
  • "googleNews": Kết quả từ news.google.com và ứng dụng Google Tin tức trên Android và iOS. Không bao gồm kết quả từ thẻ "Tin tức" trong Google Tìm kiếm.
  • "news": Kết quả tìm kiếm từ thẻ "Tin tức" trong Google Tìm kiếm.
  • "image": Kết quả tìm kiếm từ thẻ "Hình ảnh" trong Google Tìm kiếm.
  • "video": Kết quả tìm kiếm video
  • "web": [Mặc định] Lọc kết quả vào thẻ kết quả tổng hợp ("Tất cả") trong Google Tìm kiếm. Không bao gồm kết quả trên Khám phá hoặc Google Tin tức.
dimensionFilterGroups[] list [Không bắt buộc] Không có hoặc có nhiều nhóm bộ lọc để áp dụng cho các giá trị nhóm phương diện. Tất cả các nhóm bộ lọc phải khớp để một hàng được trả về trong phản hồi. Trong một nhóm bộ lọc, bạn có thể chỉ định liệu tất cả bộ lọc phải khớp hay ít nhất một bộ lọc phải khớp.
dimensionFilterGroups[].groupType string Tất cả bộ lọc trong nhóm này phải trả về true ("và") hay một hoặc nhiều bộ lọc phải trả về true (chưa được hỗ trợ).

Các giá trị được chấp nhận là:
  • "and": Tất cả bộ lọc trong nhóm phải trả về giá trị true đối với nhóm bộ lọco.
dimensionFilterGroups[].filters[] list [Không bắt buộc] Có hoặc không có bộ lọc để kiểm thử theo hàng. Mỗi bộ lọc bao gồm tên phương diện, toán tử và giá trị. Độ dài tối đa 4096 ký tự. Ví dụ:
country equals FRA
query contains mobile use
device notContains tablet
dimensionFilterGroups[].filters[].dimension string Phương diện mà bộ lọc này áp dụng. Bạn có thể lọc theo bất kỳ phương diện nào được liệt kê ở đây, ngay cả khi bạn không nhóm theo phương diện đó.

Các giá trị được chấp nhận là:
  • "country": Lọc theo quốc gia đã chỉ định theo mã quốc gia gồm 3 chữ cái (ISO 3166-1 alpha-3).
  • "device": Lọc kết quả theo loại thiết bị được chỉ định. Giá trị được hỗ trợ:
    • DESKTOP
    • ĐIỆN THOẠI DI ĐỘNG
    • MÁY TÍNH BẢNG
  • "page": Lọc theo chuỗi URI được chỉ định.
  • "query": Lọc theo chuỗi truy vấn đã chỉ định.
  • "searchAppearance": Lọc theo một tính năng cụ thể của kết quả tìm kiếm. Để xem danh sách các giá trị có sẵn, hãy chạy một truy vấn được nhóm theo "searchAppearance". Danh sách đầy đủ các giá trị và nội dung mô tả cũng có trong tài liệu trợ giúp.
dimensionFilterGroups[].filters[].operator string [Không bắt buộc] Cách giá trị bạn chỉ định phải khớp (hoặc không khớp) với giá trị phương diện cho hàng.

Các giá trị được chấp nhận là:
  • "contains": Giá trị hàng phải chứa hoặc bằng biểu thức của bạn (không phân biệt chữ hoa chữ thường).
  • "equals": [Mặc định] Biểu thức của bạn phải bằng chính xác giá trị của hàng (phân biệt chữ hoa chữ thường đối với phương diện trang và truy vấn).
  • "notContains": Giá trị của hàng không được chứa biểu thức của bạn dưới dạng một chuỗi con hoặc một kết quả khớp hoàn chỉnh (không phân biệt chữ hoa chữ thường).
  • "notEquals": Biểu thức của bạn không được chính xác bằng giá trị hàng (phân biệt chữ hoa chữ thường đối với thứ nguyên trang và thứ nguyên truy vấn).
  • "includingRegex": Biểu thức chính quy cú pháp RE2 phải khớp.
  • "excludingRegex": Biểu thức chính quy cú pháp RE2 không được khớp.
dimensionFilterGroups[].filters[].expression string Giá trị để bộ lọc so khớp hoặc loại trừ, tuỳ thuộc vào toán tử.
aggregationType string

[Không bắt buộc] Cách tổng hợp dữ liệu. Nếu được tổng hợp theo tài sản, tất cả dữ liệu cho cùng một tài sản sẽ được tổng hợp; nếu được tổng hợp theo trang, tất cả dữ liệu sẽ được tổng hợp theo URI chính tắc. Nếu bạn lọc hoặc nhóm theo trang, hãy chọn tự động; nếu không, bạn có thể tổng hợp theo tài sản hoặc theo trang, tuỳ thuộc vào cách bạn muốn tính dữ liệu; hãy xem tài liệu trợ giúp để tìm hiểu cách tính dữ liệu theo trang web so với theo trang.

Lưu ý: Nếu nhóm hoặc lọc theo trang, thì bạn không thể tổng hợp theo tài sản.

Nếu bạn chỉ định bất kỳ giá trị nào khác với tự động, thì loại dữ liệu tổng hợp trong kết quả sẽ khớp với loại dữ liệu được yêu cầu, hoặc nếu bạn yêu cầu một loại dữ liệu không hợp lệ, thì bạn sẽ gặp lỗi. API sẽ không bao giờ thay đổi loại dữ liệu tổng hợp nếu loại dữ liệu được yêu cầu không hợp lệ.

Các giá trị được chấp nhận là:
  • "auto": [Mặc định] Để dịch vụ quyết định loại tổng hợp phù hợp.
  • "byNewsShowcasePanel": Tổng hợp các giá trị theo bảng điều khiển tính năng Nổi bật trên Google News. Bạn phải sử dụng thuộc tính này kết hợp với bộ lọc NEWS_SHOWCASE searchAppearancetype=discover hoặc type=googleNews. Nếu nhóm theo trang, lọc theo trang hoặc lọc đến một searchAppearance khác, bạn không thể tổng hợp theo byNewsShowcasePanel.
  • "byPage": Tổng hợp các giá trị theo URI.
  • "byProperty": Tổng hợp các giá trị theo tài sản. Không được hỗ trợ cho type=discover hoặc type=googleNews
rowLimit integer [Không bắt buộc; Phạm vi hợp lệ là 1 đến 25.000; Mặc định là 1.000] Số hàng tối đa cần trả về. Để xem kết quả theo trang, hãy sử dụng độ dời startRow.
startRow integer [Không bắt buộc; Mặc định là 0] Chỉ mục dựa trên 0 của hàng đầu tiên trong phản hồi. Phải là một số không âm. Nếu startRow vượt quá số lượng kết quả cho truy vấn, thì phản hồi sẽ là phản hồi thành công với số lượng hàng bằng 0.
dataState string [Không bắt buộc] Nếu là "tất cả" (không phân biệt chữ hoa chữ thường), dữ liệu sẽ bao gồm cả dữ liệu mới. Nếu là "final" (không phân biệt chữ hoa chữ thường) hoặc nếu bạn bỏ qua tham số này, thì dữ liệu được trả về sẽ chỉ bao gồm dữ liệu đã hoàn tất.

Phản hồi

Kết quả được nhóm theo phương diện được chỉ định trong yêu cầu. Tất cả giá trị có cùng một tập hợp giá trị phương diện sẽ được nhóm thành một hàng. Ví dụ: nếu bạn nhóm theo phương diện quốc gia, thì tất cả kết quả cho "usa" sẽ được nhóm lại với nhau, tất cả kết quả cho "mdv" sẽ được nhóm lại với nhau, v.v. Nếu bạn nhóm theo quốc gia và thiết bị, thì tất cả kết quả cho "hoa kỳ, máy tính bảng" sẽ được nhóm lại với nhau, tất cả kết quả cho "hoa kỳ, thiết bị di động" sẽ được nhóm lại với nhau, v.v. Hãy xem tài liệu về báo cáo Phân tích tìm kiếm để tìm hiểu thông tin cụ thể về cách tính số lượt nhấp, số lượt hiển thị, v.v. và ý nghĩa của các chỉ số này.

Kết quả được sắp xếp theo số lượt nhấp, theo thứ tự giảm dần, trừ phi bạn nhóm theo ngày. Trong trường hợp này, kết quả sẽ được sắp xếp theo ngày, theo thứ tự tăng dần (từ cũ nhất đến mới nhất). Nếu có sự ràng buộc giữa hai hàng, thì thứ tự sắp xếp là tuỳ ý.

Xem thuộc tính rowLimit trong yêu cầu để tìm hiểu số lượng giá trị tối đa có thể được trả về.

{
  "rows": [
    {
      "keys": [
        string
      ],
      "clicks": double,
      "impressions": double,
      "ctr": double,
      "position": double
    }
  ],
  "responseAggregationType": string
}
Tên tài sản Giá trị Mô tả Ghi chú
rows[] list Danh sách các hàng được nhóm theo các khoá-giá trị theo thứ tự được cung cấp trong truy vấn.
rows[].keys[] list Danh sách giá trị phương diện cho hàng đó, được nhóm theo các phương diện trong yêu cầu, theo thứ tự được chỉ định trong yêu cầu.
rows[].clicks double Nhấp vào số lượng cho hàng đó.
rows[].impressions double Số lượt hiển thị cho hàng.
rows[].ctr double Tỷ lệ nhấp (CTR) của hàng. Giá trị nằm trong khoảng từ 0 đến 1.0.
rows[].position double Vị trí trung bình trong kết quả tìm kiếm.
responseAggregationType string Cách tổng hợp kết quả. Xem tài liệu trợ giúp để tìm hiểu cách tính dữ liệu theo trang web so với theo trang.

Các giá trị được chấp nhận là:
  • "auto"
  • "byPage": Kết quả được tổng hợp theo trang.
  • "byProperty": Kết quả được tổng hợp theo tài sản.

Hãy dùng thử!

Sử dụng Trình khám phá API bên dưới để gọi phương thức này trên dữ liệu trực tiếp và xem phản hồi.