הדפסה
הצעת מחיר למיקום

סקריפט הצעת מחיר למיקום מאפשר לנווט מילות מפתח למקום הרצוי הסקריפט מעלה או מוריד את הביד בהתאם למיקום הרצוי.

ניתן להריץ את הסקריפט
1. אחת לשעה
2. אחת ליום
3. אחת לשבוע
4. אחת לחודש

מומלץ אחת ליום או אחת לשבוע.

איך הסקריפט עובד

הסקריפט עושה שני דברים:

ראשית, הוא מוצא את מילות המפתח שממוצע המיקום שלה הוא נמוך מדי, ומגדיל את הצעות המחיר שלה.
לאחר מכן הסקריפט מוצא את כל מילות המפתח ש-Ctr שלהן הוא גבוה יותר מ -1% והמיקום ממוצע שלהן גבוה מדי, ומקטין את הצעות המחיר שלהן.

פרמטרים לעדכון

עדכון הפרמטרים הבאים בתסריט:

TARGET_AVERAGE_POSITION מציין את המיקום הממוצע שברצונכם להשיג.
ברגע שהמיקום הממוצע של מילת המפתח הוא בתוך הגבול המוגדר.

TOLERANCE הגבולות בינהם המיקום יכול לנוע.

BID_ADJUSTMENT_COEFFICIENT – המכפיל של השינוי בכל פעם שהסקריפט רץ
// המיקום אליו אתה שואף להגיע
var TARGET_AVERAGE_POSITION = 3;

// כאשר המיקום הממוצע יגיע ליעד שקבעת לא יהיו יותר שינויים בהצעות המחיר
// מהם הגבולות בהם המיקום יכול לנוע ברירת המחדל כאשר נקבע מיקום ממוצע 3 היא 2.9-3.1
var TOLERANCE = 0.1;

// בכמה לשנות את הצעת המחיר. ברירת המחדל 5%.
var BID_ADJUSTMENT_COEFFICIENT = 1.05;

function main() {
  raiseKeywordBids();
  lowerKeywordBids();
}

function raiseKeywordBids() {
  // התנאי לשינוי הצעת המחיר
  // יעד + גבולות
  //ברירת המחדל היא 7 ימים אחרונים 
  var keywordsToRaise = AdWordsApp.keywords()
    .withCondition("Status = ENABLED")
    .withCondition("AveragePosition > " + (TARGET_AVERAGE_POSITION + TOLERANCE))
    .orderBy("AveragePosition ASC")
    .forDateRange("LAST_7_DAYS")
    .get();

  while (keywordsToRaise.hasNext()) {
    var keyword = keywordsToRaise.next();
    keyword.setMaxCpc(keyword.getMaxCpc() * BID_ADJUSTMENT_COEFFICIENT);
  }
}

function lowerKeywordBids() {
  // תנאים להורדת הצער המחיר הם כאשר ה CTR נמוך מ 1% 
  // והמיקום הממוצע גבוה יותר (נמוך יותר) מהגבולות שנקבעו
  //ברירת המחדל 7 ימים אחרונים
  var keywordsToLower = AdWordsApp.keywords()
    .withCondition("Ctr > 0.01")
    .withCondition("AveragePosition < " + (TARGET_AVERAGE_POSITION - TOLERANCE))
    .withCondition("Status = ENABLED")
    .orderBy("AveragePosition DESC")
    .forDateRange("LAST_7_DAYS")
    .get();


  while (keywordsToLower.hasNext()) {
    var keyword = keywordsToLower.next();
    keyword.setMaxCpc(keyword.getMaxCpc() / BID_ADJUSTMENT_COEFFICIENT);
  }
}