सिलेक्टर की मदद से प्रोग्रामर, ऐसी क्वेरी बनाता है जो मनमुताबिक Google Ads इकाइयों को फ़ेच करती है. चुनने के लिए उपलब्ध विकल्पों की मदद से, खोजी गई इकाइयों की सूची को छोटा किया जा सकता है और उसे क्रम में लगाया जा सकता है. ज़्यादातर सिलेक्टर के लिए ये तरीक़े इस्तेमाल किए जाते हैं:
withCondition()
- किसी सिलेक्टर में शर्त जोड़ता है. अगर एक से ज़्यादा शर्तों का इस्तेमाल किया जाता है, तो उन्हें एक साथ AND किया जाता है. दूसरे शब्दों में, सिलेक्टर सिर्फ़ उन इकाइयों को दिखाएगा जो बताई गई सभी शर्तों को पूरा करती हैं.
withIds()
- शर्त के तौर पर आईडी का कलेक्शन जोड़ता है. आईडी पर आधारित शर्त को अन्य सभी शर्तों के साथ AND-ed किया जाएगा.
forDateRange()
- इसकी ज़रूरत तब होती है, जब कोई शर्त या क्रम तय करने वाला क्लॉज़, आंकड़े फ़ील्ड का रेफ़रंस देता है. जैसे, सीटीआर या इंप्रेशन. अगर 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()
को कॉल करके, उससे Iterator पाया जा सकता है.
सिलेक्टर के बेहतर इस्तेमाल से जुड़ी सलाह और तरकीबें पाने के लिए, सबसे सही तरीके लेख पढ़ें.