KI gestützte Marketingautomatisierung: mehr als Drip Kampagnen

Kurz gesagt

Niveau: Fortgeschritten

Eine Drip Kampagne schickt allen dieselben Mails im selben Takt. KI gestützte Automatisierung entscheidet pro Kunde.

  • Dynamische Preise: vorschlagen, den Vorschlag gegen eine Freigabegrenze prüfen, dann auf Marge, Tagesänderung und UVP begrenzen.
  • Empfehlungen: Historie, Surfverhalten, Kontext und Timing verbinden und jede Kategorie begrenzen, damit die Liste nicht achtmal dasselbe zeigt.
  • Abwanderung: fünf Punkte mehr Bindung können den Kundenwert um rund ein Fünftel heben, und seit Apples Mail Privacy Protection sind Klicks das bessere Signal als Öffnungen.
  • Kampagnenagenten: Zielgruppen aus Kundenlisten brauchen bei Google 100 aktive Nutzer, das Ausrichten 90 Tage Verlauf und mehr als 50.000 US Dollar Ausgaben, und der Upload in Deutschland die Einwilligung.
  • Regeln: Einwilligung oder die Ausnahme für Bestandskunden nach § 7 UWG für Werbemails, das Widerspruchsrecht nach Art. 21 DSGVO und Schutzmaßnahmen nach Art. 22 DSGVO für automatisierte Entscheidungen.

Die meiste Marketingautomatisierung ist 2026 immer noch ein Flussdiagramm mit Verteiler. Ich zeige, was sich ändert, wenn Modelle die Entscheidungen treffen, bei Preisen, Empfehlungen, Abwanderung und Kampagnenbudgets, mit den Leitplanken, der Rechnung und den deutschen Regeln aus DSGVO und UWG, die jedes davon braucht, durchgerechnet an einem erfundenen Outdoorshop in Leipzig.

Eine Drip Kampagne ist eine Zeitschaltuhr mit Verteiler

So sieht Marketingautomatisierung 2026 in den meisten eCommerce Unternehmen aus. Jemand meldet sich an und bekommt eine Willkommensmail. Drei Tage später eine Mail mit Bestsellern. Eine Woche später einen Rabattcode. Wer kauft, landet in der Strecke nach dem Kauf. Wer nicht kauft, bekommt noch drei Erinnerungen und wird dann als inaktiv markiert.

Das ist eine Drip Kampagne. Vor zehn Jahren war sie ein großer Schritt nach vorn. Heute ist sie ein Flussdiagramm, das so tut, als wäre es Intelligenz. Die Mails gehen im selben Takt raus, ob die Kundin auf Schnäppchen aus ist oder zum Premiumsegment greift. Die Empfehlungen sind für alle dieselben Bestseller. Das Timing ist eine willkürliche Verzögerung. Und der Rabattcode verschenkt Marge an Leute, die auch den vollen Preis gezahlt hätten.

Vieles, was heute als "KI gestützte Marketingautomatisierung" verkauft wird, ist dasselbe Flussdiagramm, bei dem ein Sprachmodell die Betreffzeilen schreibt. Das ist keine Verwandlung. Das ist eine neue Schriftart.

Echte KI gestützte Automatisierung unterscheidet sich in vier Punkten.

Vorausschauend statt reagierend. Sie schätzt, was eine Kundin wahrscheinlich tun wird, und handelt, bevor sie es tut.

Einzeln statt in Schubladen. Klassische Automatisierung sortiert Menschen in "hoher Wert", "gefährdet" und "neu angemeldet". Ein Modell bewertet jede Kundin nach ihrem eigenen Verhalten.

Fortlaufend statt der Reihe nach. Ein Drip hat einen Anfang und ein Ende. Ein Modell bewertet, lernt und passt immer weiter an.

Gelernt statt von Hand geschrieben. Jede Regel in deiner heutigen Automatisierung hat jemand geschrieben: "Liegt der Warenkorb über 100 €, biete kostenlosen Versand an." Ein Modell lernt, welche Maßnahmen bei welchen Kunden wirken.

Rechenbeispiel: dieselbe Begrüßung, auf zwei Arten

Muldenpfad Outdoor ist ein erfundener Shop für Outdoorausrüstung in Leipzig unter muldenpfad.example. Zwei Menschen melden sich am selben Montag an. Jana hat sich zwanzig Minuten lang drei Regenjacken für 300 € angesehen. Malte hat zwei Minuten auf der Seite mit dem Sale verbracht.

