Google Ads תומך במגוון סוגי מודעות, כמו מודעות טקסט, מודעות תמונה ומודעות לנייד. במדריך הזה מוסבר איך ליצור מודעות, לאחזר אותן ולדווח עליהן באמצעות סקריפטים של Google Ads. סקירה כללית של כל סוגי המודעות שנתמכים ב-Google Ads זמינה במדריך ה-API.
יצירה
סקריפטים יכולים ליצור מודעות באמצעות השיטה
newAd()
במופעים של
AdGroup. הפונקציה מחזירה AdBuilderSpace שיוצרת builders לסוגי מודעות נתמכים.
בקטע הקוד הבא אפשר לראות איך יוצרים מודעה רספונסיבית לרשת החיפוש:
let adOperation = adGroup.newAd().responsiveSearchAdBuilder()
.withHeadlines(["Headline 1", "Headline 2", "Headline 3"])
.withDescriptions(["Description 1", "Description 2"])
.withFinalUrl("http://www.example.com")
.withPath1("path1")
.withPath2("path2")
.build();
בדיקה
חלק מהמידע שמשויך לכל סוגי המודעות זמין באופן מיידי מAd, למשל מזהה המודעה וסטטוס האישור שלה. בנוסף, אפשר להשהות, להפעיל או להסיר כל מודעה.
כדי לגשת לשדות שספציפיים לסוג מודעה מסוים, כמו כותרות של מודעה רספונסיבית לרשת החיפוש, משתמשים בשיטה asType() כדי ליצור AdViewSpace.
הגישה הזו מספקת גרסה מורחבת של Ad שחושפת שיטות ספציפיות לסוגים.
קטע הקוד הבא מאחזר את הכותרות של כל מודעה רספונסיבית לרשת החיפוש:
const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
let ad = iterator.next();
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
}
שימו לב שהתנאי Type = RESPONSIVE_SEARCH_AD מבטיח שכל מודעה מהאיטרטור היא מודעה רספונסיבית לרשת החיפוש. ניסיון להציג מודעה עם סוג שגוי יגרום לשגיאה שתפסיק את ההרצה של הסקריפט, ולכן חשוב להציג שדות ספציפיים לסוג רק כשסוג המודעה ידוע.
בקטע הקוד הבא אפשר לראות איך קובעים אם סוג המודעה נכון באמצעות השיטה Ad.isType():
if (ad.isType().responsiveSearchAd()) {
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
let descriptions = responsiveSearchAd.getDescriptions();
}
אי אפשר לסנן מודעות לפי טקסט של כותרת באמצעות בוררים רגילים, אבל אפשר לסנן אותן ב-JavaScript אחרי שאחזרתם אותן:
const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
let ad = iterator.next();
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
// Filter for ads containing a specific headline.
if (headlines.some(h => h.getText().includes("Special Offer"))) {
console.log(`Found ad with ID ${ad.getId()}`);
}
}
דיווח
בתצוגה ad_group_ad אפשר להריץ שאילתות על שדות של מודעות בנוסף לנתונים סטטיסטיים רגילים. לדוגמה, אפשר לסנן לפי סוג המודעה באמצעות ad_group_ad.ad.type.
בקטע הקוד הבא אפשר לראות איך מאחזרים את הנתונים הסטטיסטיים של כל המודעות הרספונסיביות לרשת החיפוש:
const results = AdsApp.search(
"SELECT ad_group_ad.ad_group.id, " +
"ad_group_ad.ad.id, " +
"metrics.clicks, " +
"metrics.impressions, " +
"metrics.cost " +
"FROM ad_group_ad " +
"WHERE ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD' " +
"AND segments.date DURING LAST_7_DAYS");
while (results.hasNext()) {
let row = results.next();
let adId = row.adGroupAd.ad.id;
let clicks = row.metrics.clicks;
...
}
סינון לפי תוכן הנכס
כדי לסנן מודעות רספונסיביות לרשת החיפוש לפי התוכן של הכותרות או התיאורים שלהן בהיקף נרחב, אפשר להשתמש במשאב ad_group_ad_asset_view. בתצוגה הזו כל כותרת ותיאור מופיעים בשורה נפרדת,
כך שאפשר לסנן לפי הטקסט של הנכס.
קטע הקוד הבא מאחזר נתונים סטטיסטיים של כל המודעות הרספונסיביות לרשת החיפוש שכוללות כותרת ספציפית:
const results = AdsApp.search(
"SELECT ad_group_ad.ad.id, " +
"asset.text_asset.text, " +
"metrics.clicks, " +
"metrics.impressions " +
"FROM ad_group_ad_asset_view " +
"WHERE asset.text_asset.text LIKE '%Special Offer%' " +
"AND ad_group_ad_asset_view.field_type = 'HEADLINE'");
while (results.hasNext()) {
let row = results.next();
let adId = row.adGroupAd.ad.id;
let text = row.asset.textAsset.text;
let clicks = row.metrics.clicks;
console.log(`Ad ID ${adId} with headline "${text}" had ${clicks} clicks.`);
}
מידע נוסף על דיווח בסקריפטים זמין במדריך הדוחות.