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