Der Drip schickt beiden dieselben drei Mails: Willkommen am Montag, Bestseller am Donnerstag, 10 % Rabatt am Montag darauf. Jana bekommt 10 % auf eine Jacke, die sie ohnehin kaufen wollte, Muldenpfad verschenkt also 30 €. Malte bekommt Bestseller zum vollen Preis, die falsche Seite für jemanden, der auf Schnäppchen aus ist.

Ein Ansatz mit Bewertung schickt Jana am Dienstag einen Vergleich der Jacken, ohne Rabatt, und Malte am Mittwoch den Saisonschlussverkauf. Dieselben Werkzeuge, dieselbe Mailplattform. Der Unterschied ist, dass etwas pro Person entschieden hat, was rausgeht.

Dieser Artikel behandelt vier Stellen, an denen das zählt: Preise, Empfehlungen, Abwanderung und Kampagnenbudgets. Eine Warnung vorab. Mailautomatisierung und Werbezielgruppen haben ihre eigene Verkabelung und ihre eigenen Regeln, die ich in Anzeigen aus Mailaktivität auslösen und ein einheitlicher Stack für Kampagnenautomatisierung auseinandernehme. Alles hier setzt voraus, dass diese Verkabelung stimmt.

Dynamische Preise brauchen Leitplanken, bevor sie ein Modell brauchen

Dynamische Preise sind der mächtigste und am meisten missverstandene Einsatz von KI im eCommerce. Gemeint sind keine Aufschläge, die bei Spitzennachfrage die Kundschaft ausquetschen. Richtig gemacht, findet das Verfahren für jedes Produkt einen tragfähigen Preis und passt ihn an, wenn sich Nachfrage, Wettbewerb, Bestand und Saison ändern.

Die Kernidee ist die Preiselastizität: wie stark sich die Nachfrage bewegt, wenn sich der Preis bewegt. Manche Produkte sind elastisch (die Kundschaft wechselt schon bei 5 % Unterschied). Andere sind unelastisch (Menschen zahlen für Bequemlichkeit, Vertrauen oder Qualität). Die Elastizität gut zu schätzen ist ein Regressionsproblem, Schritt für Schritt durchgerechnet in Nachfrage und Preiselastizität mit Regression modellieren. Grundlagen: Elastizität

Das Modell ist der einfache Teil. An der Steuerung scheitern die meisten Umsetzungen. Ohne Grenzen kann ein Preisalgorithmus sich mit einem Wettbewerber ein Rennen nach unten liefern, Preise so springen lassen, dass die Kundschaft ihnen nicht mehr traut, oder langfristige Treue gegen eine gute Woche tauschen. Die Form der Maschine ist deshalb: vorschlagen, den Vorschlag prüfen, dann begrenzen.

class DynamicPricingEngine
  GUARDRAILS = {
    min_margin: 0.15,        # nie unter 15 % Marge auf den Einkaufspreis
    max_daily_change: 0.08,  # höchstens 8 % am Tag
    max_above_rrp: 0.05,     # höchstens 5 % über der unverbindlichen Preisempfehlung
    approval_above: 0.15     # ein Vorschlag über 15 % geht an einen Menschen
  }.freeze

  def reprice(variant)
    current = variant.price
    proposed = PriceModel.optimal_price(variant) # Nachfrage, Bestand, Preise der Konkurrenz, Saison
    change = ((proposed - current) / current).abs

    if change > GUARDRAILS[:approval_above]
      PricingApprovalQueue.enqueue(variant: variant, current: current, proposed: proposed)
    else
      new_price = constrain(variant, current, proposed)
      variant.update!(price: new_price)
      PricingLog.create!(variant: variant, current: current, proposed: proposed, applied: new_price)
    end
  end

  private

  def constrain(variant, current, proposed)
    step = current * GUARDRAILS[:max_daily_change]
    price = proposed.clamp(current - step, current + step)
    price = [price, variant.cost_price * (1 + GUARDRAILS[:min_margin])].max
    rrp = variant.recommended_retail_price # eigenes Feld des Shops
    price = [price, rrp * (1 + GUARDRAILS[:max_above_rrp])].min if rrp
    price.round(2)
  end
end

