הסלקטורים עוזרים למתכנת לבנות את השאילתה שמביאה את ישויות Google Ads המבוקשות. בעזרת סלקטורים אפשר לצמצם את רשימת הישויות שאוחזרו ולסדר אותה. לרוב הבוררים יש את השיטות הבאות:
withCondition()- הוספת תנאי לבורר. אם משתמשים בכמה תנאים, הם מחוברים באמצעות AND. כלומר, בורר הישויות יחזיר רק ישויות שמקיימות את כל התנאים שצוינו.
withIds()- מוסיף אוסף של מזהים כתנאי. תנאי שמבוסס על מזהה יצורף באמצעות AND לכל התנאים האחרים.
forDateRange()- נדרש כשסעיף של תנאי או סדר מפנה לשדה Stats, כמו Ctr או Impressions. אם מבקשים את כל הקמפיינים עם יותר מ-100 חשיפות, סקריפטים של Google Ads יצטרכו לדעת את טווח התאריכים לבדיקה.
orderBy()- מציין את הסדר של הישויות שמוחזרות.
withLimit()- מגבילה את מספר הישויות שמוחזרות לערך שצוין. היא שימושית במיוחד בשילוב עם
orderBy()כדי לאחזר נתונים כמו "10 מילות המפתח עם הכי הרבה חשיפות אתמול". כברירת מחדל, כל הסלקטורים יגדירו את המגבלה ל-50,000. אפשר להגדיל את המגבלה על ידי הגדרה ידנית של מגבלה.
אפשר להפעיל את ה-methods האלה בכל סדר. יוצא מן הכלל הוא 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");
אחרי שיוצרים את בורר התוצאות, אפשר לקבל ממנו Iterator על ידי קריאה ל-selector.get().
כדאי לקרוא את המאמר בנושא שיטות מומלצות כדי לקבל טיפים וטריקים לשימוש יעיל בסלקטורים.