Selektory pomagają programiście tworzyć zapytania, które pobierają żądane jednostki Google Ads. Selektory umożliwiają zawężenie listy pobranych encji i uporządkowanie jej. Większość selektorów ma te metody:
withCondition()
- Dodaje warunek do selektora. Jeśli używasz kilku warunków, są one połączone operatorem ORAZ, co oznacza, że selektor zwróci tylko te jednostki, które spełniają wszystkie określone warunki.
withIds()
- Dodaje kolekcję identyfikatorów jako warunek. Warunek oparty na identyfikatorze zostanie połączony operatorem ORAZ ze wszystkimi pozostałymi warunkami.
forDateRange()
- Jest wymagana, gdy warunek lub klauzula porządkowania odwołuje się do pola Statystyki, 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 jednostek.
withLimit()
- Ogranicza liczbę zwracanych jednostek do określonej wartości. Jest to szczególnie przydatne w połączeniu z
orderBy()
, aby pobierać informacje takie 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 go określając.
Metody te 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 będą określać wiele klauzul porządkujących, które będą stosowane w odpowiedniej kolejności. Rozważmy ten fragment kodu:
selector = selector.forDateRange("LAST_14_DAYS")
.orderBy("metrics.clicks DESC")
.orderBy("metrics.ctr ASC");
Wyniki zostaną posortowane malejąco według liczby kliknięć. Wyniki o równej liczbie kliknięć zostaną posortowane według CTR 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 selector.get()
.
Zapoznaj się ze sprawdzonymi metodami, aby poznać wskazówki i triki dotyczące efektywnego korzystania z selektorów.