Wo WooCommerce Anfänger

Smart Bundle Engine — Dokumentation

Installation, Co-Occurrence-Analyse, Margensteuerung und Anzeige der WooCommerce-Bundles.

Aktualisiert Modulversion 1.0.0

Überblick

Smart Bundle Engine analysiert Ihren WooCommerce-Bestellverlauf, um wirklich gemeinsam gekaufte Produkte zu erkennen, generiert automatisch die passenden Bundles und zeigt sie auf der Produktseite, im Warenkorb und in der Bestätigungsmail an — mit einer Margensteuerung, die den Rabatt bei Bedarf automatisch begrenzt.

Installation

  1. Laden Sie df-smart-bundle.zip aus Ihrem DataFirefly-Kundenkonto herunter.
  2. Gehen Sie in Ihrer WordPress-Verwaltung zu Plugins → Installieren → Plugin hochladen.
  3. Wählen Sie die ZIP-Datei, klicken Sie auf Jetzt installieren und aktivieren Sie das Plugin.
  4. Ein neues Menü Smart Bundles erscheint in der Seitenleiste der Verwaltung.

Voraussetzungen: WordPress 6.0+, WooCommerce 7.0+, PHP 7.4+. Die HPOS-Kompatibilität (High-Performance Order Storage) ist nativ deklariert.

Bei der Aktivierung erstellt das Plugin 4 eigene Tabellen (df_sbe_cooccurrence, df_sbe_bundles, df_sbe_bundle_items, df_sbe_analysis_state) und plant den Analyse-Cron.

Schnellstart

  1. Gehen Sie zu Smart Bundles → Analyse und klicken Sie auf Analyse jetzt starten.
  2. Nach Abschluss der Analyse zeigt die Tabelle Top-Kaufaffinitäten die erkannten Paare mit ihren Metriken (Vorkommen, Konfidenz, Lift).
  3. Wenn die automatische Erstellung aktiviert ist (Standard), werden die Bundles automatisch erstellt — prüfen Sie sie unter Smart Bundles → Bundles.
  4. Besuchen Sie eine betroffene Produktseite im Shop: der Block „Häufig zusammen gekauft“ erscheint unter der Produktzusammenfassung.

Tipp: Die Analyse benötigt mindestens einige Dutzend Bestellungen mit mehreren Produkten, um verwertbare Affinitäten zu liefern. Bei dünner Historie senken Sie den Mindest-Co-Occurrence-Schwellenwert vorübergehend auf 2 in den Einstellungen.

Co-Occurrence-Analyse

Die Engine durchläuft abgeschlossene und in Bearbeitung befindliche Bestellungen innerhalb des konfigurierten Analysezeitraums (standardmäßig 180 Tage), in Stapeln zu 200 Bestellungen. Für jede Bestellung mit mehreren Produkten werden alle Paare extrahiert und gezählt.

Die drei Metriken

  • Vorkommen — Anzahl der Bestellungen, die das Paar A+B enthalten.
  • Konfidenz — P(B|A) in Prozent: in welchem Anteil der Bestellungen mit A findet sich auch B. Eine Konfidenz von 20 bedeutet, dass B in 20 % der Bestellungen mit A vorkommt.
  • Lift — Verhältnis zwischen der beobachteten Paar-Häufigkeit und der erwarteten Häufigkeit, wenn A und B unabhängig wären. Ein Lift über 1 zeigt eine echte Affinität; über 2 eine starke.

Planung

Die Analyse läuft automatisch über WP-Cron (Hook df_sbe_run_analysis). Jeder Durchlauf verarbeitet bis zu 25 Stapel zu 200 Bestellungen und setzt beim nächsten Auslösen dank eines persistenten Cursors fort — keine Bestellung wird zweimal verarbeitet. Die Schaltfläche Status zurücksetzen leert die Analysetabellen und beginnt von vorn.

Achtung: Wenn WP-Cron auf Ihrem Server deaktiviert ist (DISABLE_WP_CRON), stellen Sie sicher, dass ein System-Cron wp-cron.php regelmäßig aufruft, sonst läuft die Analyse nur bei manueller Ausführung.

Automatische Bundle-Erstellung

Nach jeder vollständigen Analyse wählt die Engine die Paare aus, die Ihre Schwellenwerte überschreiten, und erstellt die passenden Bundles. Drei Einstellungen steuern die Auswahl:

  • Mindest-Co-Occurrences (standardmäßig 3) — Mindestanzahl Bestellungen mit dem Paar.
  • Mindestkonfidenz (standardmäßig 10 %) — Schwelle, unter der das Paar ignoriert wird.
  • Max. Bundles pro Produkt (standardmäßig 3) — verhindert die Übersättigung eines Produkts.