Die Prüfung auf Freigabe schaut auf das, was das Modell wollte, bevor irgendetwas kappt. Käme das Kappen zuerst, würde ein großer Vorschlag auf 8 % gestutzt und erreichte die Freigabeschleife nie. Jede Entscheidung wird mit Vorschlag und tatsächlich gesetztem Preis protokolliert.

Rechenbeispiel: ein Jackenpreis in einer ruhigen Woche

Die Zahlen des Beispiels: Eine Jacke von Muldenpfad kostet im Einkauf 150 €, wird für 299 € verkauft, und die unverbindliche Preisempfehlung (UVP) liegt bei 300 €.

Das Modell schlägt 279 € vor, weil sich der Absatz verlangsamt hat. Die Änderung beträgt (299−279)÷299=6,7 %(299 - 279) \div 299 = 6{,}7\,\%, liegt unter der Freigabegrenze von 15 %, die Maschine darf also handeln. Die Tagesgrenze ist 299×0,08=23,92299 \times 0{,}08 = 23{,}92 €, also sind 279 € erlaubt. Die Untergrenze für die Marge liegt bei 150×1,15=172,50150 \times 1{,}15 = 172{,}50 €, weit darunter. Die Obergrenze über der UVP ist 300×1,05=315300 \times 1{,}05 = 315 €, nicht erreicht. Der Preis geht auf 279 €.

Nächste Woche schlägt das Modell 239 € vor. Das sind (279−239)÷279=14,3 %(279 - 239) \div 279 = 14{,}3\,\%, immer noch unter 15 %, also handelt die Maschine, aber die Tagesgrenze ist 279×0,08=22,32279 \times 0{,}08 = 22{,}32 €, der Preis geht heute also nur auf 256,68 €. Hätte das Modell 229 € vorgeschlagen (17,9 %), hätte ein Mensch es zuerst gesehen.

Preise auf Basis der Daten einzelner Kunden werfen eine rechtliche Frage auf. Nach Art. 22 der Datenschutz Grundverordnung (DSGVO) muss niemand eine Entscheidung hinnehmen, die ausschließlich auf automatisierter Verarbeitung beruht und ihm gegenüber rechtliche Wirkung entfaltet oder ihn in ähnlicher Weise erheblich beeinträchtigt. Erlaubt ist sie nur in Ausnahmen, etwa wenn sie für einen Vertrag erforderlich ist oder die Person ausdrücklich eingewilligt hat, und dann mit Schutzmaßnahmen: mindestens dem Recht, das Eingreifen eines Menschen zu verlangen, den eigenen Standpunkt darzulegen und die Entscheidung anzufechten.1 Ob ein individueller Preis so erheblich ist, hängt vom Einzelfall ab. Preise nach Produkt, Bestand und Saison, wie oben, umgehen die Frage ganz.

Die Fassung dieses Problems mit mehreren Agenten, bei der mehrere Shops auf derselben Optimierungsplattform über den Preis konkurrieren, bearbeite ich in GrowCentric.ai. Sie braucht das Erkennen von Kollisionen und ein Verhalten, das ein stabiles Ergebnis sucht statt eines Preiskriegs, und ich habe darüber in wenn deine KI gegen sich selbst kämpft geschrieben.

Empfehlungen, die wissen, was die Kundin gerade tut

Die meisten Empfehlungssysteme in Shops sagen "Kunden, die X gekauft haben, kauften auch Y". Das ist kollaboratives Filtern. Es optimiert auf Beliebtheit, nicht auf Relevanz. Es zeigt, was die meisten gekauft haben, nicht, was diese Person braucht, und es übersieht den Zusammenhang: Gemütliches Stöbern am Dienstagabend ist etwas anderes als eine dringende Suche am Samstagmorgen.

Bessere Empfehlungen verbinden mehrere Signale.

Die Kaufhistorie sagt, was jemand gekauft hat und was meist als Nächstes kommt. Wer im April ein Zelt gekauft hat, braucht vor der ersten Tour oft eine Isomatte, einen Kocher und Heringe.

Das Surfverhalten zeigt die Absicht. Fünf Regenjacken in der letzten Stunde sind ein anderer Bedarf als jemand, der beiläufig durch Fleecejacken scrollt.

Der Kontext der Sitzung zählt. Wer über eine Google Shopping Anzeige für "Herren Regenjacke Größe L" kommt, will Jacken in L, nicht die Startseite.

Das Timing sagt Bedarf voraus. Wer im Oktober Wanderschuhe kauft, braucht bis zum Frühjahr Imprägnierwachs.

