Thuật ngữ chính
- Tài nguyên
- Một thực thể trong Google Ads, chẳng hạn như
campaignhoặcad_group. - Phân đoạn
- Một phương diện dùng để nhóm dữ liệu, chẳng hạn như
segments.datehoặcsegments.device. Khi các phân đoạn được đưa vào mệnh đềSELECTcùng với các chỉ số, các chỉ số sẽ được phân tách theo phân đoạn. - Chỉ số
- Một chỉ số đo lường hiệu suất, chẳng hạn như
metrics.impressionshoặcmetrics.clicks. - Tài nguyên được phân bổ
- Một tài nguyên được liên kết ngầm với tài nguyên chính trong mệnh đề
FROM, cho phép bạn chọn các thuộc tính của tài nguyên đó cùng với các thuộc tính của tài nguyên chính.
Truy vấn thông tin về tài nguyên hoặc siêu dữ liệu
Ngôn ngữ truy vấn của Google Ads có thể truy vấn Google Ads API để biết các loại thông tin sau:
Tài nguyên và các thuộc tính, phân đoạn và chỉ số liên quan bằng cách sử dụng
GoogleAdsServiceSearch hoặc SearchStream: Kết quả của một truy vấnGoogleAdsServicelà danh sách các thực thểGoogleAdsRow, trong đó mỗiGoogleAdsRowđại diện cho một tài nguyên.Nếu có thuộc tính hoặc chỉ số nào được yêu cầu, thì hàng cũng bao gồm các trường đó. Nếu có bất kỳ phân đoạn nào được yêu cầu, thì phản hồi cũng sẽ hiển thị thêm một hàng cho mỗi bộ dữ liệu phân đoạn-tài nguyên.
Siêu dữ liệu về các trường và tài nguyên có sẵn trong
GoogleAdsFieldService: Dịch vụ này cung cấp một danh mục các trường có thể truy vấn, kèm theo thông tin cụ thể về khả năng tương thích và loại của các trường đó.Kết quả của một truy vấn
GoogleAdsFieldServicelà danh sách các thực thểGoogleAdsField, trong đó mỗiGoogleAdsFieldchứa thông tin chi tiết về trường được yêu cầu.
Để biết thêm thông tin về cấu trúc truy vấn, hãy xem phần Cấu trúc truy vấn và Ngữ pháp của Ngôn ngữ truy vấn Google Ads.
Truy vấn thuộc tính tài nguyên
Dưới đây là ví dụ về một truy vấn cơ bản cho các thuộc tính của tài nguyên chiến dịch, minh hoạ cách trả về mã nhận dạng, tên và trạng thái của chiến dịch:
SELECT
campaign.id,
campaign.name,
campaign.status
FROM campaign
ORDER BY campaign.id
Truy vấn này sắp xếp theo mã chiến dịch. Mỗi GoogleAdsRow kết quả đại diện cho một đối tượng campaign được điền sẵn các trường đã chọn, bao gồm cả resource_name của chiến dịch.
Để tìm hiểu những trường khác có sẵn cho truy vấn chiến dịch, hãy tham khảo tài liệu tham khảo Campaign.
Truy vấn chỉ số
Bên cạnh các thuộc tính đã chọn cho một tài nguyên nhất định, bạn cũng có thể truy vấn các chỉ số liên quan:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
ORDER BY campaign.id
Truy vấn này chỉ lọc những chiến dịch có trạng thái PAUSED và có hơn 1.000 lượt hiển thị, đồng thời sắp xếp theo mã chiến dịch. Mỗi GoogleAdsRow kết quả sẽ có một trường metrics được điền sẵn các chỉ số đã chọn.
Để xem danh sách các chỉ số có thể truy vấn, hãy tham khảo tài liệu về Metrics.
Truy vấn cho phân đoạn
Bên cạnh các thuộc tính đã chọn cho một tài nguyên nhất định, bạn cũng có thể truy vấn các phân đoạn có liên quan:
SELECT
campaign.id,
campaign.name,
campaign.status,
metrics.impressions,
segments.date
FROM campaign
WHERE campaign.status = 'PAUSED'
AND metrics.impressions > 1000
AND segments.date DURING LAST_30_DAYS
ORDER BY campaign.id
Tương tự như việc truy vấn các chỉ số, truy vấn này chỉ lọc những chiến dịch có trạng thái là PAUSED và có hơn 1.000 lượt hiển thị. Tuy nhiên, truy vấn này phân đoạn dữ liệu theo ngày. Điều này dẫn đến việc mỗi GoogleAdsRow kết quả đại diện cho một bộ dữ liệu gồm một chiến dịch và phân đoạn ngày.
Việc phân đoạn sẽ chia tách các chỉ số đã chọn, nhóm theo từng phân đoạn trong mệnh đề SELECT.
Để xem danh sách các phân đoạn có thể truy vấn, hãy tham khảo tài liệu về Segments.
Truy vấn các thuộc tính của một tài nguyên có liên quan
Trong một truy vấn cho một tài nguyên nhất định, bạn có thể kết hợp với các tài nguyên có liên quan khác nếu có. Những tài nguyên có liên quan này được gọi là "tài nguyên được phân bổ". Bạn có thể kết hợp với các tài nguyên được phân bổ một cách ngầm định bằng cách chọn một thuộc tính trong truy vấn của mình.
SELECT
campaign.id,
campaign.name,
campaign.status,
bidding_strategy.name
FROM campaign
ORDER BY campaign.id
Truy vấn này không chỉ chọn các thuộc tính chiến dịch mà còn lấy các thuộc tính liên quan từ mỗi chiến dịch đã chọn. Mỗi GoogleAdsRow kết quả đại diện cho một đối tượng campaign được điền sẵn các thuộc tính phân bổ cho chiến dịch đã chọn, cũng như thuộc tính chiến lược đặt giá thầu đã chọn bidding_strategy.name.
Để tìm hiểu những tài nguyên được phân bổ nào có sẵn cho các truy vấn chiến dịch, hãy tham khảo tài liệu tham khảo về Campaign.
Các phương pháp hay nhất
- Chỉ chọn những trường bạn cần để tránh thời gian phản hồi dài và hết thời gian chờ.
- Sử dụng
LIMITtrong quá trình phát triển và kiểm thử để tránh xử lý các tập kết quả lớn. - Áp dụng bộ lọc trong mệnh đề
WHEREđể giảm thiểu việc chuyển dữ liệu và kích thước phản hồi. - Sử dụng
GoogleAdsFieldServiceđể kiểm tra khả năng tương thích của trường và các loại dữ liệu trước khi tạo truy vấn phức tạp. - Xin lưu ý rằng một số trường, đặc biệt là những trường liên quan đến lượng dữ liệu lớn hoặc phép tính phức tạp, có thể làm tăng chi phí truy vấn.
Thay đổi dựa trên kết quả truy vấn
Khi truy vấn một tài nguyên nhất định, bạn có thể ngay lập tức lấy các kết quả được trả về dưới dạng đối tượng, sửa đổi các đối tượng đó rồi gửi lại cho phương thức thay đổi trong dịch vụ của tài nguyên đó. Sau đây là một quy trình mẫu:
- Thực thi một truy vấn cho tất cả chiến dịch
PAUSEDcó số lượt hiển thị lớn hơn 1000. - Lấy đối tượng
Campaigntừ trườngcampaigncủa mỗiGoogleAdsRowtrong phản hồi. - Thay đổi trạng thái của từng chiến dịch từ
PAUSEDthànhENABLED. - Gọi
CampaignService.MutateCampaignsbằng các chiến dịch đã sửa đổi vàFieldMasktương ứng để cập nhật các chiến dịch đó.
Siêu dữ liệu trường
Các truy vấn được gửi đến GoogleAdsFieldService nhằm mục đích truy xuất siêu dữ liệu trường.
Bạn có thể sử dụng thông tin này để hiểu cách sử dụng các trường cùng nhau trong một truy vấn. Vì dữ liệu có sẵn trong API và API này cung cấp siêu dữ liệu cần thiết để xác thực hoặc tạo truy vấn, nên nhà phát triển có thể thực hiện việc này theo phương thức lập trình. Sau đây là một truy vấn thông thường cho siêu dữ liệu:
SELECT
name,
category,
selectable,
filterable,
sortable,
selectable_with,
data_type,
is_repeated
WHERE name = "<INSERT_RESOURCE_OR_FIELD>"
Bạn có thể thay thế <INSERT_RESOURCE_OR_FIELD> trong truy vấn này bằng một tài nguyên (chẳng hạn như customer hoặc campaign) hoặc trường (chẳng hạn như campaign.id, metrics.impressions hoặc ad_group.id).
Để biết danh sách các trường có thể truy vấn, hãy tham khảo tài liệu về GoogleAdsField.
Sự khác biệt theo phiên bản
Mặc dù cú pháp, mệnh đề và toán tử của Ngôn ngữ truy vấn Google Ads là giống nhau trên tất cả các phiên bản Google Ads API được hỗ trợ (phiên bản 23, 24, 25 và 26), nhưng danh mục tài nguyên, phân đoạn, chỉ số và hành vi báo cáo có thể truy vấn sẽ khác nhau tuỳ theo phiên bản lớn. Truy vấn GoogleAdsFieldService tại điểm cuối của phiên bản API mục tiêu để kiểm tra các trường và quy tắc tương thích cho phiên bản đó:
- Chế độ xem thành phần Mở rộng URL cuối cùng:
- Hỗ trợ chiến dịch Mua sắm (phiên bản 26 trở lên):
final_url_expansion_asset_viewhỗ trợ chiến dịch Mua sắm (campaign.advertising_channel_type = 'SHOPPING') ngoài chiến dịch Tối đa hoá hiệu suất và chiến dịch Tìm kiếm. Đối với chiến dịch Mua sắm, bạn có thể chọn và lọc theo các trườngad_group, nhưng không thể chọn các trườngasset_group. - Chỉ số có thể chọn (phiên bản 25 trở lên): Truy vấn
final_url_expansion_asset_viewsẽ trả về tất cả chỉ số có thể chọn cho chế độ xem. Trong phiên bản 24 trở xuống, phản hồi chỉ bao gồmmetrics.conversionsvàmetrics.conversions_valuecho chiến dịch Tối đa hoá hiệu suất vàmetrics.impressionscho chiến dịch Tìm kiếm.
- Hỗ trợ chiến dịch Mua sắm (phiên bản 26 trở lên):
- Tài nguyên mục tiêu vòng đời: Trong phiên bản 25 trở lên, tất cả mục tiêu vòng đời (Thu nạp khách hàng mới, Giữ chân khách hàng và Giữ chân khách hàng thân thiết) đều được truy vấn từ các tài nguyên
goalvàcampaign_goal_confighợp nhất, thay thếcustomer_lifecycle_goalvàcampaign_lifecycle_goal(được dùng cho mục tiêu Thu nạp khách hàng mới trong phiên bản 24 trở xuống, cùng vớigoalvàcampaign_goal_configcho mục tiêu Giữ chân khách hàng). - Báo cáo về sản phẩm cho chiến dịch Quảng cáo ứng dụng: Trong phiên bản 24 trở lên, tài nguyên
shopping_productsẽ trả về các hàng sản phẩm cho chiến dịch Quảng cáo ứng dụng, ngoài chiến dịch Mua sắm, chiến dịch Tối đa hoá hiệu suất, chiến dịch Tạo nhu cầu và chiến dịch Video (trong phiên bản 23, chiến dịch Quảng cáo ứng dụng bị loại trừ khỏi kết quả củashopping_product). - Tài nguyên, phân khúc và chỉ số theo phiên bản:
- Phiên bản 26 trở lên: Bao gồm tài nguyên
search_lift_keyword_bundle,campaign.lift_measurement_config,local_services_lead.campaign,segments.search_lift_keyword_bundle,segments.search_propertyvà các chỉ số về Mức tăng lưu lượng tìm kiếm (chẳng hạn nhưmetrics.relative_search_lift,metrics.normalized_incremental_searches,metrics.search_lift_cost_microsvàmetrics.search_lift_impressions). - Phiên bản 25 trở lên: Bao gồm các tài nguyên đo lường mức tăng (chẳng hạn như
lift_measurement_config), các phân khúc nhưsegments.ad_sub_format_typevàsegments.loyalty_membership, cũng như các chỉ số tương tác trên YouTube (metrics.youtube_likes,metrics.youtube_commentsvàmetrics.youtube_shares). Xoálocal_services_lead.contact_details.email(có thể chọn trong phiên bản 24 trở xuống). - v24 trở lên: Bao gồm tài nguyên
cart_data_sales_view,segments.conversion_attribution_event_typetrênshopping_performance_view,segments.mobile_device_platformvàsegments.ad_network_typetrênperformance_max_placement_view. Xoácampaign.video_brand_safety_suitability(được thay thế bằngcustomer.video_brand_safety_suitability),segments.ad_sub_network_typetrêncampaign_budgetvàsegments.click_typetrênad_group_asset,campaign_assetvàcustomer_asset(chỉ có thể chọn trong phiên bản 23).
- Phiên bản 26 trở lên: Bao gồm tài nguyên
- Mã lỗi giai đoạn xem lại ngày chi tiết: Các truy vấn phân đoạn theo
segments.date,segments.weekhoặcsegments.hour(hoặc lọc theo phạm vi ngày dưới một tháng) ngoài giai đoạn xem lại 37 tháng sẽ trả vềDateRangeError.REQUESTED_DATE_GRANULARITY_NOT_SUPPORTEDtrong phiên bản 24 trở lên (hoặcDateRangeError.UNKNOWNtrong phiên bản 23). Hãy xem bài viết Phạm vi ngày để biết thông tin chi tiết.
Ví dụ về mã
Thư viện ứng dụng có các ví dụ về cách sử dụng Ngôn ngữ truy vấn của Google Ads
trong GoogleAdsService. Thư mục basic operations (thao tác cơ bản) có các ví dụ như GetCampaigns, GetKeywords và SearchForGoogleAdsFields.