Selektory pomagają programistom utworzyć zapytanie pobierające odpowiednie elementy Google Ads. Dzięki selektorom można zawęzić listę pozyskanych elementów i ustalić ich kolejność. Większość selektorów ma te metody:
withCondition()
- Dodaje warunek do selektora. Jeśli używasz wielu warunków, są one łączone za pomocą operatora AND. Innymi słowy, selektor zwróci tylko te elementy, które spełniają wszystkie określone warunki.
withIds()
- Dodaje kolekcję identyfikatorów jako warunek. Warunek oparty na identyfikatorze zostanie połączony z pozostałymi warunkami za pomocą operatora ORAZ.
forDateRange()
- Jest wymagany, gdy warunek lub klauzula sortowania odwołuje się do pola Statystyki, np. CTR lub Wyświetlenia. Jeśli chcesz pobrać dane ze wszystkich kampanii, które mają ponad 100 wyświetleń, skrypty Google Ads muszą znać zakres dat, w którym mają je wyszukiwać.
orderBy()
- Określa kolejność zwracanych elementów.
withLimit()
- Ogranicza liczbę zwracanych elementów do określonej wartości. Jest to szczególnie przydatne w połączeniu z parametrem
orderBy()
, gdy chcesz pobrać dane takie jak „10 słów kluczowych z większą liczbą wyświetleń wczoraj”. Domyślnie limit dla wszystkich selektorów został ustawiony na 50 tys. Możesz zwiększyć limit, ręcznie podając jego wartość.
Te metody można wywoływać w dowolnej kolejności. Jedynym wyjątkiem jest metoda orderBy()
, w której kolejność wywołań ma znaczenie: wielokrotne wywołania tej metody spowodują utworzenie wielu klauzul porządkujących, które będą stosowane kolejno. Rozważ ten fragment kodu:
selector = selector.forDateRange("LAST_14_DAYS")
.orderBy("metrics.clicks DESC")
.orderBy("metrics.ctr ASC");
Wyniki będą posortowane malejąco według liczby kliknięć. Wyniki z jednakowymi wartościami kliknięć zostaną posortowane według CTR w kolejności rosnącej.
Wywołania metod selektora można ze sobą łączyć. 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 zwartej formie:
var campaignSelector = AdsApp.campaigns()
.withCondition("metrics.clicks > 10")
.withCondition("metrics.impressions > 1000")
.orderBy("metrics.impressions DESC")
.forDateRange("YESTERDAY");
Po utworzeniu selektora można z niego uzyskać Iterator, wywołując selector.get()
.
Zapoznaj się ze sprawdzonymi metodami, aby dowiedzieć się, jak efektywnie używać selektora.