0221 292 474 80

Mo. - Fr. 09:00 - 18:00 Uhr

Google Ads. Richtig gemacht.

Für volle Auftragsbücher

Google Ads Scripte

Es gibt unzählige Einsatzmöglichkeiten für Google Ads Scripts – doch sie sollten immer mit Bedacht verwendet werden!

Hier sind drei meiner persönlichen Favoriten:

Script 1:

Kampagnen automatisch pausieren, wenn das Tagesbudget erreicht ist

Dieses Script sorgt dafür, dass Ihre Kampagnen automatisch pausiert werden, sobald das eingestellte Tagesbudget erreicht ist.

Am nächsten Tag, ab acht Uhr morgens, werden sie wieder automatisch aktiviert. Das ist besonders praktisch, wenn Sie nicht jeden Tag selbst kontrollieren möchten, ob Google Ihr Budget überzieht – was durchaus vorkommen kann.

Gerade bei Änderungen einer Kampange, dreht Google gerne mal durch. Das Script verhindert, dass unnötig Geld ausgegeben wird. Einfach einmal einrichten und entspannt zurücklehnen.

				
					/**
 * Google-Ads-Script: Kampagnen pausieren, wenn Tagesbudget erreicht ist
 * – pausiert sofort, wenn Tages-Spend >= Budget
 * – aktiviert automatisch am Folgetag ab 08:00 Uhr
 *
 * Zeitplan: täglich (am besten stündlich)
 * Voraussetzung: Label "PausedByBudget" wird automatisch erstellt
 */

const PAUSE_LABEL = 'PausedByBudget';
const RESUME_HOUR = 8; // 08:00 Uhr Kontozeit

function main() {
  ensureLabel();
  const now = new Date();

  if (now.getHours() >= RESUME_HOUR) {
    resumeCampaigns();
  }

  pauseOverspenders();
}

// Label erzeugen, falls nicht vorhanden
function ensureLabel() {
  if (AdsApp.labels().withCondition(`Name = '${PAUSE_LABEL}'`).get().totalNumEntities() === 0) {
    AdsApp.createLabel(PAUSE_LABEL, 'Automatisch erzeugtes Label für Budget-Pause');
  }
}

// Kampagnen mit Label reaktivieren (nur nach 8 Uhr)
function resumeCampaigns() {
  const paused = AdsApp.campaigns()
    .withCondition('Status = PAUSED')
    .withCondition(`LabelNames CONTAINS '${PAUSE_LABEL}'`)
    .get();

  while (paused.hasNext()) {
    const c = paused.next();
    c.enable();
    c.removeLabel(PAUSE_LABEL);
    Logger.log(`Kampagne reaktiviert: ${c.getName()}`);
  }
}

// Kampagnen pausieren, wenn Tageskosten >= Budget
function pauseOverspenders() {
  const running = AdsApp.campaigns()
    .withCondition('Status = ENABLED')
    .get();

  while (running.hasNext()) {
    const c = running.next();
    const stats = c.getStatsFor('TODAY');
    const spend = stats.getCost();
    const limit = c.getBudget().getAmount();

    if (spend >= limit) {
      c.applyLabel(PAUSE_LABEL);
      c.pause();
      Logger.log(`Kampagne pausiert: ${c.getName()} – ${spend.toFixed(2)} € von ${limit.toFixed(2)} €`);
    }
  }
}

				
			

Script 2:

Warnung bei Klickbetrug: Automatisch benachrichtigt bei über 10 Prozent ungültiger Klicks

Dieses Script prüft täglich, ob der Anteil ungültiger Klicks in Ihrem Konto am Vortag über 10 Prozent lag. Wenn das der Fall ist, erhalten Sie automatisch eine E-Mail-Benachrichtigung. So erkennen Sie frühzeitig möglichen Klickbetrug oder ineffiziente Platzierungen, ohne täglich selbst ins Konto schauen zu müssen. Ideal für alle, die ihre Klickqualität im Blick behalten möchten.

				
					/**
 * Google Ads Script: Warnung bei ungültigen Klicks
 * Sendet eine E-Mail, wenn der Anteil ungültiger Klicks gestern über 10 % lag
 *
 * Zeitplan: täglich (z. B. 10:00 Uhr)
 */

const ALERT_EMAIL = 'deine@email.de'; // ← Hier deine E-Mail eintragen
const THRESHOLD_PERCENT = 10;

