Academy/Scripts/Autopaus vid lågt kvalitetsresultat

Autopaus vid lågt kvalitetsresultat

SEM & Google Adsgoogle-ads-script12 mars 2026

Pausar automatiskt sökord med Quality Score under ett tröskelvärde. Sparar budget genom att stänga av underpresterare.

#google-ads#quality-score#automation#budget
auto-pause-low-qs.js
/**
 * Auto-Pause Low Quality Score Keywords
 * Pausar sökord med QS under tröskelvärdet.
 *
 * Konfigurera:
 * - MIN_QS: Lägsta acceptabla Quality Score (default 4)
 * - MIN_IMPRESSIONS: Minsta antal visningar innan evaluering
 * - DRY_RUN: true = loggar bara, false = pausar på riktigt
 */

var MIN_QS = 4;
var MIN_IMPRESSIONS = 100;
var DRY_RUN = true; // Sätt till false för att pausa på riktigt
var EMAIL = "din@email.se";

function main() {
  var paused = [];

  var keywords = AdsApp.keywords()
    .withCondition("Status = ENABLED")
    .withCondition("CampaignStatus = ENABLED")
    .withCondition("QualityScore < " + MIN_QS)
    .forDateRange("LAST_30_DAYS")
    .withCondition("Impressions > " + MIN_IMPRESSIONS)
    .get();

  while (keywords.hasNext()) {
    var kw = keywords.next();
    var qs = kw.getQualityScore();
    var stats = kw.getStatsFor("LAST_30_DAYS");

    paused.push({
      keyword: kw.getText(),
      campaign: kw.getCampaign().getName(),
      adGroup: kw.getAdGroup().getName(),
      qs: qs,
      clicks: stats.getClicks(),
      cost: stats.getCost(),
      conversions: stats.getConversions()
    });

    if (!DRY_RUN) {
      kw.pause();
    }
  }

  if (paused.length > 0) {
    var action = DRY_RUN ? "SKULLE PAUSAS (dry run)" : "PAUSADE";
    var body = action + " " + paused.length + " sökord:\n\n";
    paused.forEach(function(p) {
      body += p.keyword + " (QS: " + p.qs + ", Kostnad: " + p.cost + " SEK)\n";
      body += "  Kampanj: " + p.campaign + " → " + p.adGroup + "\n\n";
    });
    MailApp.sendEmail(EMAIL, "🔄 QS Auto-Pause: " + paused.length + " sökord", body);
  }

  Logger.log((DRY_RUN ? "[DRY RUN] " : "") + "Processade " + paused.length + " sökord");
}

Prova scriptet i ett demokonto

Se loggen, ändringarna och vad utfallet betyder — innan du klistrar in det i Google Ads.

Demokonto
Skript · Autopaus vid lågt kvalitetsresultat
Inte körd ännu
/**
* Auto-Pause Low Quality Score Keywords
* Pausar sökord med QS under tröskelvärdet.
*
* Konfigurera:
* - MIN_QS: Lägsta acceptabla Quality Score (default 4)
* - MIN_IMPRESSIONS: Minsta antal visningar innan evaluering
* - DRY_RUN: true = loggar bara, false = pausar på riktigt
*/
var MIN_QS = 4;
var MIN_IMPRESSIONS = 100;
var DRY_RUN = true; // Sätt till false för att pausa på riktigt
var EMAIL = "din@email.se";
function main() {
var paused = [];
var keywords = AdsApp.keywords()
.withCondition("Status = ENABLED")
.withCondition("CampaignStatus = ENABLED")
.withCondition("QualityScore < " + MIN_QS)
.forDateRange("LAST_30_DAYS")
.withCondition("Impressions > " + MIN_IMPRESSIONS)
.get();
while (keywords.hasNext()) {
var kw = keywords.next();
var qs = kw.getQualityScore();
var stats = kw.getStatsFor("LAST_30_DAYS");
paused.push({
keyword: kw.getText(),
campaign: kw.getCampaign().getName(),
adGroup: kw.getAdGroup().getName(),
qs: qs,
clicks: stats.getClicks(),
cost: stats.getCost(),
conversions: stats.getConversions()
});
if (!DRY_RUN) {
kw.pause();
}
}
if (paused.length > 0) {
var action = DRY_RUN ? "SKULLE PAUSAS (dry run)" : "PAUSADE";
var body = action + " " + paused.length + " sökord:\n\n";
paused.forEach(function(p) {
body += p.keyword + " (QS: " + p.qs + ", Kostnad: " + p.cost + " SEK)\n";
body += " Kampanj: " + p.campaign + " → " + p.adGroup + "\n\n";
});
MailApp.sendEmail(EMAIL, "🔄 QS Auto-Pause: " + paused.length + " sökord", body);
}
Logger.log((DRY_RUN ? "[DRY RUN] " : "") + "Processade " + paused.length + " sökord");
}
Tryck på Förhandsgranska för att se vad skriptet gör i demokontot.

Simulerad körning i ett påhittat demokonto. Skriptets riktiga kod körs i din webbläsare mot exempeldata — inget ansluts till Google Ads, inga mejl skickas och inga kalkylark skapas.

Instruktioner

Så använder du scriptet

Konfiguration

  • MIN_QS: Tröskelvärde för Quality Score (default: 4). Sökord under detta pausas.
  • MIN_IMPRESSIONS: Kräv minst detta antal impressions innan evaluering (default: 100).
  • DRY_RUN: Sätt till true för att bara logga vad som *skulle* pausas, utan att faktiskt göra det.

Steg-för-steg

  • Kopiera scriptet till Google Ads → Verktyg → Scripts
  • Kör med DRY_RUN = true först och granska loggen
  • När du är nöjd, sätt DRY_RUN = false
  • Schemalägg att köra veckovis

    Varför detta script?

  • Sökord med låg Quality Score kostar mer per klick och rankas sämre. Genom att automatiskt identifiera och pausa dem frigör du budget till sökord som presterar bättre.