Prezzi nascosti e richieste di preventivo in B2B su PrestaShop: come funziona davvero
Perché nascondere un prezzo invece di mostrarlo
In B2B, nascondere il prezzo e sostituire il pulsante di acquisto con un pulsante "richiedi un preventivo" risponde a esigenze reali e distinte, spesso mescolate in un'unica impostazione: proteggere un listino negoziato che i concorrenti potrebbero copiare in automatico, imporre un contatto qualificato prima di vendere prodotti il cui prezzo dipende da un volume o da una configurazione, o semplicemente riservare un intero catalogo (una gamma professionale, un listino rivenditori) ai soli account B2B verificati. Sono tre obiettivi diversi, e la stessa impostazione "nascondi il prezzo" non li serve sempre allo stesso modo: il primo ha bisogno di un vero occultamento tecnico, il secondo ha soprattutto bisogno di un pulsante diverso, il terzo ha bisogno di un ambito (scope) preciso per gruppo di clienti, non di un interruttore generale.

Che cosa nasconde davvero un prezzo "nascosto" (e che cosa no)
Il metodo più diffuso per nascondere un prezzo in una pagina prodotto è nasconderlo visivamente con una regola CSS (display: none) sul blocco del prezzo, appoggiandosi a una classe aggiunta lato server quando la condizione di occultamento è soddisfatta. È un metodo legittimo e molto usato, ma ha una conseguenza tecnica che vale la pena capire prima di sceglierlo: il prezzo resta presente nel codice sorgente della pagina, semplicemente invisibile a schermo. Chiunque guardi il codice sorgente, usi uno screen reader configurato male o faccia girare un semplice script di raccolta dati può comunque recuperare quel prezzo, anche se per un visitatore normale non compare mai.

Non è necessariamente un difetto da correggere a ogni costo: per l'obiettivo "impedire a un concorrente occasionale di confrontare a colpo d'occhio i prezzi", un occultamento visivo basta e avanza, la maggior parte dei concorrenti non arriva a leggere il codice sorgente. Per l'obiettivo "impedire uno scraping automatico sistematico di tutto il listino", un occultamento puramente visivo non basta: bisogna o non inviare mai il prezzo al browser per i visitatori interessati (il che richiede una logica diversa a livello di template della pagina, non solo una classe CSS), o accettare che la protezione vera arrivi da altrove (autenticazione, limitazione del numero di richieste, rilevamento dei bot), non dall'occultamento visivo in sé. La scelta giusta dipende da ciò che vuoi davvero impedire, non da una casella generica "nascondi i prezzi".
Il punto che conta di più: dove viene calcolato il prezzo negoziato
Quando un cliente B2B ha ricevuto un preventivo con un prezzo negoziato riga per riga, la questione tecnica più importante non è come il prezzo era stato nascosto all'inizio, ma come quel prezzo negoziato viene applicato al momento dell'ordine. Un sistema di preventivi costruito correttamente calcola e applica quel prezzo lato server, tipicamente tramite una regola carrello generata e legata al preventivo accettato, mai a partire da un valore trasmesso dal modulo del browser. Il motivo è semplice: tutto ciò che viene calcolato o trasmesso lato client può essere modificato da un cliente abbastanza motivato prima dell'invio della richiesta. Un prezzo negoziato che esistesse solo come campo nascosto in una pagina HTML sarebbe modificabile esattamente come un prezzo mostrato in chiaro, con in più l'illusione di essere protetto perché non si vede. Un flusso "accetta il preventivo, poi ordina" deve quindi verificare e riapplicare il prezzo negoziato a ogni passaggio lato server, non solo nel momento in cui il preventivo è stato generato.

L'ambito dell'occultamento: tutto, una categoria, un gruppo, un prodotto
Un occultamento generale di tutto il catalogo va bene per un sito puramente B2B, dove nessun visitatore non identificato ha motivo di vedere un prezzo. Un sito misto B2B/B2C ha di solito bisogno di un ambito più fine: nascondere solo una categoria professionale, o solo per i gruppi di clienti non ancora verificati, lasciando il resto del catalogo con i prezzi normalmente visibili. Scegliere l'ambito sbagliato ha un costo reale da entrambe le parti: nascondere in modo troppo ampio trasforma visitatori B2C pronti a comprare subito in visitatori costretti a chiedere un preventivo per un prodotto il cui prezzo non aveva nulla di riservato, il che peggiora la conversione senza alcun vantaggio; nascondere troppo poco lascia visibile proprio il listino che si voleva proteggere.

Una trappola SEO facile da perdere: il prezzo resta nei dati strutturati
Una pagina prodotto PrestaShop espone di solito un prezzo nei suoi dati strutturati (schema.org, tag offers) per permettere ai motori di ricerca di mostrare un prezzo nei risultati arricchiti. Nascondere visivamente il prezzo nella pagina senza rimuovere o adattare questi dati strutturati lascia un prezzo, potenzialmente superato appena cambia, visibile direttamente nei risultati di ricerca, al di fuori di qualunque pagina vista da un visitatore. È uno dei punti ciechi più frequenti di un'impostazione rapida dell'occultamento dei prezzi: l'impostazione visiva è fatta, il dato strutturato che alimenta Google non l'ha seguita.

In sintesi
Nascondere un prezzo e proporre al suo posto un preventivo risponde a esigenze reali in B2B, ma "nascondere il prezzo" non è un'azione unica: un occultamento visivo protegge da un concorrente occasionale, non da uno scraping sistematico; il calcolo del prezzo negoziato va sempre fatto lato server, mai nel modulo del browser; l'ambito dell'occultamento (tutto, categoria, gruppo, prodotto) determina se la misura protegge il pubblico giusto o peggiora la conversione di quello sbagliato; e i dati strutturati della pagina meritano una verifica a parte, perché non seguono automaticamente un'impostazione visiva. Su PrestaShop, un modulo come cll_quotes gestisce questo flusso (pulsante preventivo, occultamento per ambito, prezzo negoziato applicato lato server tramite una regola carrello), ma i principi qui sopra valgono indipendentemente dallo strumento scelto.

Guida all'installazione e alla configurazione del modulo
Richieste di Preventivo - Preventivi B2B e prezzi nascosti (Quote Requests)Permetti di richiedere un preventivo invece di acquistare: nascondi prezzi opzionale, gestore preventivi in…89,99 €Vedi il prodotto