Es gibt auch Belege, dass es sich auszahlt. BCG berichtete 2024, dass das Umsatzwachstum der führenden Händler bei Personalisierung um 10 Prozentpunkte über dem der Nachzügler liegt, und dass personalisierte Empfehlungen bei Händlern mit mehreren Kategorien 10 bis 20 Prozentpunkte Cross Selling bringen können.2

In einem Solidus Shop erzeugt die Maschine Kandidaten aus mehreren Quellen, bewertet sie und sorgt dann dafür, dass die Liste nicht aus acht Varianten desselben Dings besteht:

class RecommendationEngine
  MAX_PER_CATEGORY = 3

  def recommendations_for(user, context:, limit: 8)
    candidates = [
      CollaborativeCandidates.for(user),
      ContentCandidates.for(user),
      NextPurchaseCandidates.for(user),
      ContextCandidates.for(context)
    ].flatten.uniq(&:id)

    scored = candidates.map { |product| [product, RelevanceModel.score(user, product, context)] }
    diversify(scored.sort_by { |_, score| -score }.map(&:first), limit)
  end

  private

  def diversify(ranked, limit)
    per_category = Hash.new(0)
    ranked.each_with_object([]) do |product, chosen|
      category = product.taxons.first&.id
      next if per_category[category] >= MAX_PER_CATEGORY

      chosen << product
      per_category[category] += 1
      break chosen if chosen.size >= limit
    end
  end
end

Die Regel für Vielfalt ist unscheinbar und wichtig. Sie begrenzt jede Kategorie auf drei. Ohne sie bekommt jemand, der sich Regenjacken angesehen hat, acht Regenjacken gezeigt.

Rechenbeispiel: Janas Liste vielfältiger machen

Die zehn besten Treffer des Modells für Jana sind, nach Punkten sortiert, sieben Jacken, dann Gamaschen, ein Imprägnierwaschmittel und eine Stirnlampe. Ohne Grenze sind die acht Plätze sieben Jacken und die Gamaschen.

Mit höchstens drei pro Kategorie nimmt die Maschine die ersten drei Jacken, überspringt die Jacken vier bis sieben und nimmt dann die Gamaschen, das Imprägnierwaschmittel und die Stirnlampe. Das sind sechs Produkte, also geht sie die ganze Kandidatenliste weiter hinunter und ergänzt eine Funktionsunterwäsche und einen Packsack, zwei weitere Kategorien, nach denen Jana nicht gesucht hat, die sie auf einer verregneten Tour aber haben will. Acht Plätze, sechs Kategorien, und jeder Artikel hat noch eine hohe Punktzahl.

Abwanderung vorhersagen: Kunden halten, bevor sie wegdriften

Eine neue Kundin zu gewinnen kostet je nach Studie und Branche fünf bis 25 Mal mehr, als eine zu halten, und die Forschung von Frederick Reichheld von Bain and Company ergab, dass 5 % mehr Kundenbindung den Gewinn um 25 % bis 95 % steigern.3 Trotzdem merken die meisten Shops Abwanderung erst, wenn sie passiert ist, wenn jemand einfach nicht mehr kauft.

Warum Kundenbindung den Gewinn so stark bewegt, zeigt die Formel für den Kundenwert:

CLV=M×r1+d−rCLV = M \times \frac{r}{1 + d - r}

Dabei ist CLVCLV der Kundenwert über die gesamte Beziehung, MM die Marge pro Kunde und Jahr, rr die Bindungsrate (der Anteil der Kunden, die im nächsten Jahr wieder kaufen) und dd der Diskontsatz, der künftiges Geld weniger wert macht als Geld heute. Weil rr auch im Nenner steht, hat ein kleiner Anstieg der Bindung eine überproportionale Wirkung. Grundlagen: Kundenwert

Rechenbeispiel: fünf Punkte Bindung bei Muldenpfad

Die Zahlen des Beispiels: Eine Kundin von Muldenpfad bringt 60 € Marge im Jahr, 60 % kaufen im nächsten Jahr wieder, und der Diskontsatz liegt bei 10 %.

CLV=60×0,601+0,10−0,60=60×1,2=72CLV = 60 \times \frac{0{,}60}{1 + 0{,}10 - 0{,}60} = 60 \times 1{,}2 = 72

CLVCLV liegt also bei 72 € pro Kundin. Heb rr auf 0,65:

