Selektory pomagają programiście utworzyć zapytanie, które pobiera żądane encje Google Ads. Dzięki selektorom można zawęzić listę pobranych encji i uporządkować ją. Większość selektorów ma te metody:
withCondition()- Dodaje warunek do selektora. Jeśli używasz kilku warunków, są one łączone za pomocą operatora AND, co oznacza, że selektor zwróci tylko encje, które spełniają wszystkie określone warunki.
withIds()- Dodaje zbiór identyfikatorów jako warunek. Warunek oparty na identyfikatorze zostanie połączony za pomocą operatora AND ze wszystkimi innymi warunkami.
forDateRange()- Jest potrzebna, gdy warunek lub klauzula porządkowania odwołuje się do pola statystyk, np. Ctr lub Wyświetlenia. Jeśli poprosisz o wszystkie kampanie z ponad 100 wyświetleniami, skrypty Google Ads będą musiały znać zakres dat, w którym mają szukać.
orderBy()- Określa kolejność zwracanych encji.
withLimit()- Ogranicza liczbę zwracanych encji do określonej wartości. Jest to szczególnie przydatne w połączeniu z metodą
orderBy(), aby pobierać takie informacje jak „10 słów kluczowych z największą liczbą wyświetleń wczoraj”. Domyślnie wszystkie selektory ustawiają limit na 50 000. Możesz zwiększyć limit, ręcznie określając jego wartość.
Te metody można wywoływać w dowolnej kolejności. Wyjątkiem jest metoda orderBy(), w przypadku której kolejność wywołań ma znaczenie: wielokrotne wywołania tej metody określają wiele klauzul porządkowania, które będą stosowane w kolejności. Przyjrzyjmy się temu fragmentowi kodu:
selector = selector.forDateRange("LAST_14_DAYS")
.orderBy("metrics.clicks DESC")
.orderBy("metrics.ctr ASC");
Wyniki zostaną posortowane według liczby kliknięć w kolejności malejącej. Wyniki o równej liczbie kliknięć zostaną posortowane według współczynnika klikalności w kolejności rosnącej.
Wywołania metod selektora można łączyć w łańcuchy. Ten kod:
var campaignSelector = AdsApp.campaigns();
campaignSelector.withCondition("metrics.clicks > 10");
campaignSelector.withCondition("metrics.impressions > 1000");
campaignSelector.orderBy("metrics.impressions DESC");
campaignSelector.forDateRange("YESTERDAY");
można zapisać w bardziej zwięzły sposób:
var campaignSelector = AdsApp.campaigns()
.withCondition("metrics.clicks > 10")
.withCondition("metrics.impressions > 1000")
.orderBy("metrics.impressions DESC")
.forDateRange("YESTERDAY");
Po utworzeniu selektora można uzyskać z niego
iterator, wywołując metodę
selector.get().
Więcej wskazówek i porad dotyczących efektywnego korzystania z selektorów znajdziesz w artykule Sprawdzone metody.