Verborgen prijzen en B2B-offertes in PrestaShop: hoe het echt werkt

door Luca Cavallini Technische handleidingen
Verborgen prijzen en B2B-offertes in PrestaShop: hoe het echt werkt

Waarom een prijs verbergen in plaats van tonen

In B2B beantwoordt het verbergen van de prijs en het vervangen van de koopknop door een knop “offerte aanvragen” aan echte en verschillende behoeften, die vaak in één enkele instelling door elkaar lopen: een onderhandelde prijslijst beschermen die concurrenten automatisch zouden kunnen scrapen, een gekwalificeerd contact afdwingen vóór de verkoop van producten waarvan de prijs afhangt van een volume of een configuratie, of gewoon een hele catalogus (een professioneel assortiment, een wederverkopertarief) reserveren voor geverifieerde B2B-accounts. Dat zijn drie verschillende doelen, en dezelfde instelling “prijs verbergen” dient ze niet altijd even goed: het eerste heeft een echte technische afscherming nodig, het tweede heeft vooral een andere knop nodig, het derde heeft een nauwkeurige reikwijdte (scope) per klantgroep nodig, geen algemene schakelaar.

Drie doelen: een onderhandelde prijslijst beschermen tegen scraping, een gekwalificeerd contact vóór de verkoop, een deel van de catalogus reserveren voor gecontroleerde B2B-klanten, elk met het juiste hulpmiddel
Dezelfde schakelaar dient drie verschillende doelen niet even goed: elk vraagt om een eigen hulpmiddel.

Wat een “verborgen” prijs echt verbergt (en wat niet)

De meest gebruikte methode om een prijs op een productpagina te verbergen, is hem visueel verbergen met een CSS-regel (display: none) op het prijsblok, waarbij een klasse wordt gebruikt die aan de serverzijde wordt toegevoegd wanneer aan de verbergvoorwaarde is voldaan. Het is een legitieme en veelgebruikte methode, maar ze heeft een technisch gevolg dat u beter begrijpt voordat u haar kiest: de prijs blijft aanwezig in de broncode van de pagina, alleen onzichtbaar bij de weergave. Wie de broncode bekijkt, een slecht ingestelde schermlezer gebruikt of een eenvoudig script voor gegevensverzameling laat draaien, kan die prijs nog steeds ophalen, ook al verschijnt hij nooit op het scherm voor een gewone bezoeker.

Vergelijking: op het scherm staat geen prijs en verschijnt de offerteknop, in de broncode staat het prijsblok er nog met display none en is het leesbaar
Visueel verbergen volstaat tegen een toevallige concurrent; tegen systematisch scrapen mag de prijs de browser helemaal niet bereiken.

Dat is niet per se een gebrek dat koste wat het kost moet worden verholpen: voor het doel “voorkomen dat een toevallige concurrent de tarieven visueel vergelijkt” is een visuele afscherming ruimschoots genoeg, de meeste concurrenten gaan niet zo ver dat ze de broncode lezen. Voor het doel “systematisch geautomatiseerd scrapen van de hele prijslijst voorkomen” volstaat een puur visuele afscherming niet: u moet de prijs ofwel nooit naar de browser sturen voor de betrokken bezoekers (wat een andere logica vraagt op het niveau van het paginasjabloon, niet alleen een CSS-klasse), ofwel accepteren dat de echte bescherming van elders komt (authenticatie, beperking van het aantal verzoeken, botdetectie) en niet van de visuele afscherming zelf. De juiste keuze hangt af van wat u werkelijk wilt voorkomen, niet van een generiek vakje “prijzen verbergen”.

Het punt dat het zwaarst weegt: waar de onderhandelde prijs wordt berekend

Zodra een B2B-klant een offerte heeft ontvangen met een onderhandelde prijs per regel, is de belangrijkste technische vraag niet hoe de prijs aanvankelijk is verborgen, maar hoe die onderhandelde prijs wordt toegepast op het moment van bestellen. Een correct gebouwd offertesysteem berekent en past die prijs toe aan de serverzijde, doorgaans via een winkelwagenregel die wordt gegenereerd en gekoppeld aan de geaccepteerde offerte, nooit op basis van een waarde die door het formulier van de browser wordt doorgegeven. De reden is eenvoudig: alles wat aan de clientzijde wordt berekend of doorgegeven, kan door een voldoende gemotiveerde klant worden gewijzigd voordat het verzoek wordt verstuurd. Een onderhandelde prijs die alleen zou bestaan als verborgen veld in een HTML-pagina, zou op dezelfde manier te wijzigen zijn als een prijs die openlijk wordt getoond, met bovendien de illusie beschermd te zijn omdat hij niet zichtbaar is. Een stroom “offerte accepteren en dan bestellen” moet de onderhandelde prijs dus bij elke stap aan de serverzijde controleren en opnieuw toepassen, niet alleen op het moment dat de offerte is gegenereerd.

