Enkele vragen over Multi Channel e-Commerce beantwoord.
Recentelijk heb ik en blogartikel geschreven, waar ik verschillende alternatieven voor WooCommerce besprak. Eén van de alternatieven die ik noemde was Vendure, een ‘headless e-commerce’ oplossing, die ik onder meer beschreef als een ‘Multi Channel e-commerce’ oplossing.
Ik heb in de ruim tien jaar waarin ik bezig ben met WordXPression zelden zoveel e-mail reacties gekregen als naar aanleiding van dat artikel. Mensen wilden meer weten over wat ‘multi channel e-commerce’ nu eigenlijk wil zeggen.
Een goede reden om hier wat dieper op in te gaan. En dat doe ik het liefst aan de hand van Vendure zelf, hoewel er meerdere oplossingen voor multi channel e-commerce zijn.
Terug in de tijd: osCommerce
Sinds 2002 ben ik actief in de e-commerce sector. Ik werkte destijds voor een bedrijfje wat webwinkels bouwde voor middelgrote bedrijven. Omdat in die tijd alles van scratch of aan gebouwd moest worden, was zo’n webshop behoorlijk aan de prijs. Je was toch minimaal zo’n 3000-4000 euro kwijt voor een beetje webwinkel. En dan had je nog niet eens de mogelijkheden tot online betalen, omdat destijds in Nederland alleen online per creditcard betaald kon worden. En creditcards waren absoluut niet populair bij het grote publiek. Bovendien was dit een kostbare manier van betalen, want de provisie die de creditcard maatschappijen rekenden voor zowel de ondernemer als de consument was niet mis.
In datzelfde jaar werd er een open source e-commerce pakket ontwikkeld. osCommerce. En ik denk, dat terecht gesteld kan worden, dat osCommerce het begin was van de ‘betaalbare e-commerce’ voor veel ondernemingen.
Er was van alles mis met osCommerce, en daar wil ik liever niet op ingaan, want daar gaat het niet over. Maar ik denk wel, dat zonder osCommerce e-commerce wellicht niet zo snel was gegaan, als het uiteindelijk deed.
Wanneer ik kijk naar open source e-commerce toepassingen die na 2002 zijn verschenen, zie ik eigenlijk overal een stukje osCommerce terug. Soms, omdat zaken op eenzelfde manier zijn opgelost en soms, omdat de problemen uit osCommerce eigenlijk op een heel creatieve manier zijn opgelost.
Eén ding hebben de populaire open source e-commerce oplossingen eigenlijk allemaal gemeen. De architectuur.
Want alle pakketten werken op dezelfde manier. Er is één applicatie die uit drie lagen bestaat. Een database waar de gegevens worden vastgelegd, een ‘programma laag’ (meestal PHP) die deze gegevens bewerkt en een ‘presentatie laag’ die direct wordt aangestuurd vanuit de programma laag. En die presentatielaag is per definitie een webbrowser.
Dat was in 2002 de enig denkbare oplossing. Zelfs in 2012 was het nog steeds de meest waarschijnlijke oplossing, maar vandaag, 2021, is ‘verkopen via de webbrowser’ slechts één van de vele opties.
Bovendien, de meeste oplossingen stonden ook maar één website per installatie van de shop toe. Wilde je meerdere websites, dan moet je gewoon alles meerdere malen installeren.
Een kleine stap voor de mens, maar een grote stap voor de e-commerce
Vandaag de dag verkopen de grote bedrijven via meerdere kanalen. Eén van de op dit moment meest succesvolle webshops is er zelfs groot mee geworden: Coolblue.
Want toen Coolblue begon, hadden ze niet de grote, alles verkopende, webshop die ze nu hebben. Coolblue bestond eigenlijk uit een gigantisch netwerk van kleine shops die zich specialiseerden in een heel specifieke niche.
Zelf heb ik voor het eerst kennisgemaakt met Coolblue toen ik flitsers voor mijn fotostudio kocht. In een webwinkel helemaal gespecialiseerd in studio apparatuur.
Maar dit is nog steeds een voorbeeld, waar vanuit één centraal magazijn met vele goederen wordt verkocht via het web. Maar tegenwoordig hebben we talloze andere verkoopkanalen.
Multi channel e-commerce
Wanneer we het hebben over multi channel e-commerce hebben we het over het verkopen van je producten via meerdere kanalen. Maar wat kunnen vandaag de dag die kanalen zijn? Laten we er eens een paar benoemen.
Verkoop via een eigen website
Ok, dit is natuurlijk nog een heel voor de hand liggende. Met dan één heel belangrijke kanttekening. Vroeger betekende een webshop, dat je jouw producten via slechts één online kanaal kon verkopen. Je website. Vandaag heb ik de mogelijkheid om mijn producten vanuit één administratieve back end via meerdere websites te verkopen.
Stel je voor. Ik verkoop kleding voor iedere leeftijd, ieder geslacht en iedere denkbare doelgroep. Het vinden van wat je specifiek zoekt kan op deze manier een behoorlijke uitdaging worden, met al die dingen door elkaar.
Het is zoveel makkelijker om meerdere websites op te zetten specifiek gericht op een bepaalde doelgroep. Een site voor vrijetijdskleding voor mannen, vrijetijdskleding voor vrouwen, een site voor kinderkleding, een site voor galakostuums en misschien zelfs een heel specifieke site voor mannen die gek zijn op stropdassen.
Zelf doe ik dit met mijn t-shirt shops. En een ‘niche gerichte verkoop’ is een stuk effectiever dan een site met ‘van alles wat’.
Verkoop via ’third party merchants’.
Een ander goed verkoopkanaal kan een verkoopkanaal van ‘derde partijen’ zijn. Het is bijvoorbeeld mogelijk om jouw producten via Amazon, Bol.com, e-Bay en nog een aardig aantal andere ‘grote online verkopers’ aan te bieden. Die producten kan je op een tweetal manieren toevoegen. Met de hand, of via een programma interface. Ofwel, in je eigen shop ‘push’ je jouw producten naar één van die andere partijen. En krijg je uiteindelijk je bestellingen weer gewoon in je shop binnen.
Verkoop via Social Media
Naast the ’third party merchants’ kan je tegenwoordig je producten ook verkopen via Social Media. Facebook, Instagram en nog aantal andere partijen maken het mogelijk om -tegen een commissie- jouw producten aan te bieden direct via de social media.
Verkoop via ‘moderne technologieën’
Een ander goed voorbeeld van multi channel e-commerce’ is de verkoop via ‘moderne technologieën’. Hierbij kan je bijvoorbeeld denken aan een mobiele app voor je shop.
Natuurlijk zorg je ervoor, dat jouw website ook op een mobiel goed wordt gepresenteerd, maar een mobiele app heeft een aantal belangrijke voordelen in vergelijking met een mobiel-geschikte website.
Het eerste voordeel is natuurlijk de snelheid. Omdat een telefoon minder geheugen en minder bandbreedte heeft dan een desktop of laptop, zal een mobiele telefoon in zijn algemeenheid wat trager zijn met het tonen van websites. Heb je echter een -goed geschreven- mobiele app, zal de shop juist behoorlijk wat sneller zijn dan een website.
Het tweede voordeel is wat ik noem de ‘shortlist’. Omdat de ruimte op de telefoon om apps te installeren beperkt is, zal een (toekomstige) klant waarschijnlijk critisch kijken naar welke apps hij of zij wel of niet geïnstalleerd wil hebben. Wanneer jij uiteindelijk ‘op de telefoon geïnstalleerd wordt, dan is de kans dat deze persoon vaker bij je zal kopen gegroeid. Deze kans kan je bovendien nog beïnvloeden, want een app op de telefoon biedt je natuurlijk een unieke kans om die klant via push berichten op de hoogte te houden van je aanbiedingen.
Een andere manier om je producten via een app te verkopen is door niet een ‘shopping app’ te hebben, maar een app die interessant is voor jouw doelgroep. Stel je voor… jij verkoopt keukengerei. Wanneer je in een recepten app ‘af en toe tussendoor’ een aanbieding laat zien van jouw producten, dan ‘adverteer’ je direct in de goede doelgroep. Lees overigens wel eerst goed de geldende regels voor de specifieke app store indien je een dergelijke actief overweegt.
Point of Sale
Wanneer je naast je website ook nog een ‘brick and mortar’ shop hebt, dan heb je een uitdaging. Want een product wat je online verkoopt kan je niet zomaar ook in de winkel verkopen. Stel je het volgende eens voor. Een klant winkelt op je webshop en besluit een bepaald product te kopen. Een andere klant winkelt in je winkel en deze besluit datzelfde product te kopen. Omdat je natuurlijk niet constant in de computer kan controleren, of een product wat de klant wil afrekenen in je ‘brick and mortar’ shop niet toevallig ook al net eerder online is verkocht, kan je zo nogal eens ontevreden klanten krijgen. Iemand heeft namelijk net het product gekocht, betaald… en krijgt dan te horen, dat het er niet is.
Zou het niet veel makkelijker zijn, wanneer jouw shop je al zou ‘waarschuwen’ wanneer de je een product dubbel verkoopt? Een ‘Point of Sale’ (een duur woord voor een intelligent kassasysteem) kan je waarschuwen wanneer dit dreigt te gebeuren.
Kortom, een website alleen is niet genoeg…
Het was al heel lang bekend, maar de manier van het online verkopen die tien jaar geleden nog heel normaal en eigenlijk standaard was, heeft zijn langste tijd gehad. Volgens de Gardner groep zal de markt in 2023 bepaald worden door bedrijven en toepassingen die mogelijkheden tot ‘multi channel e-commerce’ gebruiken.
Zo’n zes jaar geleden was dat eigenlijk technologisch nog niet haalbaar voor de gemiddelde ondernemer, maar tegenwoordig gelukkig wel. Nu wil ik niet al te diep ingaan op de technologische kant van zo’n moderne e-commerce toepassing, maar het komt er eigenlijk op neer, dat de backend en de frontend van elkaar zijn ‘losgekoppeld.
Je hebt dus als het ware aan de ene kant je magazijn, en aan de andere kant een toepassing die ‘praat’ met dat magazijn. En omdat dat magazijn met verschillende toepassingen gelijktijdig kan ‘praten’, noemen we het een multi channel e-commerce oplossing.
Dit heeft een aantal voordelen.
Verdeling van de last
Bij de ‘klassieke oplossing’ is de webserver eigenlijk verantwoordelijk voor alles. Er is niets wat niet via de webserver loopt. Bij een drukke webshop wil dat dus ook zeggen, dat je een behoorlijk krachtige server moet hebben.
Bij een losgekoppelde oplossing houdt de backend (de ‘server’, alhoewel het niet altijd een server in de klassieke zin van het woord hoeft te zijn) zich uitsluitend bezig met het verwerken van gegevens. Compleet niet met de presentatie. De presentatie die vind je bijvoorbeeld in je website, een mobiele app of in je Point of Sale.
Makkelijke integratie
Een traditionele webshop toepassing is helemaal gericht op het presenteren van de producten in de browser. Hoewel populaire webshop oplossingen als WooCommerce en Magento inmiddels daarnaast ook een REST API hebben, blijft het hele systeem de ballast meenemen van de oorspronkelijke bedoeling.
Moderne headless e-commerce platforms dragen niets van die ballast mee en zijn daardoor een stuk ‘lichter’. Omdat de applicatie helemaal op ‘API first’ is geschreven, is de gegevensstructuur en de manier om zaken af te handelen ook vaak een stuk eenvoudiger.
Vendure – Toch wel een heel mooie oplossing
Nu kan je natuurlijk een compleet e-commerce systeem van scratch af aan zelf gaan bouwen. Maar hoogstwaarschijnlijk ben je dan een behoorlijke tijd bezig en is het eindresultaat een slap aftreksel van wat er al wordt aangeboden.
Je kan ook gebruik maken van een bestaand headless e-commerce systeem en daartegenaan de toepassingen bouwen. En dat is waarvoor ik zelf heb gekozen. Hierbij gebruik ik eigenlijk twee oplossingen. Als eerste WooCommerce, met enkele uitbreidingen waardoor het als ‘headless e-commerce platform’ kan werken. Dat is vooral voor klanten die al een e-commerce systeem op basis van WooCommerce hebben en hier bijvoorbeeld een mobiele app bij willen gaan gebruiken.
Maar mijn persoonlijke keuze voor het bouwen van een nieuw multi channel e-commerce systeem is Vendure. Vendure is een behoorlijk uitgebreid ‘headless e-commerce platform’ met een aantal aardige eigenschappen
- Het is open source
- Het is gratis – je zit dus niet aan licentiekosten vast
- Je kan het zelf hosten bij één van de grote cloud aanbieders (Amazon AWS, Google Cloud Platform of Microsoft Azure)
- Het is uitgebreid en uitbreidbaar.
Het concept achter Vendure is eigenlijk heel eenvoudig. Je hebt een centrale API server die met een database (mySQL of PostgressQL) is verbonden. De API server is helemaal verantwoordelijk voor de bedrijfslogica.
Er is een ‘kant en klare’ beheer applicatie beschikbaar voor Vendure.
Voor we naar de producten, klanten en andere zaken gaan kijken, kijken we eerst naar een wel heel krachtige functie, die in eerste instantie misschien niet zo op zal vallen, maar die juist Vendure zo krachtig maakt. De ‘Channels’.
Channels in Vendure
Een ‘Channel’ in Vendure is een ‘verkoopkanaal’. Wanneer je in Vendure kiest voor ‘Channels’ en vervolgens een nieuw kanaal toe wilt voegen is wat je te zien krijgt eigenlijk helemaal niet zo spectaculair. Je kan het kanaal een naam geven, je krijgt een ’token’ en je kan valuta, taal en ‘default zone’ instellen (hiermee wordt de belasting en de vezendkosten bepaald).
De werkelijke kracht van Vendure ontdek je pas, wanneer je bijvoorbeeld een product toevoegt.
Via de instelling ‘Assign to Channel’ kan ik aangeven via welke kanalen ik het product wil verkopen.
Standaard is er een kanaal ‘Default Channel’. Maar stel, dat ik mijn product ook via een ander kanaal (een buitenlandse vestiging, een mobiele app of Facebook) zou willen verkopen.
Wat krijg ik te zien, wanneer ik op ‘Assign to Channel’ klik? ?
Ik kan hier dus een verkoopkanaal uit een lijst kiezen en eventueel ook direct aangeven, welke prijsconversie ik voor dit product wil doorvoeren.
Ik zou bijvoorbeeld voor producten die ik via een derde partij als Bol of Amazon verkoop een kleine toeslag door kunnen berekenen om enerzijds te compenseren dat ik een commissie aan de verkoper af moet dragen en om anderzijds mensen toch vooral aan te moedigen bij mij, en niet bij één van de vendor platforms van mij te kopen.
Of natuurlijk gewoon om een correctie door te voeren vanwege het verschil in valuta.
Channels als ‘sub winkeltjes’
Vendure kent twee soorten gebruikers. De ‘Customers’ en de ‘Administrators’. Een customer kan met geen mogelijkheid inloggen in de backend en een ‘Administrator’ kan niet inloggen als klant, als hij niet eerst ook een klantaccount aanmaakt. Dat is een stuk veiliger dan in een aantal andere e-commerce toepassingen, waar alle gebruikers op één hoop worden gegooid, klanten en administrators.
Een ‘Administrator’ is overigens niet hetzelfde als een ‘Administrator’ in WordPress / WooCommerce. Een ‘Administrator’ is simpelweg iemand die iets met de bestellingen en producten mag doen, maar wat dat precies is wordt bepaald door de ingestelde rollen. Eén administrator kan verschillende rollen hebben.
Wat het echter werkelijk interessant is, is dat je de toegang kan beperken tot bepaalde kanalen. Dat kan je om een aantal redenen willen doen. Om er eens een paar te noemen:
- Je hebt een webshop met één of meerdere brick and mortar vestigingen. Het systeem is gekoppeld aan een POS en de medewerkers van een winkel mogen wel de beheerstaken rond de producten in de winkel uitvoeren, maar in geen geval bij de online bestellingen komen.
- Je hebt een multi vendor store en ieder kanaal representeert een specifieke vendor. Binnen zijn eigen ‘deelgebied’ mag hij natuurlijk gewoon producten toevoegen, prijzen bepalen en orders afhandelen, maar hij krijgt geen toegang tot de rest van de shop.
Kortom, de ‘channel’ functie is een krachtig hulpmiddel om niet alleen een webshop met meerdere verkoopkanalen, maar ook bijvoorbeeld een multi vendor shop te bouwen.
Andere leuke eigenschappen van Vendure
Dit blogartikel gaat vooral over de multi channel e-commerce mogelijkheden van Vendure. Maar ik noem toch ook graag even een aantal sterke punten van dit platform :
- Meertalige ondersteuning. Je kan per channel de talen instellen, die je voor dat kanaal wilt gebruiken. Zodra je meerdere talen hebt ingesteld, kan je per product ook de verschillende teksten in de verschillende talen invoegen.
- Standaard ondersteuning voor variabele producten. Je kan dus eenvoudig productvarianten toevoegen. Productvarianten maak je aan door ‘opties’ bij een product te registreren.
- Uitgebreid en logisch systeem voor ‘metainformatie’. Vendure kent ‘Collections’ die zijn te vergelijken met de productcategorieën in WooCommerce. Daarnaast kent Vendure ”Facets’, ‘Facetten’. Dit zijn naam / waarde paren die je aan een product toe kan kennen. Zo kan je bijvoorbeeld een ‘facet’ Merk registreren en daar het merk van het product in noteren, Een serie facetten voor computer kenmerken (intern geheugen, processor, type harddisk etc). Binnen de API heeft Vendure krachtige zoekfuncties om te selecteren op ‘facets’.
Wat ontbreekt er in Vendure?
Hoe leuk en aardig Vendure ook is, er ontbreekt ook het één en ander in. En het belangrijkste wat er natuurlijk ontbreekt is een front-end. Je kan dus niet -net zoals voor WooCommerce- Vendure downloaden en ‘even’ je eigen shop opzetten.
WordXPression bouwt Vendure frontends voor het web en voor mobiele telefoon. Hiervoor gebruik ik React/Next voor de webtoepassing en React Native voor mobiele toepassingen.
Ook -bijna net zo belangrijk- ontbreekt op dit moment een koppeling met de gangbare betalingsproviders voor Europa. Op zich opnieuw geen probleem. Op dit moment heb ik een koppeling voor Mollie kant en klaar voor gebruik en wordt er hard gewerkt aan een Stripe koppeling. Deze laatste is interessant wanneer je je voornamelijk op de buitenlandse markt wilt gaan begeven.
Wat kost zo’n Vendure toepassing mij?
De kosten van Vendure -of welke andere headless toepassing dan ook- is onder te verdelen in een drietal factoren. De kosten voor ontwikkeling, de kosten voor onderhoud en de kosten voor hosting.
Ontwikkelkosten
Voor een ‘basis e-commerce site’ op basis van React/Next en Vendure ben je ongeveer 600 euro kwijt aan ontwikkelkosten. Dit kan meer worden naarmate je meer ‘ingebouwd’ wilt hebben. Wil je er ook nog een mobiele app bij hebben, dan kost dat ongeveer 300 euro extra. Je krijgt hiervoor een app voor zowel Android als iOS.
Beheerkosten
Daarnaast heb je de kosten voor het onderhoud van de complete infrastructuur. Dat is 15% van de bouwkosten op jaarbasis (eerste jaar onderhoud is inbegrepen). Deze beheerkosten zijn geheel facultatief. Je kan ervoor kiezen om dit beheer zelf te doen. Ik adviseer dit niet.
Hosting
De voordeligste en snelste manier om deze combinatie te hosten is een combinatie van ‘Cloud’ en ‘klassieke’ hosting, tenminste wanneer je gemiddeld minder dan 5.000 bestellingen per maand hebt. Heb je meer dan dit aantal bestellingen, dan is volledige cloud hosting de betere oplossing.
Vendure wordt gehost op één van de VPS servers van WordXPression, de Next webshop via Amplify op Amazon Web Services in de cloud. De hosting kosten voor Vendure zijn 15 euro per maand (indien je dit op AWS zou gaan hosten zouden de kosten ca. 50 euro per maand zijn).
Het eerste jaar zal je bij een ‘gemiddeld bezoek’ heel weinig aan Amazon AWS hoeven te betalen. Het eerste jaar kun je namelijk gebruik maken van de ‘Free tier’, waardoor een groot aantal van de gebruikte diensten gratis zullen zijn (ze hebben een plafond op maandbasis, maar je zal bij gemiddeld gebruik daar zelden over komen). Na dit eerste jaar zal je afhankelijk van grootte van je shop en de gebruikte media waarschijnlijk tussen de 5 en 12 euro per maand betalen.
Wat is het verschil tussen deze twee vormen van hosting? Wanneer Vendure bij WordPression wordt gehost, dan wordt er geen ‘autoscaling’ aangeboden, iets wat Amazon wel doet. Deze ‘autoscaling’ heb je echter nog niet nodig wanneer je minder dan 5.000 bestellingen per maand hebt.
Waarom is het aantal orders belangrijk en niet het aantal hits? Voor de kosten van het hosten van Vendure speelt het aantal hits op je website geen rol. Dit omdat de website zelf, zolang er niets besteld wordt, geen contact met Vendure zal maken. Pas als een gebruiker inlogt, wordt er contact gemaakt. De daadwerkelijke communicatie tussen Vendure en de website vindt plaats wanneer er producten in de winkelmand worden geplaatst en wanneer er uiteindelijk wordt uitgecheckt.
Gebaseerd op een gemiddelde vulling van winkelwagens, een gemiddelde cart abandonment is dat zo’n 35-50 duizend ‘acties’ per maand richting de Vendure service. Dus dat is zo’n 1500 interacties tussen de website en Vendure per dag. Nu kan je dit aantal niet vrolijk door 24 delen en zeggen, dat het dus x-interacties per uur is. Tenminste, niet wanneer je klanten voornamelijk uit een bepaald gebied komen (zoals bijvoorbeeld Nederland). Zelfs 1500 acties per dag als een gemiddelde zal weinig zeggen. Sommige weekdagen zijn drukker dan andere. Een totale maandbelasting van de service van 50.000 acties per maand zal af en toe pieken hebben van zo’n 1000 acties in hetzelfde uur. Dat is zo’n beetje de grens van wat nog ‘snel afgehandeld kan worden’.
Let op: Die 5.000 bestellingen per maand is een richtlijn. Geen belofte. Waar het werkelijk om gaat, is dat bij zo’n 1000 acties binnen één uur autoscaling en load balancing noodzakelijk wordt voor jouw shop. Gemiddeld zullen die 1000 acties zich vertalen naar 5.000 bestellingen per maand.
Interesse?
Heb je interesse om eens verder te praten wat voor jou de mogelijkheden zijn? Maak dan eens een belafspraak, zodat we een aantal dingen rustig door kunnen nemen.