CLV=60×0,651+0,10−0,65=60×1,444=86,67CLV = 60 \times \frac{0{,}65}{1 + 0{,}10 - 0{,}65} = 60 \times 1{,}444 = 86{,}67

Mit r=0,65r = 0{,}65 liegt CLVCLV bei 86,67 €. Fünf Punkte mehr Bindung heben den Wert jeder Kundin von 72 € auf 86,67 €, rund 20 %, ganz ohne neue Kundschaft. Das ist das Argument für die Vorhersage von Abwanderung in einer Zeile.

Wie ein Abwanderungsmodell die Signale sieht

Die Signale stecken meist in Daten, die du schon hast: längere Abstände zwischen Bestellungen, kleinere Warenkörbe, weniger Besuche, Besuche, die nur den Bestellstatus prüfen, unzufriedene Supporttickets, Abmeldungen von manchen Listen, aber nicht von anderen. Kein einzelnes Signal bedeutet viel. Ein Modell, das sie zusammen gewichtet, kann Kunden nach Risiko ordnen.

Ein Signal, mit dem du vorsichtig sein solltest, ist die Öffnung einer Mail. Apples Mail Privacy Protection lädt entfernte Inhalte, auch das unsichtbare Bild, das eine Öffnung zählt, standardmäßig im Hintergrund, ob jemand die Nachricht liest oder nicht.4 Bei einem großen Teil der Leserschaft sagt eine sinkende Öffnungsrate etwas über die Einstellungen ihrer Mail App, nicht über ihre Treue. Klicks und Besuche auf der Website sind das, was ein Mensch tatsächlich getan hat. Mehr dazu in Anzeigen aus Mailaktivität auslösen.

class ChurnPredictionJob < ApplicationJob
  RISK_THRESHOLD = 0.7

  def perform
    Spree.user_class.joins(:orders).merge(Spree::Order.complete).distinct.find_each do |user|
      risk = ChurnModel.predict(features_for(user))
      next if risk < RISK_THRESHOLD

      intervention = choose_intervention(user, risk)
      deliver(user, intervention)
      AgentAuditLog.create!(agent_name: "Churn", action_type: intervention, decision_payload: { user_id: user.id, risk: risk })
    end
  end

  private

  def features_for(user)
    orders = user.orders.complete
    {
      days_since_last_order: (Date.current - orders.maximum(:completed_at).to_date).to_i,
      orders_last_365_days: orders.where(completed_at: 365.days.ago..).count,
      email_clicks_90_days: EmailEngagement.clicks(user, since: 90.days.ago), # Klicks, keine Öffnungen
      site_visits_30_days: VisitLog.count_for(user, since: 30.days.ago),     # nur Analytics mit Einwilligung
      open_support_tickets: SupportTicket.open.where(user: user).count,
      lifetime_margin: CustomerMargin.lifetime(user)
    }
  end

  def choose_intervention(user, risk)
    return :personal_call if CustomerMargin.lifetime(user) > 500 && risk > 0.85
    return :feedback_request unless user.email_marketing_permitted? # eigener Einwilligungsnachweis des Shops
    :personalised_offer
  end

  def deliver(user, intervention)
    case intervention
    when :personal_call then CustomerCareNotifier.flag(user)
    when :feedback_request then ServiceMailer.feedback_request(user).deliver_later
    when :personalised_offer then RetentionMailer.offer(user, NextPurchase.for(user)).deliver_later
    end
  end
end

Die Wahl der Maßnahme ist der wichtige Teil. Nicht jede gefährdete Kundin braucht einen Rabatt. Manche brauchen ein gelöstes Problem, manche eine Erinnerung an das, was ihnen gefallen hat, und eine Kundin mit hohem Wert verdient vielleicht einen Anruf. Und eine Werbemail, mit Angebot oder ohne, braucht die richtige Erlaubnis: Nach § 7 Abs. 2 Nr. 2 des Gesetzes gegen den unlauteren Wettbewerb (UWG) braucht Werbung per Mail grundsätzlich die vorherige ausdrückliche Einwilligung. Die Ausnahme für Bestandskunden in § 7 Abs. 3 UWG greift nur, wenn du die Adresse beim Verkauf selbst bekommen hast, eigene ähnliche Waren bewirbst, der Kunde nicht widersprochen hat und du ihn bei der Erhebung und in jeder Mail klar auf sein Widerspruchsrecht hingewiesen hast.5