Vergelijking: geaccepteerde offerte, winkelwagenregel op de server en prijscontrole bij elke stap, tegenover een verborgen veld dat de browser verstuurt en dat aan te passen is
Een prijs die alleen als verborgen veld bestaat, is net zo aan te passen als een zichtbare: hij moet bij elke stap op de server opnieuw worden berekend.

De reikwijdte van het verbergen: alles, een categorie, een groep, een product

Een algemene afscherming van de hele catalogus past bij een puur B2B-site, waar geen enkele niet-geïdentificeerde bezoeker een reden heeft om een prijs te zien. Een gemengde B2B/B2C-site heeft doorgaans een fijnere reikwijdte nodig: alleen een professionele categorie verbergen, of alleen voor de klantgroepen die nog niet zijn geverifieerd, en de rest van de catalogus met normaal zichtbare prijzen laten. De verkeerde reikwijdte kiezen kost echt geld, aan beide kanten: te breed verbergen verandert B2C-bezoekers die meteen willen kopen in bezoekers die een offerte moeten aanvragen voor een product waarvan de prijs niets vertrouwelijks had, wat de conversie verslechtert zonder enig voordeel; te weinig verbergen laat juist de prijslijst zichtbaar die men wilde beschermen.

Schaal van de reikwijdte: hele catalogus voor een site alleen voor B2B, een categorie of klantgroep voor een gemengde site, een product; te breed kost conversies, te smal laat de prijslijst zichtbaar
Een verkeerde reikwijdte kost aan beide kanten: te veel kost verkopen, te weinig legt juist de prijslijst bloot die beschermd moest worden.

Een SEO-valkuil die u makkelijk mist: de prijs blijft in de gestructureerde gegevens

Een PrestaShop-productpagina toont doorgaans een prijs in haar gestructureerde gegevens (schema.org, tag offers), zodat zoekmachines een prijs kunnen tonen in de uitgebreide zoekresultaten. De prijs visueel op de pagina verbergen zonder deze gestructureerde gegevens te verwijderen of aan te passen, laat een prijs, mogelijk verouderd zodra hij verandert, rechtstreeks zichtbaar in de zoekresultaten, buiten elke pagina die een bezoeker bekijkt. Het is een van de meest voorkomende blinde vlekken bij een snelle invoering van prijsverberging: de visuele instelling is gedaan, de gestructureerde gegevens die Google voeden zijn niet meegegaan.

Schema: de productpagina verbergt de prijs, maar de gestructureerde gegevens schema.org offers bevatten hem nog en het zoekresultaat toont hem
Het offers-blok van schema.org neemt de prijs mee naar de rich results, buiten elke pagina die de bezoeker echt opent.

Samengevat

Een prijs verbergen en in plaats daarvan een offerte aanbieden beantwoordt aan echte behoeften in B2B, maar “de prijs verbergen” is geen enkele handeling: een visuele afscherming beschermt tegen een toevallige concurrent, niet tegen systematisch scrapen; de berekening van de onderhandelde prijs moet altijd aan de serverzijde gebeuren, nooit in het formulier van de browser; de reikwijdte van het verbergen (alles, categorie, groep, product) bepaalt of de maatregel het juiste publiek beschermt of de conversie van het verkeerde publiek verslechtert; en de gestructureerde gegevens van de pagina verdienen een aparte controle, omdat ze een visuele instelling niet automatisch volgen. In PrestaShop beheert een module als cll_quotes deze stroom (offerteknop, verbergen per reikwijdte, onderhandelde prijs aan de serverzijde toegepast via een winkelwagenregel), maar de bovenstaande principes gelden los van het gekozen gereedschap.

Schermafbeelding van de module Offerteaanvragen in de PrestaShop 9-demo: offerteknop op de productpagina en in de winkelwagen, reikwijdte per producten, categorieën, klantgroepen of losse producten
De instellingen van de module cll_quotes in onze PrestaShop 9-demo: waar de offerteknop verschijnt en voor welke reikwijdte hij geldt.
Offerteaanvragen - B2B-offertes & prijzen verbergenLaat klanten een offerte aanvragen in plaats van te kopen: optioneel prijzen verbergen, offertebeheer in de…€ 89,99Bekijk product

Laat een reactie achter

Reacties worden gemodereerd voordat ze worden gepubliceerd.

← Blog

Laden ...
Terug naar boven