GoogleAdsService
là dịch vụ báo cáo và truy xuất đối tượng hợp nhất của API Google Ads. Dịch vụ này có các phương thức:
- Truy xuất các thuộc tính cụ thể của đối tượng.
- Truy xuất các chỉ số hiệu suất cho các đối tượng dựa trên một phạm vi ngày.
- Sắp xếp các đối tượng dựa trên thuộc tính của chúng.
- Sử dụng điều kiện để cho biết những đối tượng bạn muốn trả về trong phản hồi.
- Giới hạn số lượng đối tượng được trả về.
GoogleAdsService
có thể trả về kết quả theo hai cách:
GoogleAdsService.SearchStream
trả về tất cả các hàng trong một phản hồi truyền trực tuyến duy nhất,hiệu quả hơn đối với các tập kết quả lớn (lớn hơn 10.000 hàng). Điều này có thể phù hợp hơn nếu ứng dụng hàng loạt của bạn muốn tải xuống càng nhiều dữ liệu càng nhanh càng tốt.GoogleAdsService.Search
chia các câu trả lời dài thành các trang kết quả dễ quản lý. Điều này có thể phù hợp hơn nếu ứng dụng tương tác của bạn hiển thị một trang kết quả tại một thời điểm.
Tìm hiểu thêm về phân trang so với truyền phát trực tiếp.
Tạo yêu cầu
Phương thức tìm kiếm yêu cầu SearchGoogleAdsRequest
, bao gồm các thuộc tính sau:
customer_id
- Một
query
Ngôn ngữ truy vấn Google Ads cho biết tài nguyên cần truy vấn, các thuộc tính, phân đoạn và chỉ số cần truy xuất, cũng như các điều kiện cần sử dụng để hạn chế những đối tượng được trả về - (Chỉ
GoogleAdsService.Search
)page_token
không bắt buộc để truy xuất lô kết quả tiếp theo khi dùng phân trang.
Để biết thêm thông tin về Ngôn ngữ truy vấn Google Ads, hãy xem hướng dẫn về Ngôn ngữ truy vấn Google Ads.
Xử lý câu trả lời
GoogleAdsService
trả về một danh sách các đối tượng GoogleAdsRow
.
Mỗi GoogleAdsRow
đại diện cho một đối tượng do một truy vấn trả về và bao gồm một tập hợp các thuộc tính được điền sẵn dựa trên các trường được yêu cầu trong mệnh đề SELECT
. Các thuộc tính không có trong mệnh đề SELECT
sẽ không được điền sẵn trên các đối tượng GoogleAdsRow
trong phản hồi.
Ví dụ: mặc dù ad_group_criterion
có thuộc tính status
, nhưng trường status
của thuộc tính ad_group_criterion
trong hàng không được điền sẵn trong phản hồi cho một truy vấn mà mệnh đề SELECT
không bao gồm ad_group_criterion.status
. Tương tự, thuộc tính campaign
của hàng sẽ không được điền sẵn nếu mệnh đề SELECT
không bao gồm bất kỳ trường nào từ tài nguyên campaign
.
Mỗi GoogleAdsRow
có thể có các thuộc tính và chỉ số khác với một hàng khác trong cùng một tập kết quả; do đó, bạn nên xem các hàng là đối tượng thay vì các hàng cố định của một bảng.
Các loại enum KHÔNG XÁC ĐỊNH
Các tài nguyên được trả về có loại UNKNOWN
không được hỗ trợ đầy đủ trong phiên bản API đó. Những tài nguyên này có thể được tạo thông qua các giao diện khác, chẳng hạn như giao diện người dùng Google Ads. Bạn có thể chọn chỉ số khi một tài nguyên có loại là UNKNOWN
, nhưng bạn không thể thay đổi tài nguyên thông qua API. Ví dụ: một chiến dịch hoặc quảng cáo mới được giới thiệu trong giao diện người dùng nhưng không được hỗ trợ trong phiên bản API mà bạn đang truy vấn.
Sau đây là một số điều bạn cần cân nhắc:
- Tài nguyên có loại
UNKNOWN
có thể được hỗ trợ sau này hoặc vẫn làUNKNOWN
vô thời hạn. - Các đối tượng mới có loại
UNKNOWN
có thể xuất hiện bất cứ lúc nào. Các đối tượng này tương thích ngược vì giá trị enum đã có sẵn. Tài nguyên được giới thiệu cùng với thay đổi này vì chúng có sẵn để bạn có thể xem chính xác tài khoản của mình. Tài nguyênUNKNOWN
có thể xuất hiện do các hoạt động mới trong tài khoản của bạn thông qua các giao diện khác hoặc khi một tài nguyên không còn được hỗ trợ. - Bạn có thể truy vấn các chỉ số chi tiết được đính kèm với tài nguyên
UNKNOWN
. - Các tài nguyên
UNKNOWN
thường hiển thị đầy đủ trong giao diện người dùng của Google Ads. - Nhìn chung, bạn không thể thay đổi các tài nguyên
UNKNOWN
.
Phân đoạn
Phản hồi sẽ chứa một GoogleAdsRow
cho mỗi tổ hợp sau đây:
- Phiên bản của tài nguyên chính được chỉ định trong mệnh đề
FROM
- Giá trị của từng trường
segment
được chọn
Ví dụ: phản hồi cho một truy vấn chọn FROM campaign
và có segments.ad_network_type
và segments.date
trong mệnh đề SELECT
sẽ chứa một hàng cho mỗi tổ hợp sau đây:
campaign
segments.ad_network_type
segments.date
Kết quả được phân đoạn ngầm theo từng phiên bản của tài nguyên chính, chứ không phải theo giá trị của các trường riêng lẻ được chọn. Ví dụ:
SELECT campaign.status, metrics.impressions
FROM campaign
WHERE segments.date DURING LAST_14_DAYS
kết quả là một hàng cho mỗi chiến dịch, chứ không phải một hàng cho mỗi giá trị riêng biệt của trường campaign.status
.