Hier weicht Deutschland von dem ab, was anderswo als harmlos gilt. Der Bundesgerichtshof hat 2018 entschieden, dass auch eine Kundenzufriedenheitsbefragung per Mail Werbung ist, selbst wenn sie mit der Rechnung kommt.6 Eine Bitte um Feedback ist in einem deutschen Shop also keine reine Servicenachricht. Wer weder eingewilligt hat noch unter die Ausnahme für Bestandskunden fällt, bekommt in einem deutschen Shop an dieser Stelle keine Mail, sondern zum Beispiel einen Hinweis im Kundenkonto beim nächsten Login.

Rechenbeispiel: lohnt sich ein Angebot zur Kundenbindung?

Die Annahmen des Beispiels: Das Modell markiert jeden Monat 400 Kundinnen und Kunden von Muldenpfad mit einem Risiko über 0,7. Ohne Maßnahme würden 50 % von ihnen nicht wieder kaufen. Ein Gutschein über 10 € holt 15 % der Abwanderungswilligen zurück, und jede zurückgewonnene Kundin ist die 72 € Kundenwert von oben wert. Jede markierte Kundin, die den Gutschein einlöst, kostet 10 €, und das Beispiel nimmt an, dass 30 % der 400 ihn einlösen, auch einige, die ohnehin geblieben wären.

Gerettete Kunden: 400×0,5×0,15=30400 \times 0{,}5 \times 0{,}15 = 30. Geretteter Wert: 30×72=2.16030 \times 72 = 2{.}160 €. Kosten der Gutscheine: 400×0,30×10=1.200400 \times 0{,}30 \times 10 = 1{.}200 €. Netto: 2.160−1.200=9602{.}160 - 1{.}200 = 960 € im Monat. Positiv, aber der Gutschein frisst mehr als die Hälfte des Gewinns. Deshalb sollte bei der Gruppe mit geringerem Risiko zuerst eine gut gewählte Empfehlung probiert werden, die nichts kostet, an alle, die Werbung erlaubt haben. Grundlagen: Erwartungswert

Wie GrowCentric.ai das zusammenführt

Preise, Empfehlungen, Abwanderung und Kampagnensteuerung sind in GrowCentric.ai keine getrennten Systeme. Sie sind spezialisierte Agenten in einem abgestimmten System aus mehreren Agenten.

Der Analyseagent beobachtet die Marketingkanäle, verfolgt die Leistung, erkennt Ausreißer (ein plötzlicher Kostensprung, ein Einbruch bei den Conversions, ein überzogenes Budget) und meldet Erkenntnisse, für die ein Analyst Stunden oder Tage bräuchte.

Der Agent für die Budgetverteilung handelt danach. Er verschiebt Budget von schwächeren zu stärkeren Kampagnen, hält Tages und Monatsgrenzen ein und rechnet mit abnehmendem Ertrag: Doppeltes Budget bringt nicht doppelte Ergebnisse, und der Agent sucht den Punkt, an dem jeder Kanal abflacht. Grundlagen: marginal gegen durchschnittlich

Der Zielgruppenagent analysiert Verhalten und baut Segmente. Statt grober Demografie ("Frauen zwischen 25 und 34 in Hamburg") sucht er Gruppen nach Verhalten: Menschen, die lange recherchieren, bevor sie kaufen, preisbewusste Vergleicher, treue Wiederkäufer, saisonale Käufer.

Der Agent für Konfliktlösung kümmert sich um das Problem, das nur eine Plattform mit konkurrierenden Kunden hat. Wenn zwei Kunden ähnliche Produkte an ähnliche Zielgruppen verkaufen, können ihre Agenten gegeneinander bieten, ohne es zu wissen, und die Kosten für beide hochtreiben. Dieser Agent erkennt die Kollisionen, segmentiert, um die Überschneidung zu verringern, und sucht mit Spieltheorie nach Lösungen, die für beide funktionieren.

Die Agenten sprechen über einen gemeinsamen Eventbus. Sieht der Analyseagent, dass die Kosten pro Akquisition einer Kampagne nach oben schießen, löst er ein Event aus. Der Budgetagent senkt das Budget, der Zielgruppenagent prüft, ob die Zielgruppe umkämpft ist, und schlägt Alternativen vor, und der Konfliktagent prüft, ob eine Kollision zwischen Kunden die Ursache ist. Alles läuft auf Rails, mit ActiveSupport::Notifications für Events, Sidekiq für Hintergrundarbeit, einer vollständigen API und der Freigabe durch Menschen bei Entscheidungen mit hohem Risiko.

