Kako smo za jedan mesec razvili prilagođeni cashback sistem za veliki WooCommerce projekat
Programi lojalnosti mogu efikasno da podstaknu ponovljene kupovine, zadrže postojeće kupce i povećaju njihovu dugoročnu vrednost za poslovanje.
Međutim, cashback sistem postaje znatno složeniji kada poslovanje ima posebna pravila za obračun i korišćenje nagrada, promotivne kampanje, rokove važenja, povraćaje sredstava i već uspostavljen način rada WooCommerce prodavnice.
Jednom našem klijentu bilo je potrebno kompletno cashback rešenje za veliki e-commerce projekat. Sistem je morao da prati detaljna poslovna pravila, a da istovremeno ostane dovoljno fleksibilan za budući razvoj.
Kao tim specijalizovan za WordPress i WooCommerce razvoj i izradu sajtova u Srbiji, najpre smo analizirali da li postojeće rešenje može da se implementira pomoću gotovog dodatka.
Istražili smo dostupne WooCommerce dodatke, testirali nekoliko opcija i kontaktirali programera jednog od rešenja kako bismo proverili da li nedostajuće funkcije mogu da se dodaju.
Zaključak je bio jasan: nijedan postojeći proizvod nije podržavao sva potrebna pravila u okviru jednog pouzdanog sistema.
Umesto da poslovanje prilagodi svoje procese ograničenjima dodatka treće strane, naš programer je razvio potpuno prilagođeni cashback sistem od početka.
Kompletno rešenje bilo je projektovano, razvijeno, testirano i pokrenuto za samo jedan mesec.
Zadatak
Klijent je već imao razvijenu internet prodavnicu sa velikim brojem kupaca i porudžbina.
Nije mu bio potreban samo standardni dodatak za nagradne poene. Cashback program je trebalo da funkcioniše kao stvarni finansijski podsticaj, uz precizna pravila za obračun, korišćenje, otkazivanje, istek i praćenje svake promene stanja.
Sistem je morao da:
- obračunava cashback samo na iznos porudžbine koji ostane nakon primene popusta iz kupona;
- spreči obračun cashbacka na iznose koji su već pokriveni promotivnim popustom;
- dozvoli korišćenje cashbacka tek kada porudžbina dostigne definisani minimalni iznos;
- ograniči deo porudžbine koji se može platiti cashbackom;
- omogući kupcima da iskoriste raspoloživo stanje tokom poručivanja;
- podrži različite cashback stope i promotivne uslove;
- odvojeno vodi cashback na čekanju i cashback raspoloživ za korišćenje;
- pravilno obrađuje otkazane, potpuno refundirane i delimično refundirane porudžbine;
- vrati ili poništi cashback kada je to potrebno;
- dodeli datum isteka svakoj pojedinačnoj transakciji;
- prikaže kompletnu istoriju promena u korisničkom nalogu;
- omogući administratorima kontrolu nad saldima i podešavanjima programa;
- ostane kompatibilan sa postojećim WooCommerce procesom poručivanja;
- podrži buduće prilagođene funkcije bez ponovne izgradnje celog sistema.
Glavni izazov nije bio jednostavno izračunavanje procenta od vrednosti porudžbine.
Sistem je morao da utvrdi da li porudžbina ispunjava uslove, izračuna tačan osnovni iznos nakon popusta, primeni ograničenja tokom naplate i poveže svaku transakciju sa odgovarajućim kupcem, porudžbinom, statusom, rokom važenja i poslovnim pravilom.
Zašto gotovi dodaci nisu bili dovoljni
WooCommerce ekosistem nudi veliki broj dodataka za programe lojalnosti, nagradne poene i cashback.
Pre početka prilagođenog razvoja analizirali smo nekoliko rešenja koja su na prvi pogled najviše odgovarala zahtevima projekta.
Uporedili smo funkcionalnosti, testirali njihov rad u postojećoj prodavnici i kontaktirali jednog od programera kako bismo proverili da li nedostajuće funkcije mogu da se implementiraju.
Svako rešenje pokrivalo je deo zahteva, ali nijedno nije podržavalo kompletan proces.
Projekat je zahtevao preciznu kontrolu i nad obračunom i nad korišćenjem cashbacka.
Sistem je morao da:
- obračunava cashback tek nakon odbijanja popusta iz kupona;
- dozvoli njegovo korišćenje samo kada korpa dostigne određenu vrednost;
- ograniči procenat porudžbine koji se može platiti raspoloživim stanjem;
- pravilno obrađuje refundacije, otkazivanja i rokove isteka;
- čuva jasnu istoriju svake promene salda.
Neki dodaci podržavali su jedan ili dva od ovih zahteva, ali ne sve istovremeno.
Druga rešenja mogla su da dodeljuju poene, ali nisu imala potrebnu logiku za obračun cashbacka. Pojedini dodaci podržavali su stanje korisnika, ali su bili previše ograničeni kada je trebalo obraditi refundacije, pojedinačne rokove važenja, promocije ili postojeći checkout proces.
Korišćenje više odvojenih dodataka takođe nije predstavljalo pouzdanu alternativu.
Takav pristup mogao je da izazove:
- konflikte između dodataka;
- dupliranje podataka;
- dodatno opterećenje sajta;
- komplikovanije održavanje;
- veću zavisnost od više različitih proizvođača.
Postojala je i zabrinutost u vezi sa dugoročnom fleksibilnošću.
Velikom e-commerce projektu potreban je sistem koji može da raste zajedno sa poslovanjem. Zavisnost od zatvorenog dodatka treće strane otežala bi svaku novu izmenu, posebno ako njegova arhitektura ne podržava potrebne nadogradnje.
Zbog toga je prilagođeni WooCommerce razvoj bio najpraktičnije i najpouzdanije rešenje.
Naše rešenje
Razvili smo samostalan cashback dodatak posebno za WooCommerce prodavnicu klijenta.
Dodatak je napravljen prema stvarnoj poslovnoj logici projekta, a ne prema generičkom modelu nagradnih poena.
Svaka cashback operacija čuva se kao posebna transakcija i povezana je sa odgovarajućim kupcem i porudžbinom.
Na taj način stanje ostaje:
- pregledno;
- lako za upravljanje;
- jednostavno za proveru;
- povezano sa konkretnim poslovnim događajem.
Sistem razlikuje više tipova transakcija:
- cashback na čekanju;
- raspoloživi cashback;
- iskorišćeni cashback;
- istekli cashback;
- otkazani cashback;
- poništeni cashback;
- ručne korekcije stanja.
Kupci mogu da vide koliko cashbacka su ostvarili, na osnovu koje porudžbine, kada je postao dostupan, da li je iskorišćen i kada mu ističe rok važenja.
Administratori mogu da upravljaju programom bez ručnog izračunavanja salda i bez izmene programskog koda.
Obračun cashbacka nakon primene kupona
Jedan od ključnih zahteva odnosio se na iznos koji predstavlja osnovu za obračun cashbacka.
Cashback nije smeo da se računa na početnu vrednost porudžbine pre primene popusta.
Kada kupac iskoristi kupon, popust se najpre oduzima od vrednosti porudžbine. Cashback se zatim obračunava samo na preostali iznos koji ispunjava uslove programa.
Na primer, ako promotivni kupon umanji cenu porudžbine, sistem ne dodeljuje cashback na deo koji je već pokriven popustom.
Cashback se obračunava samo na iznos koji ostaje nakon primene kupona.
Ovaj pristup sprečava kupca da dobije i popust i cashback na isti deo porudžbine. Takođe pomaže poslovanju da kontroliše ukupan trošak promotivnih kampanja.
U zavisnosti od podešenih pravila, iz obračuna se mogu isključiti:
- porezi;
- troškovi dostave;
- određeni proizvodi;
- izabrane kategorije proizvoda;
- naknade koje ne učestvuju u programu;
- druge promotivne korekcije.
Dodatak ponovo izračunava iznos koji učestvuje u cashback programu svaki put kada se sadržaj korpe promeni ili kada se kupon doda ili ukloni.
Na taj način prikazani cashback uvek odgovara aktuelnom stanju porudžbine.
Cashback na čekanju i raspoloživi cashback
Nakon što kupac napravi porudžbinu, cashback ne postaje odmah dostupan za korišćenje.
Prvo se evidentira kao cashback na čekanju i povezuje sa odgovarajućom WooCommerce porudžbinom.
Postaje raspoloživ tek kada porudžbina dostigne definisani status.
Ovo sprečava dodeljivanje cashbacka za porudžbine koje:
- nisu plaćene;
- budu otkazane;
- budu refundirane pre završetka;
- nikada ne dostignu odgovarajući status.
Razdvajanje cashbacka na čekanju i raspoloživog cashbacka kupcima daje jasniji pregled stanja.
Oni mogu odvojeno da vide:
- cashback koji je već dostupan za korišćenje;
- cashback iz novijih porudžbina koji još uvek čeka aktivaciju.
Korišćenje cashbacka tokom poručivanja
Kupci mogu da primene raspoloživi cashback direktno tokom checkout procesa, ali samo ako porudžbina ispunjava uslove programa lojalnosti.
Klijent je zahtevao dva važna ograničenja.
Prvo, cashback je mogao da se koristi tek kada vrednost porudžbine dostigne definisani minimalni iznos.
Time je sprečeno korišćenje cashbacka za veoma male kupovine, a poslovanje je moglo da zadrži minimalnu vrednost transakcije.
Drugo, cashbackom je mogao da se pokrije samo unapred definisani deo porudžbine.
Kupac nije mogao da plati celu kupovinu cashbackom, čak ni kada je njegovo raspoloživo stanje bilo dovoljno visoko.
Prodavnica može da podesi da cashback:
- bude dostupan samo za porudžbine iznad određenog iznosa;
- pokriva najviše definisani procenat odgovarajuće vrednosti proizvoda;
- ne može da se primeni na dostavu ili poreze;
- ne može da se koristi za isključene proizvode ili kategorije;
- primenjuje dodatna pravila kada su aktivni promotivni kuponi.
Dodatak automatski izračunava maksimalni cashback koji je moguće primeniti na trenutnu korpu.
Ako kupac ima više sredstava nego što je dozvoljeno da iskoristi, primenjuje se samo dozvoljeni iznos. Preostali cashback ostaje na nalogu za buduće kupovine.
Pre primene cashbacka sistem proverava:
- trenutno raspoloživo stanje kupca;
- minimalnu vrednost porudžbine;
- maksimalni deo porudžbine koji se može pokriti cashbackom;
- aktivne kupone i promotivne uslove;
- isključene proizvode i kategorije;
- druga ograničenja programa.
Provere se ponavljaju svaki put kada se checkout ažurira.
Ako kupac promeni količinu, ukloni proizvod ili primeni kupon, dozvoljeni cashback automatski se ponovo izračunava.
Iskorišćeni iznos se posebno evidentira u porudžbini, tako da i kupac i administratori mogu jasno da vide kako je dobijena konačna cena.
Istorija cashbacka u korisničkom nalogu
U WooCommerce korisnički nalog dodat je poseban odeljak za cashback.
Kupci mogu da vide:
- trenutno raspoloživo stanje;
- cashback na čekanju;
- ostvareni cashback;
- iskorišćeni cashback;
- istekli cashback;
- otkazane i poništene transakcije;
- povezane brojeve porudžbina;
- datume transakcija;
- datume isteka.
Jasna istorija promena važna je za poverenje kupaca.
Korisnik treba u svakom trenutku da razume:
- zašto se stanje povećalo ili smanjilo;
- sa kojom porudžbinom je promena povezana;
- kada će određeni cashback isteći;
- da li je neka transakcija poništena.
Interfejs korisničkog naloga prilagođen je desktop i mobilnim uređajima kako bi pregled transakcija bio jednostavan na svim veličinama ekrana.
Rok važenja cashbacka
Klijentu je bilo potrebno da ostvareni cashback važi samo tokom određenog perioda.
Svaka odgovarajuća cashback transakcija dobija sopstveni datum isteka.
Ovo je preciznije od dodeljivanja jednog zajedničkog roka za celokupno stanje korisnika.
Cashback ostvaren kroz različite porudžbine može da ističe u različito vreme, u zavisnosti od datuma kada je dodeljen.
Kada cashback istekne, sistem kreira posebnu transakciju u istoriji korisnika umesto da samo neprimetno umanji stanje.
Na taj način i kupac i tim prodavnice imaju jasan zapis o tome šta se dogodilo.
Rokovi važenja mogu se menjati kako se program lojalnosti razvija ili kako se uvode nove promotivne kampanje.
Refundacije i otkazane porudžbine
Obrada refundacija jedan je od najvažnijih delova svakog cashback sistema.
Bez pravilne logike, kupac bi mogao da zadrži cashback ostvaren kupovinom proizvoda koji je kasnije vraćen.
Mogao bi takođe da dobije netačno stanje nakon otkazivanja ili delimične refundacije.
Prilagođeni dodatak prati relevantne promene statusa WooCommerce porudžbine i automatski koriguje cashback.
U zavisnosti od situacije, sistem može da:
- otkaže cashback na čekanju;
- poništi cashback koji je već postao raspoloživ;
- ponovo izračuna cashback nakon delimične refundacije;
- vrati cashback koji je prethodno iskorišćen za plaćanje porudžbine;
- zabeleži svaku korekciju u istoriji korisnika.
Ako se porudžbina otkaže pre nego što cashback na čekanju postane dostupan, odgovarajuća transakcija se poništava.
Ako se refundacija izvrši nakon što je cashback već dodeljen, sistem može da povuče odgovarajući iznos.
Delimične refundacije zahtevaju detaljniji obračun.
U tim slučajevima dodatak ponovo izračunava cashback na osnovu preostalog odgovarajućeg iznosa porudžbine, umesto da automatski poništi celokupnu nagradu.
Ovo značajno smanjuje količinu ručnog rada i pomaže u sprečavanju nepravilnosti u stanju korisnika.
Administrativna kontrola
Cashback sistem uključuje administratorske alate za upravljanje programom lojalnosti.
Ovlašćeni članovi tima mogu da:
- pregledaju stanje kupaca;
- provere istoriju transakcija;
- ručno koriguju stanje;
- podese cashback stope;
- definišu rokove važenja;
- odrede minimalnu vrednost porudžbine;
- podese ograničenja za korišćenje cashbacka;
- upravljaju isključenim proizvodima i kategorijama;
- izaberu statuse porudžbine koji aktiviraju cashback;
- kontrolišu promotivne i individualne uslove.
Prilikom ručne korekcije moguće je uneti razlog ili opis, čime se čuva jasan zapis o tome zašto je stanje promenjeno.
Ovo je posebno korisno kada korisnička podrška treba da:
- ispravi grešku;
- dodeli kompenzaciju;
- odobri individualni bonus;
- izvrši posebnu korekciju.
Najvažnijim pravilima programa može se upravljati preko administratorskog interfejsa bez menjanja koda dodatka.
Promotivna i prilagođena cashback pravila
Projekat nije zahtevao samo jednu standardnu stopu cashbacka.
Arhitektura dodatka omogućava dodavanje različitih promotivnih mehanizama, kao što su:
- povećani cashback tokom kampanje;
- dupli cashback za određene kupce;
- posebne stope za pojedine proizvode ili kategorije;
- bonus za registraciju;
- cashback povezan sa promotivnim kodovima;
- pogodnosti za prvu porudžbinu;
- individualni uslovi za određene korisnike;
- ambasadorski i referral programi.
Ove funkcije mogu se dodavati bez zamene osnovnog cashback sistema.
Fleksibilnost je bila jedan od ključnih zahteva projekta. Klijentu je bilo potrebno dugoročno rešenje koje može da podrži nove marketinške ideje kako poslovanje bude raslo.
Kompatibilnost sa postojećom prodavnicom
Cashback sistem je morao da se uvede bez narušavanja rada postojećeg WooCommerce projekta.
Prodavnica je već imala sopstvene:
- checkout postavke;
- načine plaćanja;
- pravila dostave;
- sistem kupona;
- korisničke naloge;
- procese za obradu porudžbina.
Prilagođeni dodatak integrisali smo u postojeću strukturu, bez potrebe da se ceo sajt ponovo gradi oko programa lojalnosti.
Posebna pažnja posvećena je:
- obračunu ukupne vrednosti porudžbine;
- kompatibilnosti sa kuponima;
- obračunu poreza;
- ažuriranju checkout stranice;
- obradi plaćanja;
- promenama statusa porudžbine;
- podacima korisničkog naloga;
- procesu refundacije.
Na taj način cashback program postao je prirodan deo postojeće prodavnice, a ne nepovezana dodatna funkcija.
Razvoj za jedan mesec
Kompletan cashback sistem isporučen je za jedan mesec.
Tokom tog perioda:
- analizirali smo poslovne zahteve klijenta;
- istražili i testirali postojeće cashback dodatke;
- kontaktirali programera rešenja treće strane;
- projektovali arhitekturu prilagođenog sistema;
- razvili logiku za obračun cashbacka i vođenje stanja;
- integrisali korišćenje cashbacka u checkout;
- kreirali korisnički i administratorski interfejs;
- dodali obradu rokova važenja, refundacija i statusa porudžbina;
- testirali kupovine, kupone, otkazivanja i refundacije;
- pokrenuli sistem na aktivnom projektu.
Kratak period razvoja bio je moguć zato što su zahtevi detaljno analizirani i strukturirani pre početka implementacije.
Umesto da dodajemo nepovezane funkcije jednu po jednu, od početka smo projektovali osnovnu arhitekturu tako da podržava sve glavne scenarije.
Rezultat
Klijent je dobio kompletan cashback sistem prilagođen stvarnim operativnim potrebama prodavnice.
Dodatak sada:
- automatski obračunava cashback na odgovarajuće iznose;
- oduzima popuste iz kupona pre obračuna nagrade;
- ne dodeljuje cashback na iznose koji su već sniženi;
- odvojeno vodi cashback na čekanju i raspoloživo stanje;
- dozvoljava korišćenje cashbacka tek nakon dostizanja minimalne vrednosti porudžbine;
- ograničava deo porudžbine koji se može platiti cashbackom;
- omogućava kupcima da primene stanje tokom poručivanja;
- ponovo izračunava dozvoljeni iznos kada se korpa promeni;
- obrađuje otkazane, potpuno refundirane i delimično refundirane porudžbine;
- prati pojedinačne rokove važenja;
- pruža kupcima preglednu istoriju transakcija;
- daje administratorima kontrolu nad programom;
- podržava promotivna i individualna pravila;
- integriše se sa postojećim WooCommerce procesima.
Sistem već uspešno radi na velikom aktivnom e-commerce projektu.
On smanjuje količinu ručnog rada, štiti profitabilnost programa lojalnosti, daje kupcima jasan razlog da se vrate i omogućava poslovanju da uvodi nove promocije bez zavisnosti od ograničenja dodatka treće strane.
Spremnost za buduće nadogradnje
Jedna od glavnih prednosti prilagođenog razvoja jeste fleksibilnost.
Dodatak nije napravljen kao privremeno rešenje za jednu cashback kampanju.
Njegova arhitektura omogućava dodavanje novih funkcija u skladu sa promenama potreba klijenta.
Buduće nadogradnje mogu da obuhvate:
- nivoe lojalnosti;
- referral programe;
- ambasadorske promocije;
- napredne izveštaje;
- CRM ili ERP integracije;
- automatska email obaveštenja;
- rođendanske bonuse;
- kampanje za određene segmente kupaca;
- posebne B2B uslove;
- nagrade za pretplatničke modele;
- dodatna pravila za proizvode, brendove i kategorije.
Pošto je arhitektura dodatka pod našom kontrolom, nove funkcije mogu da se integrišu u postojeći sistem bez dodavanja velikog broja nepovezanih dodataka.
Kada je prilagođeni razvoj pravi izbor
Gotov dodatak je često najefikasnije rešenje kada poslovanju treba standardna funkcionalnost bez posebnih pravila.
Prilagođeni WordPress ili WooCommerce razvoj postaje opravdan kada:
- je za jedan poslovni proces potrebno više različitih dodataka;
- su poslovna pravila veoma specifična;
- projekat zahteva složene integracije;
- rešenja trećih strana ne podržavaju ključne scenarije;
- sajt obrađuje veliki broj porudžbina ili transakcija;
- očekuju se buduće nadogradnje;
- poslovanje ne može da prilagodi svoje procese ograničenjima dodatka.
Cilj prilagođenog razvoja nije da ponovi funkcionalnost koja već postoji.
Njegova svrha je da obezbedi pouzdano rešenje kada standardni alati ne mogu u potpunosti da podrže način rada poslovanja.
Za kompanije koje traže profesionalnu izradu sajtova u Srbiji, izbor između gotovog i prilagođenog rešenja treba da zavisi od stvarnih poslovnih potreba, a ne samo od početne cene implementacije.
Zaključak
Ovaj projekat započeo je potragom za odgovarajućim WooCommerce cashback dodatkom.
Nakon detaljnog istraživanja, testiranja i komunikacije sa programerom jednog od postojećih rešenja, postalo je jasno da je klijentu potreban prilagođeni sistem.
Za jedan mesec razvili smo i pokrenuli kompletan cashback sistem koji prati poslovna pravila projekta, integriše se sa postojećom internet prodavnicom i ostaje spreman za buduće proširenje.
Rezultat nije samo dodatak za nagradne poene.
To je fleksibilna platforma za lojalnost, napravljena posebno prema procesima klijenta.
4pixels pruža usluge izrade sajtova u Srbiji, WordPress razvoja, WooCommerce razvoja i izrade prilagođenih funkcionalnosti za kompanije kojima standardni dodaci nisu dovoljni.
Analiziramo poslovne procese, definišemo tehničke zahteve i razvijamo rešenja koja rade danas, ali ostaju spremna za budući rast projekta.