function main() {
  const stats = AdsApp.currentAccount().getStatsFor('YESTERDAY');
  const clicks = stats.getClicks();
  const invalidClicks = stats.getInvalidClicks();

  if (clicks === 0) {
    Logger.log('Gestern wurden keine Klicks erfasst.');
    return;
  }

  const ratio = (invalidClicks / clicks) * 100;
  Logger.log(`Ungültige Klicks: ${invalidClicks} von ${clicks} (${ratio.toFixed(2)}%)`);

  if (ratio > THRESHOLD_PERCENT) {
    const subject = 'Warnung: Mehr als 10% ungültige Klicks erkannt';
    const body =
      `Gestern wurden ${invalidClicks} ungültige Klicks bei insgesamt ${clicks} Klicks festgestellt.\n` +
      `Das entspricht einer Quote von ${ratio.toFixed(2)}%.\n\n` +
      `Bitte überprüfe deine Kampagnen, Placements oder Zielgruppen.`;

    MailApp.sendEmail(ALERT_EMAIL, subject, body);
    Logger.log('E-Mail wurde versendet.');
  } else {
    Logger.log('Quote unter 10%. Keine E-Mail gesendet.');
  }
}

				
			

Was macht dieses Script genau?
Es analysiert die Klicks vom Vortag. Wenn mehr als 10 % davon ungültig waren (z. B. durch Bots, Dopplungen oder Klickbetrug), bekommen Sie eine automatische Warn-E-Mail. Die Daten stammen direkt aus Ihrem Google-Ads-Konto.

Wichtig zu wissen:

  • Die Zahl der ungültigen Klicks wird von Google rückwirkend erfasst. Deshalb prüft das Script immer gestern (YESTERDAY).
  • Du musst im Script deine E-Mail-Adresse eintragen (ALERT_EMAIL).
  • Die Mail wird nur gesendet, wenn der Schwellenwert überschritten wird.
  • Das Script funktioniert auf Konto-Ebene, nicht auf Kampagnen-Ebene.
  • Wann und wie oft sollte es laufen?
    → Am besten täglich um 9 oder 10 Uhr morgens, damit Google die Daten vom Vortag vollständig berechnet hat.

Script 3:

Automatische Warnung bei überteuerten Klickpreisen
Dieses Script prüft täglich, wie hoch Ihr durchschnittlicher Klickpreis am Vortag war. Wenn der Wert über 5 Euro liegt, erhalten Sie automatisch eine E-Mail-Benachrichtigung. So können Sie rechtzeitig reagieren, bevor Ihr Budget durch überteuerte Klicks unnötig belastet wird. Ideal, wenn Sie nicht täglich selbst kontrollieren möchten, aber dennoch den Überblick behalten wollen.
				
					/**
 * Google Ads Script: Warnung bei zu hohem durchschnittlichen CPC
 * Sendet eine E-Mail, wenn der durchschnittliche CPC gestern über 5 Euro lag
 *
 * Zeitplan: täglich (z. B. 9:00 Uhr)
 */

const ALERT_EMAIL = 'deine@email.de'; // ← Hier deine E-Mail-Adresse eintragen
const CPC_LIMIT_EUR = 5.00;

function main() {
  const stats = AdsApp.currentAccount().getStatsFor('YESTERDAY');
  const clicks = stats.getClicks();
  const cost = stats.getCost();

  if (clicks === 0) {
    Logger.log('Gestern keine Klicks erhalten.');
    return;
  }

  const avgCpc = cost / clicks;
  Logger.log(`Durchschnittlicher CPC gestern: ${avgCpc.toFixed(2)} €`);

  if (avgCpc > CPC_LIMIT_EUR) {
    const subject = `Warnung: Durchschnittlicher CPC über ${CPC_LIMIT_EUR} €`;
    const body =
      `Am gestrigen Tag lag der durchschnittliche CPC bei ${avgCpc.toFixed(2)} €.\n\n` +
      `Gesamtkosten: ${cost.toFixed(2)} €\n` +
      `Klicks: ${clicks}\n\n` +
      `Bitte Kampagnen, Gebote oder Suchbegriffe prüfen.`;

    MailApp.sendEmail(ALERT_EMAIL, subject, body);
    Logger.log('Warn-E-Mail wurde gesendet.');
  } else {
    Logger.log('CPC unter Schwellwert. Keine E-Mail nötig.');
  }
}

				
			

Hinweise zur Anwendung:

  • Täglich morgens ausführen (z. B. 09:00 Uhr), damit die Daten von „gestern“ vollständig sind.
  • Du kannst den Grenzwert jederzeit anpassen über CPC_LIMIT_EUR = 5.00.