प्रोग्रामर, सिलेक्टर की मदद से ऐसी क्वेरी बना सकता है जो अनुरोध की गई Google Ads की इकाइयां फ़ेच करती है. सिलेक्टर की मदद से, फ़ेच की गई इकाइयों की सूची को सीमित किया जा सकता है और उसे क्रम से लगाया जा सकता है. ज़्यादातर सिलेक्टर में ये तरीके होते हैं:
withCondition()- किसी सिलेक्टर में कोई शर्त जोड़ता है. अगर एक से ज़्यादा शर्तों का इस्तेमाल किया जाता है, तो उन्हें AND ऑपरेटर से जोड़ा जाता है. इसका मतलब है कि सिलेक्टर सिर्फ़ उन इकाइयों को लौटाएगा जो बताई गई सभी शर्तों को पूरा करती हैं.
withIds()- आईडी के कलेक्शन को शर्त के तौर पर जोड़ता है. आईडी के आधार पर तय की गई शर्त को, अन्य सभी शर्तों के साथ AND ऑपरेटर से जोड़ा जाएगा.
forDateRange()- इस तरीके का इस्तेमाल तब किया जाता है, जब कोई शर्त या क्रम से लगाने वाला क्लॉज़, Stats फ़ील्ड को रेफ़र करता है. जैसे, सीटीआर या इंप्रेशन. अगर आपने 100 से ज़्यादा इंप्रेशन वाले सभी कैंपेन का अनुरोध किया है, तो Google Ads स्क्रिप्ट को तारीख की वह सीमा पता होनी चाहिए जिसके बीच के डेटा को देखना है.
orderBy()- लौटाई गई इकाइयों को क्रम से लगाने का तरीका तय करता है.
withLimit()- लौटाई गई इकाइयों की संख्या को तय की गई वैल्यू तक सीमित करता है. इसका इस्तेमाल,
orderBy()के साथ करने पर खास तौर पर फ़ायदा मिलता है. जैसे, "कल सबसे ज़्यादा इंप्रेशन वाले 10 कीवर्ड" फ़ेच करना. डिफ़ॉल्ट रूप से, सभी सिलेक्टर सीमा को 50,000 पर सेट करेंगे. मैन्युअल तरीके से कोई सीमा तय करके, इस सीमा को बढ़ाया जा सकता है.
इन तरीकों को किसी भी क्रम में कॉल किया जा सकता है. हालांकि, orderBy() के मामले में कॉल का क्रम मायने रखता है. इस तरीके को एक से ज़्यादा बार कॉल करने पर, क्रम से लगाने के एक से ज़्यादा क्लॉज़ तय किए जाएंगे. ये क्लॉज़, तय किए गए क्रम में लागू होंगे. यह स्निपेट देखें:
selector = selector.forDateRange("LAST_14_DAYS")
.orderBy("metrics.clicks DESC")
.orderBy("metrics.ctr ASC");
नतीजों को, क्लिक की संख्या के हिसाब से घटते क्रम में लगाया जाएगा. जिन नतीजों में क्लिक की संख्या बराबर होगी उन्हें सीटीआर के हिसाब से बढ़ते क्रम में लगाया जाएगा.
किसी सिलेक्टर के तरीकों को एक साथ चेन किया जा सकता है. यहां दिया गया कोड
var campaignSelector = AdsApp.campaigns();
campaignSelector.withCondition("metrics.clicks > 10");
campaignSelector.withCondition("metrics.impressions > 1000");
campaignSelector.orderBy("metrics.impressions DESC");
campaignSelector.forDateRange("YESTERDAY");
को ज़्यादा कॉम्पैक्ट तरीके से फिर से लिखा जा सकता है:
var campaignSelector = AdsApp.campaigns()
.withCondition("metrics.clicks > 10")
.withCondition("metrics.impressions > 1000")
.orderBy("metrics.impressions DESC")
.forDateRange("YESTERDAY");
सिलेक्टर बनाने के बाद, उससे एक
इटरेटर हासिल किया जा सकता है, जिसे
selector.get() कॉल करके.
सिलेक्टर का असरदार तरीके से इस्तेमाल करने के लिए, सलाह और सुझाव पाने के लिए सबसे सही तरीके पढ़ें.