Zielgruppen aus Kundenlisten treffen auf die eigenen Regeln der Werbeplattformen. Bei Google braucht eine Kundenliste mindestens 100 aktive Nutzer, bevor sie im Display, Such oder YouTube Netzwerk eingesetzt wird,7 und das Ausrichten mit Listen braucht 90 Tage Verlauf im Konto und insgesamt mehr als 50.000 US Dollar Ausgaben, während jedes Konto mit sauberer Historie Listen zum Ausschließen nutzen darf.8 Und jeder Upload braucht eine Rechtsgrundlage. In Deutschland ist die sichere Grundlage für den Upload einer Kundenliste die Einwilligung, nicht das berechtigte Interesse: Das Bayerische Landesamt für Datenschutzaufsicht hat einem Onlinehändler den Upload seiner Kundenliste zu Facebook ohne Einwilligung untersagt.9 Die Einwilligung gehört als Feld in den Kundendatensatz, wie ich es in ein einheitlicher Stack für Kampagnenautomatisierung beschreibe.

Rechenbeispiel: ist das Segment von Muldenpfad groß genug?

Der Zielgruppenagent findet eine vielversprechende Gruppe: 180 Kunden, die letzten Herbst Wanderschuhe gekauft und seitdem nichts mehr bestellt haben. Die Mailliste von Muldenpfad wird bei Google mit angenommenen 45 % abgeglichen, also würden rund 180×0,45=81180 \times 0{,}45 = 81 Menschen erkannt. Das ist unter 100, Google setzt die Liste also nicht ein. Und das Google Konto von Muldenpfad hat bisher 18.000 € ausgegeben, weit unter der Schwelle für das Ausrichten, die Liste ginge also ohnehin nur zum Ausschließen. Der richtige Kanal für dieses Segment ist eine Mail an die, die es erlaubt haben, keine Anzeige.

Ein praktischer Weg für einen Solidus Shop

Wenn du einen Shop auf Solidus betreibst, ist das der Weg vom Drip zur Automatisierung, die entscheidet.

Phase 1: die Daten in Ordnung bringen. Produktdaten prüfen, doppelte Kunden zusammenführen, den Bestand richtigstellen und das Event Tracking vereinheitlichen, wie in KI in bestehende Workflows integrieren. Nichts von alledem funktioniert auf schmutzigen Daten.

Phase 2: Events im Lebenszyklus veröffentlichen. Solidus veröffentlicht schon Events wie order_finalized auf Spree::Bus, und du kannst eigene für Produktaufrufe, Warenkörbe und Rücksendungen registrieren.10 Das ist die Wahrnehmung, aus der jedes Modell liest.

Phase 3: mit Empfehlungen anfangen. Sie haben den klarsten Ertrag und das geringste Risiko. Miss den zusätzlichen Umsatz aus empfohlenen Produkten gegen eine Gruppe, die die alte Liste sieht.

Phase 4: Abwanderung vorhersagen. Fang nur mit Meldungen an, die gefährdete Kunden für einen Menschen markieren, und geh dann je nach Kundenwert zu automatischen Maßnahmen über.

Phase 5: dynamische Preise vorsichtig ausprobieren. Sie brauchen die meiste Steuerung. Fang mit einer Kategorie an, mit strengen Leitplanken, und miss Umsatz und Vertrauen der Kundschaft. Nie ohne einen Menschen, der es stoppen kann.

Phase 6: Kampagnen automatisieren. Sind Daten und Events des Shops sauber, kann eine Schicht wie GrowCentric.ai Kampagnen, Budgets und Zielgruppen steuern, ohne dass jemand den ganzen Tag auf Dashboards schaut.

Compliance ist Architektur

Preis, Empfehlungs und Abwanderungsmodelle verarbeiten alle personenbezogene Daten, und manche treffen automatisierte Entscheidungen über Kunden. In Deutschland heißt das DSGVO und UWG, und zuständig für die Datenschutzaufsicht über Unternehmen ist die Behörde des Bundeslands, in dem das Unternehmen sitzt.11 Wenn du in der EU verkaufst, bringen der Cyber Resilience Act und die NIS2 Richtlinie Pflichten zu Sicherheit und Meldung von Vorfällen dazu.