Die ausgewählten Paare werden nach Punktzahl (Lift × Vorkommen) sortiert. Automatisch erstellte Bundles erhalten die Herkunft „Auto“; bestehende Bundles mit denselben Produkten werden niemals dupliziert. Manuelle Bundles bleiben bei erneuten Analysen immer erhalten.

Bundle-Verwaltung

Der Bildschirm Smart Bundles → Bundles listet alle Bundles mit ihren Produkten, Rabatt, Mindestmarge, Anzeigekontexten, Aufrufen und Conversions. Sie können nach Status, Herkunft (auto/manuell) oder Freitextsuche filtern.

Bundle erstellen oder bearbeiten

  1. Klicken Sie auf Neues Bundle oder Bearbeiten bei einem bestehenden Bundle.
  2. Suchen und fügen Sie die Produkte hinzu (mindestens 2) — die Menge jedes Artikels ist anpassbar, die Reihenfolge per Drag-and-Drop veränderbar.
  3. Legen Sie den Rabatt (Prozentsatz oder Festbetrag) und die Mindestmarge fest.
  4. Haken Sie die gewünschten Anzeigekontexte an: Produktseite, Warenkorb, E-Mail.
  5. Die Priorität bestimmt die Anzeigereihenfolge, wenn mehrere Bundles infrage kommen (höher = zuerst).

Bei einem bestehenden Bundle zeigt eine Preisvorschau-Tabelle live die Zwischensumme, die geschätzten Kosten, den angeforderten vs. angewendeten Rabatt, den Endpreis und die tatsächliche Marge.

Margensteuerung

Jedes Bundle hat eine Mindestmargen-Schwelle (in % des Endpreises). Die Engine berechnet den entsprechenden Mindestpreis:

min_endpreis = gesamtkosten / (1 − mindestmarge / 100)

Würde der angeforderte Rabatt den Endpreis unter diese Schwelle drücken, wird er automatisch begrenzt auf den maximal kompatiblen Rabatt. Der im Shop angezeigte Rabatt ist somit immer sicher.

Kostenquelle

Die Kosten jedes Produkts werden in dieser Reihenfolge bestimmt:

  1. Produkt-Meta — standardmäßig der Schlüssel _df_cost_price, in den Einstellungen konfigurierbar (kompatibel mit Cost of Goods und anderen Einkaufspreis-Plugins).
  2. Ersatzquote — für Produkte ohne hinterlegte Kosten wird ein Prozentsatz des Verkaufspreises angenommen (standardmäßig 50 %).

Tipp: Hinterlegen Sie zuerst die tatsächlichen Kosten Ihrer meistverkauften Produkte — die Margenbegrenzung ist dann bei den wichtigsten Bundles exakt.

Anzeige im Shop

Produktseite

Der Block wird am Hook woocommerce_after_single_product_summary mit konfigurierbarer Priorität eingefügt (standardmäßig 15, direkt vor den verwandten Produkten). Er zeigt die durch „+“ verbundenen Produkt-Miniaturen, die durchgestrichene Zwischensumme, den Bundle-Preis und die Ein-Klick-Warenkorb-Schaltfläche.

Warenkorb

Die Vorschläge erscheinen unter der Warenkorbtabelle (woocommerce_after_cart_table). Bundles, deren Produkte bereits alle im Warenkorb sind, werden automatisch ausgeblendet.

Bestätigungsmail

Ein Vorschlagsblock wird in die E-Mails Bestellung abgeschlossen und Bestellung in Bearbeitung eingefügt (nur kundenseitig), in HTML- und Klartext-Varianten, mit direktem Rück-Link zum Shop.

Jeder Kontext lässt sich unabhängig aktivieren und sein Titel in den Einstellungen anpassen.

Rabattanwendung

Das Plugin verändert niemals die Produktpreise. Wenn ein Bundle in den Warenkorb gelegt wird, trägt jeder Artikel einen internen Marker; sobald alle Bundle-Artikel vorhanden sind, wird der Rabatt als negative Gebühr in WooCommerce angewendet („Bundle-Rabatt“). Dieser Ansatz:

  • erhält die Zeilenpreise und Verkaufsberichte;
  • bleibt mit Steuern, Versand und Gutscheincodes kompatibel;
  • entfernt den Rabatt automatisch, wenn ein Bundle-Artikel aus dem Warenkorb entfernt wird.

Leistungsverfolgung

