La configurazione delle spedizioni è la parte di PrestaShop che molti commercianti impostano una sola volta, di fretta, il giorno del lancio, e poi non toccano più, anche se nel frattempo addebita troppo ad alcuni clienti e troppo poco ad altri su ogni singolo ordine. Il motivo per cui resta spesso sbagliata è che la spedizione in PrestaShop non è una singola impostazione: è composta da quattro elementi che devono combaciare tra loro (zone, corrieri, fasce e regole carrello). Basta un disallineamento tra due di questi elementi perché nella fase di pagamento compaia un'opzione di consegna mancante o un prezzo errato. Un costo di spedizione inatteso al momento del pagamento è uno dei motivi più citati per cui i clienti abbandonano il carrello, quindi la schermata del back office che hai scorso velocemente il primo giorno ha un impatto diretto sul tuo tasso di conversione.
Questa guida è la mappa del motore di spedizione di PrestaShop: i percorsi esatti nel back office, il modo in cui zone, corrieri e fasce si incastrano davvero, le impostazioni che rompono silenziosamente il pagamento e gli errori di configurazione che mettono in difficoltà anche i titolari di negozi esperti. Rimane volutamente sulla configurazione. Le domande più approfondite di tipo economico o specifiche per corriere, quanto addebitare, quale corriere integrare, come mostrare le date di consegna, hanno ciascuna una guida dedicata, che troverai collegata nel punto pertinente invece di essere trattata qui a metà.
L'architettura delle spedizioni in PrestaShop: quattro parti che devono combaciare
Prima di toccare qualsiasi impostazione, conviene capire come PrestaShop modella internamente le spedizioni, perché il back office nasconde le relazioni che determinano davvero ciò che vede il cliente:
- Zone, contenitori geografici (Europa, Nord America, Asia...). Una zona è l'unità su cui un corriere applica i prezzi; non imposti mai il prezzo direttamente per singolo Paese, ma per zona.
- Corrieri, i servizi di consegna mostrati nella fase di pagamento (l'oggetto Carrier nel database, tabella ps_carrier). Un corriere viene abilitato per zona e ha le proprie fasce di prezzo.
- Fasce, ogni corriere calcola i prezzi o in base al peso (ps_range_weight) o in base al valore dell'ordine (ps_range_price), mai entrambi insieme. Le righe delle fasce definiscono gli scaglioni; i prezzi di consegna effettivi vengono assegnati per zona nella griglia dei costi del corriere e salvati separatamente in ps_delivery (per corriere, fascia e zona).
- Regole carrello, sconti e condizioni di spedizione gratuita (ps_cart_rule) che possono sovrascrivere il prezzo del corriere per un determinato ordine.
La relazione che crea più problemi è questa: un corriere compare nella fase di pagamento solo quando tutte e tre le condizioni sono allineate, il Paese del cliente appartiene a una zona, quella zona è selezionata per il corriere e il corriere ha una fascia di prezzo che copre il peso (o il valore) del carrello. Rompi uno qualunque di questi collegamenti e il corriere sparisce silenziosamente dalle opzioni del cliente. La maggior parte dei ticket del tipo "perché questo cliente non vede nessuna opzione di spedizione?" risale esattamente a un collegamento mancante in quella catena.
Passaggio 1, Sistema correttamente le zone (Internazionale → Località)
Vai in Internazionale → Località → Zone. PrestaShop include una serie di zone predefinite, i grandi raggruppamenti continentali (Europa, Nord America, Sud America, Asia, Africa, Oceania, Antartide) più una zona separata Europa (non UE), ma per la maggior parte dei negozi sono troppo generiche per applicare prezzi realistici. Una zona è il livello più fine a cui puoi addebitare la spedizione: se due Paesi con costi di spedizione reali molto diversi condividono la stessa zona, sarai costretto a far pagare troppo quello economico o ad assorbire il costo di quello caro.
Per un negozio con sede nell'UE, una suddivisione più onesta di solito è questa: Nazionale (Paese di origine, tariffa più bassa), UE vicina, Resto UE, Europa non UE (Svizzera, Norvegia, Regno Unito, con dogana), Nord America e Resto del mondo. Dopo aver creato le zone, assegna ogni Paese da Internazionale → Località → Paesi: apri il Paese e imposta il menu a tendina Zona. Un Paese appartiene a una sola zona, quindi è anche qui che controlli se quel Paese è vendibile: un Paese disattivato non arriverà alla fase di pagamento, indipendentemente dai corrieri.
Quindi? Più le tue zone rispecchiano le fatture reali dei corrieri, meno margine perdi sugli ordini a lunga distanza e meno clienti scoraggi con una tariffa gonfiata per destinazioni vicine al mercato nazionale. È l'intervento con il rendimento più alto nella schermata delle spedizioni, e costa solo dieci minuti.
Passaggio 2, Configura i corrieri (Spedizione → Corrieri)
Vai in Spedizione → Corrieri → Aggiungi nuovo corriere. La procedura guidata dei corrieri di PrestaShop si sviluppa in quattro schermate; i campi più importanti sono questi:
- Nome del corriere, esattamente ciò che il cliente vede nella fase di pagamento. "DHL Express" e "Consegna standard" comunicano molto più di un codice interno.
- Tempo di transito, la stima di consegna mostrata accanto all'opzione (ad esempio "2–4 giorni lavorativi"). Sii prudente: promettere troppo qui è il modo più rapido per ottenere una recensione negativa e un ticket "dov'è il mio ordine?".
- Grado di velocità (0–9), controlla l'ordine dei corrieri nella fase di pagamento quando l'ordinamento è per velocità. Assegna 8–9 ai servizi espressi e 1–3 a quelli economici, così l'elenco risulta logico.
- Logo, caricalo. I clienti riconoscono il marchio DHL o UPS più velocemente di quanto leggano un'etichetta, e un logo familiare del corriere è un piccolo ma concreto segnale di fiducia nel momento del pagamento.
- URL di tracciamento, lo schema della pagina di tracciamento del corriere, con @ al posto del numero di tracciamento (per esempio https://www.dhl.com/...?AWB=@). PrestaShop sostituisce @ con il numero di tracciamento dell'ordine quando genera il link per il cliente.
Per i collegamenti effettivi con i corrieri, generazione delle etichette, sincronizzazione del tracciamento, scelta del modulo ufficiale o di terze parti più adatto per ciascun corriere, il discorso merita una guida a sé: parti da come configurare i moduli corriere in PrestaShop, poi passa alle guide specifiche per corriere: DHL, DPD e UPS, GLS multi-Paese, Colissimo per la Francia, punti di ritiro Mondial Relay e InPost Paczkomaty per la Polonia.
Passaggio 3, Scegli un metodo di prezzo e crea le fasce
Nella schermata Località e costi di spedizione del corriere prendi la decisione che sembra più irreversibile: fasce basate sul peso o basate sul prezzo. Un singolo corriere può usare un solo metodo, anche se puoi far lavorare due corrieri affiancati con metodi diversi.
| Metodo | Calcolo in base a | Ideale quando... | Tabella PrestaShop |
|---|---|---|---|
| Basato sul peso | Peso totale del carrello (kg) | I prodotti variano molto per peso, mobili, elettronica, alimentari, qualsiasi articolo per cui il corriere addebita in base al peso | ps_range_weight |
| Basato sul prezzo | Valore totale dell'ordine | Prodotti leggeri e uniformi, dove il peso incide poco sul costo, moda, accessori, piccoli dispositivi elettronici | ps_range_price |
Qualunque metodo tu scelga, poi crei le fasce e inserisci un prezzo nella griglia per ogni zona servita dal corriere. Esempio basato sul peso per un negozio tedesco con DHL:
- 0–2 kg: Germania 4.99, UE 9.99, Mondo 24.99
- 2–5 kg: Germania 5.99, UE 14.99, Mondo 34.99
- 5–10 kg: Germania 7.99, UE 19.99, Mondo 49.99
- 10–31.5 kg: Germania 14.99, UE 29.99, Mondo 79.99
Due impostazioni in questa schermata decidono silenziosamente se la fase di pagamento funzionerà oppure no:
- "Comportamento fuori fascia", quando il peso o il valore del carrello supera la fascia più alta, PrestaShop può disabilitare il corriere oppure applicare la fascia più alta definita. L'opzione predefinita (disabilitare) è all'origine di moltissime lamentele "nessun corriere disponibile" da parte di clienti con carrelli pesanti. Se la tua fascia massima è 31.5 kg e qualcuno ordina 40 kg, il corriere scompare a meno che tu non imposti "applica il costo della fascia più alta", oppure aggiunga una fascia superiore.
- Gestione delle imposte e dei costi di spedizione, seleziona la regola fiscale del corriere e indica se i costi di gestione vanno aggiunti alla spedizione. Dopo averlo fatto, esegui un pagamento di prova per verificare che la spedizione venga mostrata correttamente IVA inclusa o esclusa per ciascun gruppo cliente; un errore qui mostra la spedizione al netto delle imposte a un gruppo e al lordo a un altro.
La trappola dei buchi tra le fasce
È il classico problema delle spedizioni in PrestaShop. Un corriere può calcolare il prezzo solo per un carrello il cui peso (o valore) rientra in una delle fasce definite; appena il carrello cade in un buco non coperto, il corriere scompare e il cliente vede nessuna opzione di spedizione. La trappola consiste nel lasciare un intervallo vuoto accidentale tra le fasce: definire 0–2 e poi 3–5, per esempio, lascia scoperto tutto ciò che sta tra 2 e 3 kg. Crea fasce contigue (0–2, 2–5, 5–10, senza sovrapposizioni e senza buchi) e testa sempre un carrello il cui peso cada esattamente sul confine e uno appena sopra la fascia massima. Un buco di un grammo in una tabella delle fasce è invisibile nel back office e molto visibile per il cliente che non riesce a completare l'ordine.
Limiti di dimensione e peso
Più in basso nella schermata del corriere, Larghezza / altezza / profondità / peso massimi del pacco nasconde un corriere quando il carrello supera i limiti reali del servizio, così un pallet da 50 kg smette di essere proposto come "posta ordinaria". Impostali in modo che corrispondano a ciò che ciascun corriere accetta davvero; evita ordini impossibili invece di scoprirli al deposito.
Passaggio 4, Spedizione gratuita: due meccanismi, compiti diversi
PrestaShop offre due modi realmente diversi per rendere gratuita la spedizione, e i commercianti usano spesso quello sbagliato:
- Regola carrello (Catalogo → Sconti → Regole carrello), imposti una condizione (ad esempio ordine minimo 50) e selezioni Spedizione gratuita nelle Azioni. Se lasciata senza limitazioni, rende gratuita la spedizione su ogni corriere idoneo che il cliente potrebbe scegliere, e il costo ricade su di te, ideale per una promozione generale "spedizione gratuita sopra X". Ma una regola carrello può anche essere limitata: nelle sue Condizioni puoi restringerla a corrieri specifici, così rende gratuita la consegna standard lasciando a pagamento quella espressa.
- Una fascia a prezzo zero sul corriere, imposti il costo di spedizione a 0 in una fascia di prezzo sopra la tua soglia, solo su quel corriere. È l'altro modo per offrire la spedizione standard gratuita continuando a far pagare l'espressa: vive sul corriere invece che in una promozione, quindi si applica finché quel corriere viene proposto.
C'è anche una sovrascrittura globale per la spedizione gratuita in Spedizione → Preferenze (spedizione gratuita sopra un totale ordine / peso), che è lo strumento più grossolano dei tre. Usalo solo quando la regola è davvero universale.
Dove impostare la soglia, e se la spedizione gratuita sia davvero sostenibile per i tuoi margini, è una decisione commerciale, non una semplice configurazione, e sbagliarla consuma il margine più in fretta di quasi qualsiasi altra cosa nel negozio. La trattiamo in modo completo in quando la spedizione gratuita ha senso e quando ti mangia solo il margine, e affrontiamo il tema più ampio dei modelli di prezzo, tariffa fissa, calcolata o gratuita, in gratis, tariffa fissa o calcolata: cosa funziona meglio.
Passaggio 5, Tempi di preparazione e stime di consegna

In Spedizione → Preferenze controlli la gestione a livello di negozio e il comportamento della spedizione gratuita:
- Costi di gestione, un costo fisso aggiunto a ogni spedizione (imballaggio, etichette). La maggior parte dei negozi lo lascia a 0 e incorpora la gestione nelle tariffe dei corrieri, così il cliente vede un solo importo chiaro.
- Soglie per la spedizione gratuita, la sovrascrittura globale "spedizione gratuita sopra un totale ordine / peso" discussa nel Passaggio 4.
La stima di consegna che il cliente legge, però, non si imposta qui: arriva dal testo del tempo di transito di ciascun corriere, sotto Spedizione → Corrieri. Di base, PrestaShop mostra la stringa che hai digitato ("2–4 giorni lavorativi"); non calcola una data di consegna reale tenendo conto di fine settimana, festività o orario limite giornaliero.
Quello spazio tra "ciò che abbiamo scritto" e "la data reale in cui il pacco arriva alla porta del cliente" è esattamente dove nasce la maggior parte dell'ansia sulla consegna, ed è volutamente un tema affine ma distinto, non qualcosa da appiccicare qui. Il ragionamento e il caso psicologico lato cliente sono in come impostare aspettative di consegna realistiche e perché una funzione di data di consegna riduce l'ansia dei clienti.
Se vuoi che PrestaShop mostri una vera data di consegna calcolata, invece di una stringa statica "2–4 giorni", una data che rispetti il tuo orario limite, i fine settimana, le festività e il calendario del magazzino, nella pagina prodotto e nella fase di pagamento. Questo è ciò che fa il nostro modulo mprestimateddelivery. Che cosa ottieni in pratica? Il cliente vede "Ordina entro le prossime 3 ore, ricevilo giovedì" invece di un intervallo vago: rimuove il principale dubbio "quando arriva?" prima del pagamento, ed è configurabile dal back office, senza fatture di sviluppo o modifiche al tema, quindi sopravvive agli aggiornamenti.
Passaggio 6, Una selezione multi-corriere tra cui i clienti possano scegliere davvero
La maggior parte dei negozi sani offre due o tre corrieri, ma il punto non è la quantità: è la differenziazione. Tre corrieri allo stesso prezzo e con la stessa velocità creano solo paralisi decisionale nel momento peggiore. Una selezione chiara si legge così:
| Livello | Velocità tipica | Corrieri | Come prezzarlo |
|---|---|---|---|
| Economica | 3–7 giorni | Posta nazionale, servizi con punti di ritiro | A costo, l'opzione "non ho fretta" |
| Standard | 2–4 giorni | DPD, DHL, GLS | Piccolo ricarico; preseleziona questa opzione nella fase di pagamento |
| Espressa | 1–2 giorni | DHL Express, UPS, FedEx | Ricarico comodo, chi sceglie l'espresso si aspetta di pagare |
Assicurati che ogni opzione mostri il tempo di transito accanto al prezzo, perché i clienti valutano velocità e costo insieme, non solo il costo. La domanda strategica su quanti livelli debba offrire un negozio piccolo, e dove posizionarsi tra economico-lento e rapido-costoso, è un equilibrio a parte: lo trattiamo in strategia di spedizione per piccoli negozi, mentre la fattibilità concreta della consegna rapida è in se la consegna in giornata e il giorno successivo sia realistica per i piccoli negozi.
Gli errori di configurazione che costano denaro in silenzio
Prodotti senza peso impostato
I pesi mancanti rendono imprecise le tariffe basate sul peso: un peso vuoto o pari a zero di solito produce un carrello da 0 kg, che addebita troppo poco o calcola male la spedizione, e nasconde completamente il corriere solo se nessuna fascia copre 0 kg o il peso risultante del carrello. Imposta un peso (imballaggio incluso) per ogni prodotto nella sua scheda Spedizione. Scorciatoia pratica: pesa con precisione i bestseller, stima la coda lunga e affina nel tempo. Un peso sbagliato è meglio di un campo vuoto.
Un corriere senza zone selezionate
Un corriere che serve zero zone mostra zero opzioni. Se un intero Paese non riesce a completare l'ordine, risali la catena al contrario: il Paese è attivo, è assegnato a una zona, quella zona è selezionata su almeno un corriere attivo e quel corriere ha una fascia che copre il carrello? Quasi sempre c'è un solo collegamento rotto.
Il comportamento fuori fascia predefinito
Come sopra: i carrelli pesanti o di valore elevato che scompaiono nella fase di pagamento sono quasi sempre l'effetto dell'impostazione predefinita "disabilita il corriere quando fuori fascia" su un carrello oltre la tua fascia massima. Estendi le fasce oppure passa a "applica la fascia più alta".
Non fare mai ordini di prova
Effettua veri ordini di prova nei casi scomodi: un articolo leggerissimo, uno pesante, un carrello con più prodotti e alcuni Paesi diversi. Un errore di spedizione da un euro non sembra molto finché non lo moltiplichi per mille ordini. A quel punto sono mille euro persi o addebitati in eccesso, tutti a causa di un numero che non hai mai ricontrollato.
Tracciamento e notifiche: dove PrestaShop si ferma
Il tracciamento nativo di PrestaShop è volutamente minimale: salvi un URL di tracciamento per ciascun corriere e, quando un ordine passa allo stato "Spedito", il cliente può ricevere via email un link costruito da quello schema e dal numero di tracciamento dell'ordine. Quello che non fa bene di serie è una comunicazione proattiva, con il tuo brand e su più punti di contatto, e la comunicazione sul tracciamento è una leva di fidelizzazione abbastanza importante da meritare un approfondimento dedicato in numeri di tracciamento e notifiche di consegna.
Quando spedisci da più di un luogo
Tutto ciò che precede presuppone un'unica origine di spedizione. Nel momento in cui tieni scorte in due magazzini, o gestisci in dropshipping una parte del catalogo, zone e fasce non bastano più. La gestione avanzata dello stock legacy di PrestaShop e le associazioni corriere per magazzino coprivano questo scenario in PrestaShop 1.6 e nelle prime versioni 1.7, ma l'ASM nativo è stato poi rimosso dal core moderno 1.7+, quindi nei negozi attuali la gestione multi-magazzino di solito richiede un modulo dedicato o un'integrazione ERP. È un modello di configurazione diverso, con problemi propri; lo trattiamo dall'inizio alla fine in gestione multi-magazzino in PrestaShop.
Tratta la schermata delle spedizioni come un'attività trimestrale, non come una faccenda da giorno del lancio
Le fatture dei corrieri cambiano, i supplementi carburante variano, il valore medio dell'ordine si sposta e una suddivisione in zone che l'anno scorso era corretta inizia silenziosamente a farti perdere denaro. Nulla di tutto questo emerge da solo: PrestaShop continuerà volentieri ad applicare per sempre le tariffe che hai inserito nel 2024. Riserva mezz'ora ogni trimestre per ricontrollare le fasce rispetto alle fatture reali dei corrieri e ripetere qualche ordine di prova. La configurazione delle spedizioni non è affascinante, ma si trova esattamente tra il cliente che decide di acquistare e il cliente che paga davvero, e questo rende le schermate qui sopra uno degli spazi a più alto rendimento di tutto il tuo back office.
FAQ
Perché un cliente non vede nessuna opzione di spedizione nella fase di pagamento?
Un corriere appare solo quando l'intera catena è allineata: il Paese del cliente è attivo, quel Paese è assegnato a una zona, la zona è selezionata su un corriere attivo e il corriere ha una fascia che copre il peso o il valore del carrello. Una rottura in qualunque punto della catena fa sparire il corriere in silenzio. Risali al contrario partendo dal Paese e controlla che non ci sia un buco tra le fasce: la causa più comune è un peso del carrello che cade in un intervallo non coperto (per esempio tra una fascia 0–2 kg e una fascia 3–5 kg), facendo scomparire il corriere senza errori.
Un corriere può addebitare in base al peso e al valore dell'ordine contemporaneamente?
No. Ogni corriere calcola il prezzo o in base al peso (ps_range_weight) o in base al prezzo (ps_range_price), mai entrambi. Se ti servono entrambi i comportamenti, usa due corrieri affiancati, uno basato sul peso, uno basato sul prezzo, e lascia che sia il carrello del cliente a determinare quale viene proposto.
Dove imposto la soglia per la spedizione gratuita?
In Spedizione → Preferenze, nei campi prezzo e peso di La spedizione gratuita inizia da. Quella soglia è globale: azzera la spedizione su ogni corriere idoneo sopra il valore impostato, compresi quelli internazionali. Per applicare la spedizione gratuita solo a corrieri o Paesi specifici, usa una regola carrello in Catalogo → Sconti con Spedizione gratuita selezionata e una restrizione per corriere o Paese, oppure imposta una fascia a prezzo zero su un singolo corriere.
Perché i carrelli pesanti o di valore elevato perdono l'opzione di spedizione sopra la mia fascia massima?
È il comportamento fuori fascia predefinito di PrestaShop: quando un carrello supera la fascia più alta, il corriere viene disabilitato. Nella schermata Località e costi di spedizione del corriere, cambia l'impostazione fuori fascia in applica il costo della fascia più alta, oppure aggiungi una fascia superiore per coprire i carrelli più pesanti.
PrestaShop mostra una data di consegna reale o solo il testo del tempo di transito?
Di default mostra solo la stringa statica del tempo di transito che hai inserito per ciascun corriere (per esempio "2–4 giorni lavorativi"); non calcola una data reale tenendo conto di fine settimana, festività o orario limite giornaliero. Per mostrare una data di arrivo calcolata che rispetti questi elementi, il nostro modulo Estimated Delivery Date la gestisce dal back office. Il ragionamento è in come impostare aspettative di consegna realistiche.