Google-Ads-Automatik
AktivAds-Automatikmaschine (ads-service) und Google Ads Berater 2.0: Pakete mit einer Freigabe, Echtkonto-Schalter je Kunde, Kampagnen-Check, RSA-Qualitätsraster und Conversion-Tracking über den google-bot
- Bereich
- Zentrale
- Start
- 18.07.2026
- Zuletzt
- 10.10.2026
- Am Zug
- René
sim-ops main pushen (Wiederherstellung 95376f6), Aktion 186 und das KW40-Paket für Fuchspack erneut freigeben und entscheiden, ob die unfertige Version 0.4.0 (Gebote automatisch) fertiggestellt wird
Worum es geht
Renés Ziel (10.09.2026): eine Google-Ads-Automatikmaschine, die es besser macht als andere Agenturen. Das System bringt die Ads-Expertise selbst mit, weil René sich mit den Details nicht auskennt. Der ads-service (Python, Coolify) spricht die Google Ads API, der Hub (Zentrale) ist die menschliche Freigabe: Der Berater plant Kanalmix und Kampagnen, der Optimierer erzeugt Pakete (eine Freigabe je Paket), ein Kampagnen-Check vergibt einen Score, ein Qualitätsraster prüft Anzeigen vorab im Code. Conversion-Tracking richtet der google-bot ein. Erstes Echtkonto ist Fuchspack, Ziel sind Fitnessstudios.
Stand
- M6 (18.07.): Infrastruktur und Maschine-zu-Maschine-Vertrag (Quell-Token
content-creator, Register, Datapack, Einreichung von Vorschlägen und Entwürfen). Die drei Content-Creator-Playbooks (ads.optimierung, ads.chancen, ads.konzept) sind installiert, aber pausiert. - Schema-Fix 20.07. (Hub v0.10.9 bis v0.12.9): Entwurfs-Schema im Prompt, Kunde aus
job.customer_key. Pipeline bewiesen (Entwürfe 9 und 10). - Erstes Echtkonto 21.07.: 7085441486 „Fuchspack UNIQBAG" unter MCC 8274801386, Modus klick.
- E0 und E1 (05.09., Hub v0.253.0 bis v0.254.3): Echtkonto-Schalter je Kunde in der Akte (
flags.ads_echtkonto), Berater mit Entscheidungsmatrix, drei Varianten, Bestätigung, Ein-Klick-Live-Schalter mit Guardrails. SIM-Konto 5791924245 unter dem MCC verknüpft. - E2a (10.09., ads-service 0.3.0 bis 0.3.1, Hub v0.268.0 bis v0.272.0): Katalog mit validate_only-Vorschau (RSA tauschen, Assets, Gebote, Zeitplan, Zielgruppen), Pakete mit einer Freigabe und Web-Push, Kampagnen-Check mit 15 Prüfpunkten und Score, Takt (täglich Negatives automatisch, Montag Wochenpaket), RSA-Qualitätsraster R1 bis R8 als Gate. Kalibrierung: echte Fuchspack-Anzeige 58 von 100 entspricht Googles „durchschnittlich“.
- Freigaben sichtbar (16.09., v0.314.0): Karte auf der Startseite und Freigabe-Mail alle 30 Minuten je neuem Paket.
- Wochen-Limit korrigiert (21.09., bbbac9b): nur Freigaben von Hand zählen.
- bidding_set-Fehler gelöst (28.09., 0.3.4-gebote-matchtype, 0e688b6): Google verlangt beim Wechsel auf Klicks maximieren das Zurücksetzen von „Weitgehend passend auf Kampagnenebene“.
- ads-service 0.3.5-gaql (01.10., 078703a): Nur-Lese-Abfrage
POST /api/gaql, ersetzt den Ads-MCP-Server. - Conversion-Tracking über den google-bot: Dienst
sim-tracking-servicein Coolify läuft (09.09., Node 22.23 gepinnt), SIM scharf (GTM-M4TWD8NN), Zentrale-Anbindung T2 live (Hub v0.264.1: Akte-Karte, Gate im Live-Schalter, Assistent). Fuchspack hat Quick-Scan als Conversion (Repo 678b1e7). Blaupause v5 mit where-Bedingungen. - Google Ads API v22 endete am 07.10.: ads-service und Tracking-Dienst laufen schon auf v24, kein Eingriff nötig (Befund 17.09.).
- Vorfall 10.10.: Ein versehentlicher Commit (1842b6d) in sim-ops ließ Coolify den ads-service mit der unfertigen Version 0.4.0 bauen. Wiederherstellung auf 0.3.5 als 95376f6 lokal, Push steht aus.
Offen
- René sim-ops main pushen (95376f6), damit Coolify wieder 0.3.5 baut. Push erst prüfen, dann als eigener Befehl.
- René Aktion 186 (KW40-Paket p-85a13d6e2e88) steht auf
fehler: nur den UPDATE-Teil des Skripts/root/transfer/ads/gebote-fix-ausrollen.shausführen, dann das Paket in der Zentrale erneut freigeben. - René entscheiden, ob die unfertige Version 0.4.0-gebote-automatisch (Tageslauf stellt Gebotsstrategie selbst um, Lernphase auch für bidding_set) fertiggestellt und ausgerollt oder verworfen wird. Stand liegt in 1842b6d.
- René Fuchspack-Bestand: Montags erzeugte Pakete für die drei laufenden Kampagnen freigeben oder verwerfen. Verpackungs-Check-Kampagne 24128838162 im Blick behalten.
- René Campaign #1 (24211985883, Performance Max, 5 € am Tag) im SIM-Konto pausieren oder entfernen, falls noch nicht geschehen (prüfen, laut Notiz vom 05.09. pausiert René selbst; im Google-bot-Befund vom 09.09. steht sie als PAUSED).
- René Altkonto 5002800255 „xxx Studios in Motion" als Archiv behalten oder schließen.
- René Google-Ads-Onboarding eines Fitness-Kunden anstoßen (T3 Standard-Tracking-Paket), danach ▶ ich: die acht Lücken zur Vollautomatik (etwa 5 bis 6 Arbeitstage).
- ich Check G1 soll die Kampagnen-Einstellung vorab nennen, Hub-Fehlertexte sollen
failure.errorszeigen. Optional Hub-Proxy/api/ads/gaql. - ich E2 Kanäle (Performance Max, Demand Gen, Display mit Assets und Zielgruppen), E3 Ziele und Offline-Import „Mitglied geworden", E4 Rund-um-die-Uhr-Wächter, E5 Video und Meta.
- ich Assets in laufenden RSAs per AdService ändern, Kombinationsbericht, Fitness-Negativliste und Radius, Benchmarks im Monatsbericht, Ergebnis-Rückkopplung vor und nach dem Tausch.
- ich
rsaPromptauf 1 Pin und Keyword-Pflicht in Beschreibungen umstellen (Notiz vom 10.09., Stand prüfen). - ich monatliche Wiedervorlage „Ads-Quellen sichten“. Playbooks des Content Creators nach Renés Durchsicht aktivieren.
Entscheidungen und Regeln
- 2026-09-05: Echtkonto-Schreibzugriff je Kunde gewollt („Du solltest schon die Fähigkeit haben, eine Anzeige zu pausieren“). Ein-Klick-Live aus der Zentrale ja. Autonomie-Start: Not-Aus und Negatives automatisch, Rest als Vorschlag. Budget-Caps 50 und 200 bleiben.
- 2026-09-10: Nie wieder Skript am Dienst vorbei, alles über Katalog, Pakete und Freigabe. Testbudget klein (Verpackungs-Check 10 € am Tag), aber jeden Optimierungshebel nutzen. Budgeterhöhungen nur vorschlagen, nie setzen.
- 2026-09-10: Öffentliche Bewertungskriterien einer Plattform kommen vorab als deterministisches Raster in den Code, das LLM bessert nach Befunden nach (Lehre aus dem „durchschnittlich“ bewerteten RSA).
- 2026-09-09: Ads-Konto bleibt beim ads-service (Echtkonto-Schalter, Guardrails, mutate_log), der google-bot macht GTM, GA4 und Verifikation. SIM-Werbung läuft über 5791924245.
- Anzeigenstärke ist nicht gleich Ergebnis (Optmyzr-Studien): kurze Titel bevorzugen, teilweises Pinning, Title Case.
- Ads-API-Aufrufe nie mehr mit
/v22/, immer die Version des ads-service (v24). - Der Auto-Modus-Klassifikator blockt alles rund um Echtkonto-Schreibzugriff, dafür braucht René den passenden Modus.
- Push auf main baut alle vier Dienste des Coolify-Stapels neu (ads, assistant, post, claude). Commits im ads-service nur mit eigenen Hunks.
- Hub-Rollout nur manuell (
cd /root/sim-ops/deploy && ./rollout.sh).
Verlauf
- Vorfall und Wiederherstellung auf 0.3.5-gaql (95376f6, 1842b6d), Regel „cd nie in einer Pipe-Kette“.
- ads-service 0.3.5-gaql live (078703a), damit auch Gebote-Fix 0.3.4.
- bidding_set-Fehler gelöst (0e688b6, 0.3.4-gebote-matchtype).
- Wochen-Limit korrigiert (bbbac9b), Guardrail-Gründe lesbar (e729bf9).
- Google-Mail zum Ende von API v22 geprüft, nichts zu tun.
- Ads-Freigaben auf der Startseite und per Mail (Hub v0.314.0, dcedf43).
- E2a komplett live in vier Schritten (ads-service 0.3.0-e2a bis 0.3.1-rsa, Hub v0.268.0 bis v0.272.0, ce1931d, a5002c1, 6ae4749), Quellen-Lernstand, Onboarding-Checkliste.
- google-bot als Dienst
sim-tracking-service, Kontofrage gelöst, T1 SIM scharf, T2 Zentrale live (Hub v0.264.1). - google-bot geprüft und dokumentiert, Repo für den Bot freigegeben.
- Berater 2.0 Konzept, E0 und E1 live (Hub v0.253.0 bis v0.254.3), SIM-Konto verknüpft.
- Erstes Echtkonto Fuchspack zugeordnet.
- Schema-Fix für den ads.konzept-Agenten.
- M6 Infrastruktur und M2M-Vertrag live (169f1d7).
Wo liegt was
- Dienst:
/root/sim-ops/ads-service/(Python,app/main.py,executors.py,check.py,rsa_qualitaet.py,gaql.py,guardrails.py, Tests), läuft in Coolify als sim-ads-service, Push auf main = Deploy. Skript für den Gebote-Fix:/root/transfer/ads/gebote-fix-ausrollen.sh. - Hub:
/root/sim-ops/hub/src/ads.ts,adsBerater.ts,adsOptimierer.ts,adsschema.ts(Spiegel des Draft-Schemas, Quelle bleibt der ads-service),dispatcher.ts(Playbooks). Tabellen im Hub:ads_plaene,kampagnen_scores. Datenbank des Dienstes:ads.db(u. a.kampagnen,vorschlaege, Entwürfe, Pakete,mutate_log). - Zentrale: Ads-Bereich (Berater-Karte, Paket-Karten), Akte › Ads-Karte mit Echtkonto-Schalter, Karte „Optimierungsgrad“, Akte-Karte Conversion-Tracking, Startseite mit Ads-Freigaben.
- Tracking: Repo
/root/agent-google-conversion(config/sites.json, Blaupause v5,service/http.js), Coolify-Ressource sim-tracking-service (Alias im Compose-Netz, Port 8095), Messdienste je Kunde auf netcup. Env-Werte des Dienstes in Coolify, Zugangsdatei des alten Bots unter/root/transfer/keys/. - Konten: MCC 8274801386 mit 7085441486 (Fuchspack UNIQBAG) und 5791924245 (studios in motion GmbH). Testkonto 4473200717. Altkonto 5002800255 liegt nicht im MCC. Developer-Token und OAuth-Clients nur in Umgebungsvariablen der Dienste (
ADS_DEVELOPER_TOKEN,ADS_CLIENT_ID,ADS_LOGIN_CUSTOMER_ID), Hub-Auth für Skripte: Headerx-admin-token. - Wiki:
50-Strategien/Gesamtsystem/(Google Ads Berater 2.0, Automatikmaschine Etappe Optimierer, Quellen und Lernstand, Onboarding-Checkliste neuer Kunde, Tracking-Automatik google-bot, Google Ads Architektur, Google Ads Agent).