Het scenario is altijd hetzelfde. U stuurt een nieuwsbrief met een actiecode, en binnen een uur belt de eerste klant: de code wordt niet geaccepteerd. U probeert het zelf, en bij u werkt hij wel. Of erger: bij u werkt hij ook niet, en u hebt geen idee waarom, terwijl de nieuwsbrief al bij tweeduizend mensen in de inbox ligt.
Als een kortingscode niet werkt in WooCommerce, is dat vervelend omdat het precies op het duurste moment gebeurt: de klant staat bij de kassa met gevulde winkelwagen. Hieronder de acht oorzaken die wij in de praktijk tegenkomen, geordend van meest naar minst waarschijnlijk. Loop ze op volgorde langs, dan hebt u het meestal binnen tien minuten gevonden.
Oorzaak 1 tot 3: de instellingen van de code zelf
De vervaldatum. WooCommerce laat een code vervallen aan het begin van de opgegeven datum, niet aan het eind. Zet u 31 december als vervaldatum, dan is de code op 31 december al ongeldig. Wilt u dat hij die dag nog werkt, vul dan 1 januari in. Dit is met afstand de meest gemaakte fout, en de meest verrassende.
De gebruikslimiet. Onder het tabblad Gebruikslimieten staan drie velden: hoe vaak de code in totaal gebruikt mag worden, hoeveel artikelen hij mag korten, en hoe vaak één klant hem mag gebruiken. Staat er per ongeluk een 1 bij de totale limiet, dan werkt de code voor precies één bestelling en daarna nooit meer. Controleer ook het gebruikte aantal in de overzichtslijst; dat verklaart vaak meteen waarom hij plots stopte.
Het minimumbedrag. Een minimumbesteding van 50 euro wordt getoetst op het subtotaal exclusief of inclusief btw, afhankelijk van uw instellingen, en zonder verzendkosten. Een klant met 49,50 euro in de winkelwagen krijgt de code geweigerd terwijl hij bij het afrekenen ruim boven de 50 uitkomt. Dat voelt voor de klant als een fout in uw shop.
Oorzaak 4 en 5: uitsluitingen en combinaties
Uitsluiting van artikelen in de aanbieding. Onder Gebruiksbeperkingen zit het vinkje “Sluit artikelen in de aanbieding uit”. Staat dat aan en heeft één product in de winkelwagen een actieprijs, dan wordt de hele code geweigerd, niet alleen voor dat product. De melding die de klant ziet, is bovendien niet duidelijk over de reden.
Individueel gebruik. Het vinkje “Alleen individueel gebruik” betekent dat de code niet gecombineerd mag worden met andere codes. Als u ergens automatisch een code toepast, bijvoorbeeld via een plugin voor gratis verzending, dan zit die de nieuwe code in de weg. De klant krijgt dan een weigering zonder te begrijpen waarom.
Bij beide gevallen geldt: controleer het met een lege winkelwagen en één simpel product. Werkt de code dan wel, dan weet u dat het aan de samenstelling van de winkelwagen ligt en niet aan de code.
Oorzaak 6: caching
Dit is de vervelendste, omdat de code bij u wel werkt en bij de klant niet. De winkelwagen en de afrekenpagina mogen nooit in de paginacache staan. Gebeurt dat toch, dan krijgt de klant een bewaarde versie van de pagina te zien waarin zijn nieuwe kortingscode nog niet is verwerkt. Het lijkt dan alsof er niets gebeurt na het invullen.
Controleer of uw cacheoplossing de pagina’s winkelwagen, afrekenen en mijn account uitsluit. De meeste plugins herkennen WooCommerce automatisch, maar bij een aangepaste afrekenpagina met een eigen URL gaat dat mis. Ook een netwerkdienst voor uw site kan de pagina bewaren zonder dat uw plugin daar weet van heeft. Hoe die lagen zich tot elkaar verhouden, leest u in ons artikel over de vier lagen caching in WordPress.
Oorzaak 7: pluginconflicten
Alles wat aan prijzen rekent, kan met kortingscodes botsen. Denk aan plugins voor staffelkortingen, klantgroepsprijzen, cadeaubonnen, punten sparen of automatische acties. Twee daarvan naast elkaar leidt geregeld tot een korting die dubbel wordt toegepast, of juist helemaal niet.
Herkenbaar signaal: de code werkt bij het ene product wel en bij het andere niet, zonder dat er een logische regel achter zit. Of het kortingsbedrag klopt niet met wat u had ingesteld.
De aanpak is de standaardmethode voor conflicten: op een oefenomgeving alle prijsgerelateerde plugins uitzetten, testen, en er dan één voor één weer bij aanzetten tot het probleem terugkomt. Doe dit nooit op de live shop tijdens openingstijden. Meer over die werkwijze staat in ons stuk over het opsporen van een pluginconflict.
Oorzaak 8: het veld is niet zichtbaar
Soms werkt de code prima maar kan de klant hem nergens invullen. Bij de klassieke afrekenpagina zit het invoerveld verstopt achter een klein regeltje bovenaan dat op mobiel makkelijk over het hoofd wordt gezien. Bij de nieuwe blokken-checkout is het een apart blok dat verwijderd kan zijn.
Ook een instelling onder WooCommerce, Algemeen kan de boosdoener zijn: als het gebruik van kortingscodes daar helemaal is uitgezet, verschijnt er nergens een veld. Dat gebeurt vaker dan u denkt, meestal omdat iemand het ooit tijdelijk heeft uitgezet.
Een stappenplan om het snel te vinden
- Test de code in een privévenster, uitgelogd, met één goedkoop product in de winkelwagen.
- Werkt hij daar, dan ligt het aan de winkelwagen van de klant: bekijk het minimumbedrag, artikelen in de aanbieding en combinaties.
- Werkt hij daar ook niet, open dan de code in het beheer en loop datum, limieten en beperkingen na.
- Klopt alles, leeg dan alle caches en test opnieuw.
- Nog steeds mis: zet op een oefenomgeving de prijsplugins uit en test opnieuw.
- Noteer wat u vindt, zodat u het bij de volgende actie niet opnieuw hoeft uit te zoeken.
Zo voorkomt u het bij de volgende actie
Drie gewoonten die veel gedoe schelen. Maak de code altijd een dag voordat de actie begint aan en test hem dan met een echte bestelling van een paar euro. Zet de vervaldatum standaard op de dag ná de laatste geldige dag. En houd één vast stramien aan voor codenamen: alleen hoofdletters, geen streepjes, geen cijfer nul naast de letter O, want klanten typen ze over uit een e-mail.
Voor terugkerende acties loont het om een testbestelling op te nemen in uw vaste routine, net als een back-up voor een update. In specialistisch WooCommerce-onderhoud hoort het testen van het bestelproces standaard bij het werk, juist omdat kortingscodes en betaalmethoden de onderdelen zijn die stilletjes stukgaan na een update.
Een voorbeeld
Een webshop in babyartikelen uit Roosendaal verstuurde een nieuwsbrief met een code voor tien procent korting. De eerste twintig bestellingen gingen goed, daarna kwamen de klachten. De code was niet verlopen en er stond geen limiet.
Wat er speelde: de shop draaide een actie waarbij bij bestellingen boven de 75 euro automatisch gratis verzending werd toegepast via een tweede kortingscode. Bij de eerste twintig bestellingen bleef het bedrag daaronder. Zodra klanten meer bestelden, botsten de twee codes op het vinkje voor individueel gebruik. De oplossing was dat vinkje uitzetten op de actiecode. Vijf minuten werk, nadat het probleem eenmaal duidelijk was.
Tot slot
Kortingscodes lijken eenvoudig, maar ze raken aan prijzen, verzending, caching en soms drie plugins tegelijk. Loop bij problemen de acht oorzaken in bovenstaande volgorde af in plaats van te gokken. En doe uzelf bij de volgende actie een plezier: maak de code een dag eerder aan en plaats zelf een echte testbestelling. Dat ene testbestelletje voorkomt de meeste telefoontjes.