Jede Anzeige eines Bundles erhöht seinen Aufruf-Zähler; jede Bestellung mit einem vollständigen Bundle erhöht seine Conversions (beim Übergang in den Status „in Bearbeitung“ oder „abgeschlossen“, mit Schutz gegen Doppelzählung). Die Conversion-Rate pro Bundle wird in der Bundle-Liste angezeigt, und der Bildschirm Analyse zeigt die globalen Statistiken: analysierte Bestellungen, erkannte Paare, aktive Bundles, kumulierte Aufrufe und Conversions.

Einstellungsreferenz

Co-Occurrence-Analyse

  • Analysezeitraum (Tage) — standardmäßig 180. Abgeschlossene und in Bearbeitung befindliche Bestellungen in diesem Zeitraum.
  • Mindest-Co-Occurrences — standardmäßig 3.
  • Mindestkonfidenz (%) — standardmäßig 10.
  • Automatische Bundle-Erstellung — standardmäßig aktiviert.
  • Max. Bundles pro Produkt — standardmäßig 3.

Preise & Marge

  • Standardrabatt (%) — 10, angewendet auf automatisch erstellte Bundles.
  • Standard-Mindestmarge (%) — 20.
  • Meta-Schlüssel Einkaufspreis_df_cost_price.
  • Ersatz-Kostenquote (%) — 50.

Anzeige

  • Kontexte — Produktseite / Warenkorb / E-Mail, separat aktivierbar.
  • Hook-Priorität Produktseite — standardmäßig 15.
  • Titel — ein anpassbarer Titel pro Kontext.

Mehrsprachigkeit

Das Plugin wird mit 5 Sprachen (FR, EN, ES, DE, IT) als .po/.mo-Dateien plus einer .pot-Datei für eigene Übersetzungen ausgeliefert (Textdomain df-smart-bundle). Kompatibel mit Polylang und WPML — die angezeigte Sprache folgt der Website- oder Benutzer-Locale.

Deinstallation

Die Deaktivierung des Plugins entfernt lediglich den geplanten Cron — Ihre Daten bleiben erhalten. Das Löschen des Plugins (über Plugins → Löschen) führt uninstall.php aus, das die 4 Tabellen, alle Optionen und die vom Plugin erstellten Bestell-Metadaten endgültig entfernt (HPOS-kompatibel).

Fehlerbehebung

Es werden keine Bundles erstellt

  • Prüfen Sie, ob die Analyse gelaufen ist: Smart Bundles → Analyse muss eine Anzahl analysierter Bestellungen größer als null anzeigen.
  • Senken Sie die Schwellenwerte (Mindest-Co-Occurrences, Mindestkonfidenz) bei kleiner Historie.
  • Prüfen Sie, ob die automatische Erstellung in den Einstellungen aktiviert ist.

Das Bundle erscheint nicht im Shop

  • Das Bundle muss aktiv und der betreffende Kontext angehakt sein.
  • Ein Bundle mit berechnetem Rabatt von null (vollständige Margenbegrenzung) wird auf der Produktseite ausgeblendet.
  • Im Warenkorb wird ein bereits vollständiges Bundle absichtlich ausgeblendet.
  • Leeren Sie den Seiten-Cache, wenn Sie ein Caching-Plugin verwenden.

Der angewendete Rabatt ist geringer als konfiguriert

Das ist die Margenbegrenzung in Aktion: Die Gesamtkosten des Bundles erlauben den angeforderten Rabatt nicht, ohne die Mindestmarge zu unterschreiten. Prüfen Sie die Produktkosten oder passen Sie die Margenschwelle des Bundles an.

FAQ

Funktioniert das Plugin mit variablen Produkten?

Die Analyse und Bundles arbeiten auf Ebene des Elternprodukts. Variationen desselben Produkts werden zusammen gezählt.

Kann ich bestimmte Produkte von der Analyse ausschließen?

Nicht in Version 1.0.0 — löschen oder deaktivieren Sie einfach unerwünschte Bundles; sie werden nicht neu erstellt, wenn Sie sie nach Deaktivierung der automatischen Erstellung löschen.

Sind Bundles mit Gutscheincodes kompatibel?

Ja. Der Bundle-Rabatt ist eine negative Gebühr, unabhängig von WooCommerce-Gutscheinen; beide sind kumulierbar.

Wie ist die Auswirkung auf die Performance?

Die Analyse läuft im Hintergrund in Stapeln. Im Shop sind die Bundle-Abfragen leichtgewichtig (indizierte Tabellen) und die Assets werden nur auf Produkt- und Warenkorbseiten geladen.

War diese Seite hilfreich?

Immer noch nicht weiter? Support kontaktieren