Gegen Direktwerbung kann jede Kundin jederzeit Widerspruch einlegen, ohne Begründung, und danach dürfen ihre Daten dafür nicht mehr verarbeitet werden.12 Modelle müssen so erklärbar sein, dass du sagen kannst, warum eine Kundin markiert oder ein Produkt empfohlen wurde, wegen der Schutzmaßnahmen oben und weil einem Modell, das niemand erklären kann, auch niemand vertraut.

Alles, was ich baue, für GrowCentric.ai oder für Kunden, hat Protokolle, eine DSGVO konforme Datenverarbeitung, Transparenz darüber, wie Entscheidungen fallen, und die Möglichkeit für Menschen, einzugreifen. Compliance ist kein Nachgedanke. Sie ist Architektur.

Unterm Strich

Marketingautomatisierung soll entscheiden, nicht nur planen. Die Werkzeuge gibt es, um nach echter Nachfrage zu bepreisen, aus echtem Verhalten zu empfehlen, Kunden zu erkennen, die wegdriften, und Kampagnen fortlaufend zu steuern.

Die meisten Unternehmen nutzen nichts davon. Sie fahren dieselben Drips mit besseren Betreffzeilen. Das ist eine Chance für alle, die bereit sind, die echte Arbeit zu machen: die Daten aufräumen, die Events bauen, ein Modell nach dem anderen ergänzen und die Leitplanken dranlassen.

Footnotes

  1. Verordnung (EU) 2016/679 (Datenschutz Grundverordnung), Artikel 22, Automatisierte Entscheidungen im Einzelfall einschließlich Profiling, EUR-Lex, https://eur-lex.europa.eu/legal-content/DE/TXT/HTML/?uri=CELEX:32016R0679

  2. Mark Abraham und andere, Retail spotlight: personalization in action, Boston Consulting Group, 18. November 2024, https://www.bcg.com/publications/2024/personalization-in-action

  3. Amy Gallo, The value of keeping the right customers, Harvard Business Review, 29. Oktober 2014, https://hbr.org/2014/10/the-value-of-keeping-the-right-customers

  4. Apple, Mail Privacy Protection and privacy, Apple Legal, https://www.apple.com/legal/privacy/data/en/mail-privacy-protection/

  5. Bundesministerium der Justiz, Gesetz gegen den unlauteren Wettbewerb (UWG), § 7 Unzumutbare Belästigungen, Absatz 2 Nummer 2 und Absatz 3, Gesetze im Internet, https://www.gesetze-im-internet.de/uwg_2004/__7.html

  6. Bundesgerichtshof, Urteil vom 10. Juli 2018, VI ZR 225/17, Randnummer 24 (Kundenzufriedenheitsbefragung per Mail als Werbung), BGHZ 219, 233, über dejure.org, https://dejure.org/dienste/vernetzung/rechtsprechung?Gericht=BGH&Datum=10.07.2018&Aktenzeichen=VI%20ZR%20225/17

  7. Google, About audience segments in Audience manager, Google Ads Help, 2026, https://support.google.com/google-ads/answer/7558048

  8. Google, Customer Match policy, Google Ads Help, 2026, https://support.google.com/google-ads/answer/6299717

  9. Bayerisches Landesamt für Datenschutzaufsicht, 8. Tätigkeitsbericht für die Jahre 2017 und 2018, Abschnitt 8.7 Facebook Custom Audience über die Kundenliste, Seiten 58 und 59, 2019, https://www.lda.bayern.de/media/baylda_report_08.pdf

  10. Solidus Guides, Subscribing to events, abgerufen im November 2026, https://guides.solidus.io/customization/subscribing-to-events

  11. Bundesdatenschutzgesetz (BDSG), § 40 Aufsichtsbehörden der Länder, gesetze-im-internet.de, https://www.gesetze-im-internet.de/bdsg_2018/__40.html

  12. Verordnung (EU) 2016/679 (Datenschutz Grundverordnung), Artikel 21 Absätze 2 und 3, Widerspruchsrecht, EUR-Lex, https://eur-lex.europa.eu/legal-content/DE/TXT/HTML/?uri=CELEX:32016R0679

Wenn deine Automatisierung noch aus Zeitschaltuhren besteht, bring deine Mailstrecken und ein Jahr Bestellungen in den kostenlosen Workshop mit, und wir finden die eine Entscheidung, die ein Modell zuerst übernehmen sollte. Die ersten zwei Wochen Arbeit gehen auf meine Rechnung.