Come applicare un Coupon automaticamente in WooCommerce con una spesa minima

Di recente ho letto un post dove chiedevano se sia possibile applicare automaticamente un Coupon creato in WooCommerce direttamente nel carrello se il cliente avesse speso una certa cifra. Ebbene, ho deciso di fornirvi un aiuto per comprendere come sia meglio gestire questa situazione e tutti i passaggi da effettuare.

Creazione del Coupon

La prima cosa da fare è accertarsi che sul nostro Shop sia attivata l‘opzione per i Coupons. Se non avete attivato questa opzione, potete farlo dalle impostazioni di WooCommerce, alla prima TAB.

Ora andiamo a creare il primo Coupon, in questo esempio, diremo al coupon di applicare uno sconto del 20% a tutti i clienti che aggiungeranno al carrello uno o più articoli che sommati superino la spesa di 100 €.

La prima cosa è rinominare il nostro Coupon con un nome leggibile e comprensibile.

Ho chiamato il nostro Coupon di esempio “Sconto 20“, attenzione perché questo nome ci servirà in seguito. Ora andiamo alle restrizioni di utilizzo del Coupon e mettiamo il valore minimo di spesa per validare questo Coupon.

Bene! Ora abbiamo creato il primo coupon e possiamo cominciare ad inserire il nostro codice.

Il codice

Il codice in questione che vi presento, ve l’ho direttamente commentato voce per voce, per farvi capire i vari passaggi utili al fine di applicare in modo automatico lo sconto o Coupon direttamente al carrello di WooCommerce.

Non vi resta che copiare ed incollare questo codice nel vostro file functions.php del vostro tema in uso. Ricordatevi che il nome del Coupon deve rispecchiare esattamente quello scritto nella variabile php della funzione.

Risultato Finale

Come vedete ora il cliente aggiunge dei prodotti al carrello, ma l’importo è basso rispetto ai 100 € prefissati, quindi il Coupon non si attiva.

Ora che il cliente ha inserito più prodotti, l’importo cambia e supera i 100 € ed automaticamente il Coupon viene applicato!

28 commenti su Come applicare un Coupon automaticamente in WooCommerce con una spesa minima

  1. Seguendo questa procedura, se ho importi inferiori all’importo stabilito per l’inserimento dello sconto (es. coupon 100 €, importo 20 €) mi blocca il carrello e mi dice che il coupon può essere attivato solo per importi superiori a quello del coupon… 🙁

    1. Ciao Andrea, si è corretto! Se hai messo un Coupon che regala € 100 e nel carrello ci sono solo € 20 non credo che chi vende debba pure dare € 80 al cliente…

      Inoltre dipende da come imposti la scontistica del coupon, quindi ti consiglio di fare attenzione e di riguardare bene il tuo ragionamento

    1. Ciao Andrea, devi solo cambiare la condizione dopo il mio commento nel codice: “Condizione per applicare il coupon in automatico”

      Se vuoi farlo per categorie, ricordati che Woo usa dei custom terms.

  2. Grazie per la dritta! Ti volevo però chiedere nel caso lo volessi applicare in base al peso totale dei prodotti? Sto cercando di creare due sconti uno per il peso tra i 10 e i 15 kg, uno per gli ordini che superano i 15kg, ma sono un pò bloccato… potresti aiutarmi?

    1. Ciao Francesco, in questo caso lo sconto va applicato come sempre nel carrello, ma va cambiato il ragionamento fatto con questo tutorial. 

      Ti basta sommare il peso di ogni prodotto che hai nel carrello e questo per ogni quantità, poi dal risultato finale, in questo caso il peso totale, dovrai far applicare la regola al sistema. Basta un semplice condizionale in PHP per farlo, il lavoro grosso alla fine è intercettare al momento giusto i vari dati! 

  3. Ciao e complimenti per l’articolo. Ti volevo chiedere: e se invece in automatico volessi inviare un coupon DOPO la vendita come bonus per la prossima vendita? C’è un modo o mi sai indicare qualche risorsa? Grazie

  4. Ciao ottimo articolo … volevo chiederti se esiste una funzione che permette di visualizzare all’interno della pagina prodotto, in modo dinamico l’importo che serve per poter attivare i coupon … al momento io utilizzo un plugin yithem cart Messages ma è presente solo nella pagina carrello e Checkout … grazie mille 

  5. Ciao, grazie per l’articolo. Volevo chiederti se esiste una funzione via php per sommare 3 coupon.In pratica nel mio ecommerce ci sono più sconti: se spendi da 50 a 100€ hai il 10%, se spendi da 100% a 200% il 15% e se spendi da 200% in su hai il 20% di sconto. Io li ho creati ma me ne prende solo 1.Come si potrebbe fare?Grazie mille

    1. Ciao Claudia e grazie per il tuo commento! Si è possibile. Ovviamente deve avere una regola, oppure il coupon si applicherà per qualsiasi importo, sei tu a decidere la condizione!

      Guarda bene il mio codice tra la riga 28 e la riga 30!

    2. Ma quindi è un intervento da fare necessariamente passando dal codice, non c’è altro modo per farlo?Grazie mille per la rapida risposta!

    3. Il Coupon si applica già al totale del carrello! Quando credi un Coupon trovi tutte le opzioni al suo interno per poterlo gestire.

  6. Ciao e complimenti per la soluzione davvero molto ben fatta!Una domanda: vorrei inserire una condizione per cui quando applico un secondo codice il codice che sconta le spedizioni non venga applicato.E’ possibile?Grazie

  7. Ottima funzione!! Ma come si fa a modificare il messaggio che da sopra sotto la soglia minima dello sconto? Per utilizzare questo codice promozionale, la spesa minima è 50,00€.dove si modificano i messaggi di “errore” ?

    1. Ciao Luca, quello è un WC notice e per poterlo modificare va fatto un filtro apposito alla chiamata XHR di default. Non è proprio semplice ed è una cosa molto personalizzata. Quel notice è quello di defaul del tema e di Woo!

  8. CIao, ho eseguito tutta la procedura e lo sconto funziona, ma e’ successo a qualcuno che ogni tanto non funziona? Il cliente mi ha riferito che vari clienti si lamentano perche non viene scalato loro lo sconto appunto, ho provato anche io e in effetti succede da cosa puo’ dipendere?

    1. allego immagine<a href=”https://ibb.co/zJghp5m”><img src=”https://i.ibb.co/cL9c0vy/Cattura.jpg” alt=”Cattura” border=”0″></a>

    2. Ciao Luca, il tuo caso è molto particolare in quanto potrebbero esserci degli errori sul tuo template o su qualche plugin o sull’hosting stesso. Il codice che ho rilasciato sopra funziona perfettamente se il sito non presenta errori.

      Controlla di aver settato tutto correttamente e se hai bisogno di assistenza specifica a pagamento per il tuo caso, ti invito a contattarmi alla mia casella minimac@minimamente.com

  9. ciao e se dovessi applicare il coupon non per il minimo importo ma solo se scelgono come metodo di spedizione il ritiro in sede?

    1. Ciao Romeo, nel tuo caso lo sconto non va fatto nel carrello, ma nel checkout e li parliamo di altre funzioni 😀

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *