Ausgeblendete Preise und Angebote im B2B mit PrestaShop: wie es wirklich funktioniert

von Luca Cavallini Technische Anleitungen
Ausgeblendete Preise und Angebote im B2B mit PrestaShop: wie es wirklich funktioniert

Warum einen Preis ausblenden, statt ihn anzuzeigen

Im B2B den Preis auszublenden und den Kaufen-Button durch einen Button „Angebot anfordern“ zu ersetzen, erfüllt reale und unterschiedliche Bedürfnisse, die oft in einer einzigen Einstellung vermischt werden: eine ausgehandelte Preisliste schützen, die Wettbewerber automatisch auslesen könnten, einen qualifizierten Kontakt verlangen, bevor Produkte verkauft werden, deren Preis von einer Menge oder einer Konfiguration abhängt, oder einfach einen ganzen Katalog (eine Profi-Reihe, einen Händlerpreis) nur verifizierten B2B-Konten vorbehalten. Das sind drei verschiedene Ziele, und dieselbe Einstellung „Preis verbergen“ dient nicht allen gleich gut: Das erste braucht ein echtes technisches Ausblenden, das zweite vor allem einen anderen Button, das dritte einen genauen Geltungsbereich (Scope) nach Kundengruppe, keinen allgemeinen Schalter.

Drei Ziele: eine verhandelte Preisliste vor Scraping schützen, einen qualifizierten Kontakt vor dem Verkauf verlangen, einen Teil des Katalogs geprüften B2B-Kunden vorbehalten, jedes mit dem passenden Werkzeug
Derselbe Schalter dient drei verschiedenen Zielen nicht gleich gut: Jedes braucht sein eigenes Werkzeug.

Was ein „ausgeblendeter“ Preis wirklich verbirgt (und was nicht)

Die verbreitetste Methode, auf einer Produktseite einen Preis auszublenden, besteht darin, ihn mit einer CSS-Regel (display: none) auf dem Preisblock optisch zu verstecken, gestützt auf eine Klasse, die serverseitig hinzugefügt wird, wenn die Bedingung für das Ausblenden erfüllt ist. Das ist eine legitime und weit verbreitete Methode, aber sie hat eine technische Folge, die man verstehen sollte, bevor man sich dafür entscheidet: Der Preis bleibt im Quelltext der Seite vorhanden, nur in der Anzeige unsichtbar. Wer den Quelltext ansieht, einen schlecht konfigurierten Screenreader benutzt oder ein einfaches Skript zum Datensammeln laufen lässt, kann diesen Preis trotzdem auslesen, auch wenn er einem normalen Besucher nie auf dem Bildschirm erscheint.

Vergleich: Auf dem Bildschirm fehlt der Preis und der Angebots-Button erscheint, im Quelltext steht der Preisblock mit display none weiterhin und ist lesbar
Visuelles Verbergen reicht gegen den gelegentlichen Wettbewerber; gegen systematisches Scraping darf der Preis gar nicht erst im Browser ankommen.

Das ist nicht unbedingt ein Mangel, der um jeden Preis behoben werden muss: Für das Ziel „einen gelegentlichen Wettbewerber daran hindern, die Preise optisch zu vergleichen“ genügt ein optisches Ausblenden völlig, die meisten Wettbewerber lesen nicht den Quelltext. Für das Ziel „systematisches automatisiertes Scraping der gesamten Preisliste verhindern“ genügt ein rein optisches Ausblenden nicht: Entweder wird der Preis für die betroffenen Besucher gar nicht erst an den Browser übertragen (was eine andere Logik auf der Ebene des Seiten-Templates erfordert, nicht nur eine CSS-Klasse), oder man akzeptiert, dass der eigentliche Schutz von woanders kommt (Authentifizierung, Begrenzung der Anfragezahl, Bot-Erkennung) und nicht vom optischen Ausblenden selbst. Die richtige Wahl hängt davon ab, was Sie wirklich verhindern wollen, nicht von einem generischen Kontrollkästchen „Preise verbergen“.

Der Punkt, auf den es am meisten ankommt: wo der verhandelte Preis berechnet wird

Hat ein B2B-Kunde ein Angebot mit zeilenweise verhandelten Preisen erhalten, ist die wichtigste technische Frage nicht, wie der Preis anfangs versteckt wurde, sondern wie dieser verhandelte Preis bei der Bestellung angewendet wird. Ein korrekt gebautes Angebotssystem berechnet und wendet diesen Preis serverseitig an, typischerweise über eine erzeugte Warenkorbregel, die an das angenommene Angebot gebunden ist, nie anhand eines Werts, den das Formular des Browsers übermittelt. Der Grund ist einfach: Alles, was clientseitig berechnet oder übermittelt wird, kann ein ausreichend motivierter Kunde vor dem Absenden der Anfrage ändern. Ein verhandelter Preis, der nur als verstecktes Feld in einer HTML-Seite existierte, wäre genauso änderbar wie ein offen angezeigter Preis, mit dem zusätzlichen Schein, geschützt zu sein, weil er nicht sichtbar ist. Ein Ablauf „Angebot annehmen, dann bestellen“ muss den verhandelten Preis daher in jedem Schritt auf dem Server prüfen und erneut anwenden, nicht nur in dem Moment, in dem das Angebot erzeugt wurde.

Vergleich: angenommenes Angebot, serverseitig erzeugte Warenkorbregel und Preisprüfung bei jedem Schritt, gegenüber einem versteckten Feld, das der Browser sendet und das änderbar ist
Ein Preis, der nur als verstecktes Feld existiert, ist so änderbar wie ein sichtbarer: Er muss bei jedem Schritt auf dem Server neu berechnet werden.

Der Geltungsbereich des Ausblendens: alles, eine Kategorie, eine Gruppe, ein Produkt

Ein allgemeines Ausblenden des gesamten Katalogs passt zu einer reinen B2B-Website, auf der kein nicht identifizierter Besucher einen Grund hat, einen Preis zu sehen. Eine gemischte B2B/B2C-Website braucht in der Regel einen feineren Geltungsbereich: nur eine Profi-Kategorie ausblenden oder nur für die Kundengruppen, die noch nicht verifiziert sind, und den Rest des Katalogs mit normal sichtbaren Preisen lassen. Der falsche Geltungsbereich hat auf beiden Seiten reale Kosten: Zu breit ausgeblendet, werden B2C-Besucher, die sofort kaufen wollten, zu Besuchern, die für ein Produkt ein Angebot anfragen müssen, dessen Preis nichts Vertrauliches hatte, was die Conversion verschlechtert, ohne irgendeinen Nutzen; zu eng ausgeblendet, bleibt gerade die Preisliste sichtbar, die man schützen wollte.

Skala des Geltungsbereichs: ganzer Katalog für reine B2B-Websites, eine Kategorie oder Kundengruppe für gemischte Websites, ein Produkt; zu breit kostet Conversions, zu eng lässt die Preisliste sichtbar
Ein falscher Geltungsbereich kostet auf beiden Seiten: zu viel kostet Verkäufe, zu wenig legt genau die Preisliste offen, die geschützt werden sollte.

Eine leicht übersehene SEO-Falle: der Preis bleibt in den strukturierten Daten

Eine PrestaShop-Produktseite gibt in ihren strukturierten Daten (schema.org, Tag offers) in der Regel einen Preis an, damit Suchmaschinen in den erweiterten Ergebnissen einen Preis anzeigen können. Wird der Preis auf der Seite nur optisch ausgeblendet, ohne diese strukturierten Daten zu entfernen oder anzupassen, bleibt ein Preis, möglicherweise veraltet, sobald er sich ändert, direkt in den Suchergebnissen sichtbar, außerhalb jeder Seite, die ein Besucher aufruft. Das ist einer der häufigsten blinden Flecken bei einer schnellen Einrichtung des Preis-Ausblendens: Die optische Einstellung ist erledigt, die strukturierte Information, die Google speist, ist ihr nicht gefolgt.

Schema: Die Produktseite verbirgt den Preis, doch die strukturierten Daten schema.org offers enthalten ihn weiter, und das Suchergebnis zeigt ihn
Der offers-Block von schema.org trägt den Preis in die Rich Results, außerhalb jeder Seite, die ein Besucher wirklich öffnet.

Zusammengefasst

Einen Preis auszublenden und stattdessen ein Angebot anzubieten, erfüllt im B2B reale Bedürfnisse, aber „den Preis verbergen“ ist keine einzelne Maßnahme: Ein optisches Ausblenden schützt vor einem gelegentlichen Wettbewerber, nicht vor systematischem Scraping; die Berechnung des verhandelten Preises muss immer auf dem Server erfolgen, nie im Formular des Browsers; der Geltungsbereich des Ausblendens (alles, Kategorie, Gruppe, Produkt) entscheidet, ob die Maßnahme das richtige Publikum schützt oder die Conversion des falschen verschlechtert; und die strukturierten Daten der Seite verdienen eine eigene Prüfung, weil sie einer optischen Einstellung nicht automatisch folgen. In PrestaShop verwaltet ein Modul wie cll_quotes diesen Ablauf (Angebots-Button, Ausblenden nach Geltungsbereich, verhandelter Preis serverseitig über eine Warenkorbregel angewendet), aber die obigen Grundsätze gelten unabhängig vom gewählten Werkzeug.

Screenshot des Moduls Angebotsanfragen in der PrestaShop-9-Demo: Angebots-Button auf der Produktseite und im Warenkorb, Geltungsbereich nach Produkten, Kategorien, Kundengruppen oder einzelnen Produkten
Die Einstellungen des Moduls cll_quotes in unserer PrestaShop-9-Demo: wo der Angebots-Button erscheint und für welchen Bereich er gilt.
Angebotsanfragen - B2B-Angebote und ausgeblendete Preise (Quote Requests)Ermöglichen Sie Angebotsanfragen statt Kauf: optionales Ausblenden der Preise, Angebotsverwaltung im BO mit…89,99 €Produkt ansehen

Kommentar hinterlassen

Kommentare werden vor der Veröffentlichung moderiert.

← Blog

Lade ...
Zum Seitenanfang