Trình chọn (Selector)

Bộ chọn giúp lập trình viên tạo truy vấn tìm nạp các thực thể Google Ads được yêu cầu. Với bộ chọn, bạn có thể thu hẹp danh sách các thực thể đã truy xuất và sắp xếp danh sách đó. Hầu hết các bộ chọn đều có những phương thức sau:

withCondition()
Thêm một điều kiện vào bộ chọn. Nếu bạn sử dụng nhiều điều kiện, thì các điều kiện đó sẽ được kết hợp với nhau bằng toán tử AND. Nói cách khác, bộ chọn sẽ chỉ trả về những thực thể đáp ứng tất cả các điều kiện được chỉ định.
withIds()
Thêm một tập hợp mã nhận dạng làm điều kiện. Điều kiện dựa trên mã nhận dạng sẽ được kết hợp với tất cả các điều kiện khác.
forDateRange()
Cần thiết khi một điều kiện hoặc mệnh đề sắp xếp tham chiếu đến trường Stats (Số liệu thống kê), chẳng hạn như Ctr hoặc Số lượt hiển thị. Nếu bạn yêu cầu tất cả chiến dịch có hơn 100 lượt hiển thị, thì tập lệnh Google Ads sẽ cần biết phạm vi ngày để xem xét.
orderBy()
Chỉ định thứ tự của các thực thể được trả về.
withLimit()
Giới hạn số lượng thực thể được trả về theo giá trị đã chỉ định. Thao tác này đặc biệt hữu ích khi kết hợp với orderBy() để tìm nạp những thứ như "10 từ khoá có nhiều lượt hiển thị nhất vào ngày hôm qua". Theo mặc định, tất cả bộ chọn sẽ đặt giới hạn là 50.000. Bạn có thể tăng giới hạn bằng cách chỉ định giới hạn theo cách thủ công.

Bạn có thể gọi các phương thức này theo thứ tự bất kỳ. Một trường hợp ngoại lệ là orderBy(), trong đó thứ tự gọi thực sự quan trọng: nhiều lệnh gọi đến phương thức này sẽ chỉ định nhiều mệnh đề sắp xếp và chúng sẽ áp dụng theo thứ tự. Hãy xem xét đoạn mã sau:

selector = selector.forDateRange("LAST_14_DAYS")
    .orderBy("metrics.clicks DESC")
    .orderBy("metrics.ctr ASC");

Kết quả sẽ được sắp xếp theo Số lượt nhấp theo thứ tự giảm dần. Kết quả có giá trị Lượt nhấp bằng nhau sẽ được sắp xếp theo Ctr theo thứ tự tăng dần.

Bạn có thể liên kết các lệnh gọi đến phương thức của bộ chọn với nhau. Mã sau

var campaignSelector = AdsApp.campaigns();
campaignSelector.withCondition("metrics.clicks > 10");
campaignSelector.withCondition("metrics.impressions > 1000");
campaignSelector.orderBy("metrics.impressions DESC");
campaignSelector.forDateRange("YESTERDAY");

có thể được viết lại theo cách cô đọng hơn:

var campaignSelector = AdsApp.campaigns()
  .withCondition("metrics.clicks > 10")
  .withCondition("metrics.impressions > 1000")
  .orderBy("metrics.impressions DESC")
  .forDateRange("YESTERDAY");

Sau khi tạo bộ chọn, bạn có thể lấy Iterator từ bộ chọn bằng cách gọi selector.get().

Hãy đọc Các phương pháp hay nhất để biết các mẹo và thủ thuật về cách sử dụng bộ chọn một cách hiệu quả.