Cấu trúc tập lệnh Google Ads mới dựa trên API Google Ads. Do cấu trúc khác nhau của API đó, bạn có thể cần cập nhật các tập lệnh hiện có. Chúng tôi đã nỗ lực hết sức để đảm bảo khả năng tương thích ngược nhiều nhất có thể, vì vậy, những thay đổi này sẽ không đáng kể.
Báo cáo
Nhiều báo cáo AWQL sẽ tiếp tục hoạt động. Trong nền, khi sử dụng cơ sở hạ tầng mới, các tập lệnh sẽ chuyển đổi truy vấn AWQL của bạn thành GAQL (ngôn ngữ truy vấn mới cho API Google Ads), chạy truy vấn đó trên phần phụ trợ mới, sau đó chuyển đổi kết quả trở lại định dạng ban đầu mà báo cáo AWQL sử dụng. Các truy vấn có GAQL sẽ được truyền nguyên trạng.
Do chi phí này, bạn nên xem qua các tập lệnh của mình và cập nhật truy vấn AWQL lên GAQL bất cứ khi nào có thể. Bạn có thể sử dụng công cụ di chuyển truy vấn. Công cụ này sử dụng cùng một logic như tập lệnh để xác định truy vấn GAQL cho một truy vấn AWQL nhất định, hoặc bạn có thể sử dụng trình tạo truy vấn tương tác để giúp tạo truy vấn.
Sau đây là một số hạn chế của tính năng dịch tự động từ AWQL sang GAQL:
- Không phải truy vấn AWQL nào cũng dịch chính xác sang truy vấn GAQL. Trong những trường hợp này, một thông báo lỗi có một số thông tin chi tiết về lỗi sẽ được ghi lại để giúp bạn khắc phục theo cách thủ công.
- Không phải loại báo cáo nào trong AWQL cũng được hỗ trợ trong GAQL.
- GAQL không hỗ trợ "không có hàng lượt hiển thị". Việc chỉ định rằng một báo cáo phải bao gồm 0 lượt hiển thị sẽ dẫn đến lỗi.
- Bạn không thể sử dụng một số trường không rõ ràng trong bộ lọc. Ví dụ: "Dòng tiêu đề" có thể tham chiếu đến bất kỳ số lượng trường quảng cáo nào.
- Một số trường có thể trả về kết quả ở định dạng khác, ví dụ: chia một kết quả thành nhiều cột.
Sắp xếp bộ chọn
Khi tìm nạp tài nguyên bằng tập lệnh, khá phổ biến là bạn nên sử dụng các lệnh gọi withCondition
và orderBy
để hạn chế hoặc sắp xếp các kết quả trong trình lặp. Các trường trong các lệnh gọi này hiện sử dụng tên API Google Ads mới. Ví dụ: để lọc theo tên chiến dịch, trước đây, bạn sẽ sử dụng:
.withCondition('CampaignName = "SOME_CAMPAIGN_NAME"')
Giờ đây, bạn nên sử dụng tên trường mới cho các điều kiện này bất cứ khi nào có thể:
.withCondition('campaign.name = "SOME_CAMPAIGN_NAME"')
Tuy nhiên, chúng tôi đã cố gắng đưa vào một bản đồ ánh xạ tên cũ với tên mới, vì vậy, nếu tập lệnh của bạn vẫn sử dụng CampaignName
, thì tập lệnh đó sẽ tự động được thay thế bằng campaign.name
trong thời gian chạy để đảm bảo tập lệnh vẫn hoạt động. Nếu bạn gặp bất kỳ vấn đề nào với tên kiểu cũ, hãy cập nhật tập lệnh để sử dụng tên kiểu mới làm bước khắc phục sự cố đầu tiên.
Giới hạn
Nhiều giới hạn vẫn giống như trên cơ sở hạ tầng cũ và những thay đổi được thực hiện ở đây thường sẽ giúp tăng hiệu suất.
- Giới hạn thời gian cũng giống nhau. Một tập lệnh có thể thực thi trong 30 phút.
- Theo mặc định, một trình lặp sẽ trả về 50.000 thực thể, nhưng bạn có thể ghi đè giá trị này. Trước đây, bạn không thể tuỳ chỉnh giới hạn 50.000 này.
- Một bộ chọn có thể xử lý tối đa 10.000 mã nhận dạng (không thay đổi).
- Cơ sở hạ tầng mới không có giới hạn về số lượng thực thể có thể được xử lý trong một tập lệnh. Trước đây, giới hạn là 250.000.
- Cấu trúc cơ sở mới không giới hạn số lượng từ khoá hoặc quảng cáo có thể tạo trong mỗi lần thực thi. Trước đây,hạn mức là 250.000.
- Kết quả ghi nhật ký bị cắt bớt ở 100 KB (không thay đổi).
- Các hạn mức cho các dịch vụ Apps Script (TabletApp, MailApp, v.v.) sẽ không thay đổi.
- Hạn mức cho Google Ads sẽ được áp dụng như thể bạn đang sử dụng API. Tức là tập lệnh của bạn sẽ tuân theo giới hạn tốc độ API, nhưng điều này cho phép linh hoạt hơn trong việc truy cập vào nhiều báo cáo hơn hoặc thực hiện nhiều thay đổi hơn trong mỗi lần thực thi.
Các thay đổi khác
ExecutionInfo
không còn hiển thị getRemainingCreateQuota()
hoặc getRemainingGetQuota()
nữa vì các hạn mức đó không còn áp dụng trong phiên bản mới.