GoogleAdsService
là đối tượng hợp nhất
dịch vụ truy xuất và báo cáo của API Google Ads. Dịch vụ này có các phương thức:
- Truy xuất 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 đối tượng dựa trên thuộc tính của chúng.
- Sử dụng các điều kiện để cho biết bạn muốn trả về đối tượng nào 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ả trong
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 cho 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 bao nhiêu dữ liệu nhanh bằng nhất có thể.GoogleAdsService.Search
chia tay phản hồi lớn vào các trang kết quả có thể quản lý. Có thể cần nhiều 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 bất cứ lúc nào.
Tìm hiểu thêm về cách phân trang so với truyền trực tuyến.
Tạo yêu cầu
Phương pháp tìm kiếm yêu cầu
SearchGoogleAdsRequest
, bao gồm
trong số các thuộc tính sau:
- Một
customer_id
- Ngôn ngữ truy vấn
query
của Google Ads cho biết cần truy vấn tài nguyên nào, 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 sử dụng để hạn chế đối tượng nào được trả về - (Chỉ dành cho
GoogleAdsService.Search
) Apage_size
để cho biết số lượng đối tượng sẽ trả về trong một phản hồi khi bằng cách sử dụng tính năng phân trang. - (Chỉ
GoogleAdsService.Search
) Anpage_token
(không bắt buộc) để truy xuất lô kết quả tiếp theo khi sử dụng phân trang.
Để biết thêm thông tin về Ngôn ngữ truy vấn của Google Ads, hãy xem Ngôn ngữ truy vấn của Google Ads hướng dẫn.
Xử lý câu trả lời
GoogleAdsService
trả về danh sách
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
là một tập hợp các thuộc tính được điề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
không được
đượ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
của hàng không được điền trong một
phản hồi cho truy vấn trong đó mệnh đề SELECT
không bao gồm
ad_group_criterion.status
. Tương tự, thuộc tính campaign
của hàng là
không được điền sẵn nếu mệnh đề SELECT
không bao gồm bất kỳ 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 trên một hàng khác
trong cùng một nhóm kết quả; nên các hàng sẽ được xem 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
Tài nguyên được trả về thuộc loại UNKNOWN
không được hỗ trợ đầy đủ trong
phiên bản API đó. Các tài nguyên này có thể được tạo thông qua
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ó
UNKNOWN
, nhưng bạn không thể thay đổi tài nguyên này thông qua API. Một
ví dụ về điều này là 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.
Dưới đây là một số điểm cần lưu ý:
- Tài nguyên thuộc loại
UNKNOWN
có thể được hỗ trợ sau hoặc vẫn có thể là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. Những đối tượng này tương thích ngược vì đã có sẵn giá trị enum. Tài liệu tham khảo được áp dụng cùng với thay đổi này khi chúng được cung cấp để bạn có 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 mình 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ợ nữa. UNKNOWN
tài nguyên có thể có các chỉ số chi tiết đi kèm truy vấn được.- Các tài nguyên
UNKNOWN
thường hiển thị đầy đủ trong giao diện người dùng Google Ads. - Thường thì tài nguyên
UNKNOWN
không thể thay đổi được.
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 mỗi trường
segment
đã chọn
Ví dụ: phản hồi cho 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 các giá trị sau:
campaign
segments.ad_network_type
segments.date
Kết quả được ngầm phân đoạn 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 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
.