सिलेक्टर

सिलेक्टर की मदद से प्रोग्रामर, ऐसी क्वेरी बनाता है जो मनमुताबिक Google Ads इकाइयों को फ़ेच करती है. सिलेक्टर की मदद से, कोई भी व्यक्ति इकाइयों को निकाला और उसे ऑर्डर किया. ज़्यादातर सिलेक्टर के लिए ये तरीक़े इस्तेमाल किए जाते हैं:

withCondition()
किसी सिलेक्टर में शर्त जोड़ता है. अगर कई शर्तों का इस्तेमाल किया जाता है, तो वे AND-ed एक साथ, दूसरे शब्दों में कहें, तो सिलेक्टर सिर्फ़ ऐसी इकाइयां दिखाएगा जो बताई गई सभी शर्तें पूरी करता है.
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 पाया जा सकता है.

सिलेक्टर के बेहतर इस्तेमाल से जुड़ी सलाह और तरकीबें पाने के लिए, सबसे सही तरीके लेख पढ़ें.