Category Archives: Bedre ehandel

Få flere anmeldelser på Trustpilot og Facebook

Shoporama kan sende dine kunder en mail X timer efter ordren er lagt. Den mail er jo oplagt til at indhente TrustPilot og Facebook anmeldelser.

Hvis du gerne vil sende opfordring til TrustPilot til hveranden kunde og Facebook til de andre, så kan du benyttte dig af dette lille trick.

Hvis ordren lander på et lige minuttal, så sender du opfordring til at anmelde på TrustPilot. På et ulige minuttal, er det en opfordring til at anmelde på Facebook.  Her er eksempelkoden fra Svanebutikken.

<{assign var="tempdato" value=$smarty.now}>
    <{assign var="minuttal" value=$tempdato|date_format:"%M"}>

    <{if $minuttal%2 == 0}>
        <p><p><a href="https://www.facebook.com/svanebutikken/reviews/" title="Anmeld på Facebook">på Facebook</a></p></p>
    <{else}>
        <p><a href="https://dk.trustpilot.com/review/www.svanebutikken.dk" title="Anmeld på Trustpilot">på Trustpilot</a></p>
    <{/if}>

Du kan også lave andre ting i dine mail. Se her, hvordan du skriver “God weekend” i dine mails i om fredagen.

Shoporama integration med Accuranker

Benytter du Accuranker til at tracke dine placeringer med, så kan du nu få dine dashboard notifikationer ind i Shoporamas dashboard. Sådan sætter du det op.

1) Log ind i Accuranker

2) Klik på det lille bruger-ikon oppe i højre hjørne og vælg “Rediger profil”.

Find API nøgle i Accuranker

3) Herinde finder du din API nøgle. Den kopierer du.

4) Log nu ind i Shoporama og klik på tandhjulet.

5) Klik på fanebladet “Værktøjer”

6) Sæt din Accuranker API nøgle ind i feltet “Token til Accuranker”.

Accuranker integration

7) Klik på “Opdater domæneliste”. Du får nu de domæner, der er aktiveret under din Accuranker profil. Vælg det domæne, der passer med din shop.

8) Klik “Gem”.

Du får nu dine Accuranker notifikationer inde på dit dashboard i Shoporama.

Accuranker notifikationer i Shoporama

Kan det betale sig at have chat på siden?

Mange shopejere har en form for chat på sin shop. Det er super god service, men også tidskrævende. Så derfor er det værd at måle på, om det giver øget indtjening. Det kan du nemt gøre ved at tilføje denne widget til dit dashboard i Google Analytics (såfremt du bruger Zopim til chat).

Widget til at måle effekten af chat

Her kan du se, at konverteringsraten for de, der har interageret med chat er 22,73% kontra shoppens gennemsnit på 3,88%. Så ca. 5-6 gange højere konverteringsrate, hvis de har chattet med en e-købmand :-)

Mål effekten af Zopim chat

Hvorfor vælge Shoporama?

Vi synes jo selvfølgelig selv, at der er masser af grunde til at vælge Shoporama. Vi kan tale om features og fordele i timevis, men det bliver også lidt for selvhøjtideligt. Så derfor har vi her valgt at dele et par af de udsagn, som vores kunder er kommet med i tidens løb.

Gunnar om redirects

 

 

 

Gunnar har shoppen Cymbalone.

Max om Google placeringer

Max har shoppen Minta.

Da Hanne Østergård flyttede sin butik Svanebutikken, der sælger Joha uld, gik hun mærkbart frem i hastighed på sin webshop. Hun flyttede den fra en større dansk webshop platform.

Du kan se forbedringen her:

Svanebutikken hastighed

Se også vores anmeldelser på Trustpilot.

Shoporama gør-shoppen-klar-til-julesalget workshop 2016

Ho ho ho… så skal du sætte kryds i kalenderen d. 29.-30. september 2016. Vi har booket et arbejdsværelse og 20 værelser på Hindsgavl Slot.

Her skal du og 19 andre webshop ejere knokle løs med at få din shop klar til julesalget. Det er ting som:

  • Skrive og opsætte de mails, der skal skydes ud i november og december
  • Bestille jule-grafik til din webshop og gøre klart, så det kan blive sat ind i shoppen
  • Tilpasse title og descriptions så de er jule-klar (måske vi har et trick i ærmet her)
  • Tilpasse Adwords kampagner
  • Sætte Facebook kampagner op

Og mon ikke også der bliver tid til en gang humle :-)

Vi har booket Sasa Kovacevic  fra Obsidian Digital til at komme og give et oplæg om AdWords  markedsføring med tricks til, hvad du kan gøre for dit julesalg på den markedsføringskanal.

Prisen er 2450,- ex moms og trækkes over dit Shoporama abonnement d. 1/9-2016.

Tilmelding på vadskaer@shoporama.dk hvor du angiver navnet på din webshop. Bemærk – arrangementet kun for Shoporama brugere.

Prisen inkluderer

  • Adgang til arbejdsværelse hele dagen og aftenen
  • Kaffe, te og frugt i arbejdsværelset (og altid én Morten, der kan bistå med indsættelse af koder)
  • Frokost og 3-retters aftensmad (drikkevarer for egen regning)
  • Netværk og røverhistorier ad libitum
  • Rigtigt gode chancer for at se et spøgelse (det er jo et slot)

Kom frisk… det bli’r hyggeligt

Facebook markedsføring på Shoporama

Vi har booket Facebook ekspert David Lorentzen til at undervise i Facebook markedsføring og remarketing. Ikke blot kommer han til Shoporama Symposium, men vi har også dedikeret to hele dage til Facebook markedsføring med David. Det ene i Aalborg det andet i København.

David i gang på workshoppen i Aalborg

Du skal ikke høre sådan noget varmluftssnak som “vær autentisk”,  “gå i dialog med dine brugere” og “del din viden og hjælp brugerne”. Der er benhårdt fokus på at forøge dit salg bl.a. vha. remarketing på Facebook. Der er max. 6 deltagere pr. dag, der løber fra 9 til 16. I forløbet vil der være én fra Shoporama, der kan være behjælpelig med indsættelse af evt. koder på din side, så du straks er i gang med at øge salget.

Prisen er 1700,- ex moms for hele dagen inkl. forplejning.

Det er kun for brugere med en kørende Shoporama webshop.

Begge workshops er afviklet

Ønsker du en af pladserne, så send en mail til vadskaer@shoporama.dk

Addwish integration med Shoporama

Addwish er en dansk ønskeseddel, mersalg, opsalg, søgemaskine ting, som man forholdsvis hurtigt kan tilknytte sin shop. Der skal dog en udvikler ind over. Her er opskriften, din udvikler skal bruge og så tager det max en time.

1. Opret dig og indsæt script

Allerførst skal du oprette dig på Addwish. Når du gør dette, får du et script, som du skal sende til din udvikler. Dette skal han indsætte nederst i din global.html fil (lige inden </body> )

2. Berig dine produkter med info

Dernæst skal der lidt kode ind på dine produkter. Det er bare at copy paste den her ind på product.html siden.

<{assign var="newcachename" value="product_addwishcache"|cat:$product->getProductId()}>
                            <{assign var="randomttl" value=43200|mt_rand:86400}>
                            <{get_cache name=$newcachename ttl=$randomttl assign="my_new_cached_data"}>
                            <{if $my_new_cached_data}>
                                <{$my_new_cached_data}>
                            <{else}>
                                <{cache name=$newcachename}>
                                    <span style="display:none" class="addwish-product" data-title="<{$product->getName()|escape}>" <{if $images}>
                                    <{section name="j" loop=$images start=0 max=1}>
                                    data-imgurl="<{$webshop->getUrl()}><{$images[j]->getSrc(770, 770, 'fit')}>" 
                                    <{/section}>
                                <{/if}> data-price="<{$product->getRealPrice()|number_format:2:".":""}>" data-productnumber="<{$product->getProductId()}>" data-url="<{$webshop->getUrl()}>/<{$product->getUrl()}>" data-currency="<{$webshop->getCurrency()}>" <{if $supplier}>data-brand="<{$supplier->getName()}>"<{/if}> <{if $product->getIsInStock()}>data-instock="true"<{else}> data-instock="false"<{/if}> <{if $product->getSalePrice()}> data-previousprice="<{$product->getPrice()|number_format:2:".":""}>"<{/if}> <{if $product->getMetaValue('addwish_score')}>data-score="<{$product->getMetaValue('addwish_score')}>"<{/if}> <{if $product->getMetaValue('addwish_gender')}>data-gender="<{$product->getMetaValue('addwish_gender')}>"<{/if}> <{if $product->getMetaValue('addwish_recurrent')}>data-recurrent="<{$product->getMetaValue('addwish_recurrent')}>"<{/if}>></span>

                                <{/cache}>
                            <{/if}>

Bemærk du kan bruge disse i ekstrafelter på produktet

addwish_score

addwish_gender

addwish_recurrent

Hvis de er på produktet, bliver de vist. Hvis ikke, sker der intet ved det.

3. Konverteringsscript

Ja … så skal vi ha’ lidt kode ind på thanks.html. Lidt afhængig af, hvordan du bruger Google Analytics skal du lige være opmærksom på, at den bliver afviklet. Det tester du naturligvis. Men … her er koden, du skal bruge på kvitteringssiden.

<span style="display:none;" class="addwish-conversion" 
        data-tax="<{$order->getVat()|number_format:2:".":""}>"
        data-ordernumber="<{$order->getWebshopOrderId()}>"
        data-total="<{$order->getPrice()|number_format:2:".":""}>">
         <{assign var="products" value=$order->getProducts()}>
         <{section name="i" loop=$products}>
            <span
                data-unit-price="<{$products[i]->getUnitPrice()|number_format:2:".":""}>"
                data-url="<{$webshop->getUrl()}>/<{$products[i]->getUrl()}>"
                data-productnumber="<{$products[i]->getProductId()}>"
                data-quantity="<{$products[i]->getAmount()|number_format:2:".":""}>"
            ></span>
        <{/section}>

    </span>

4. Et feed til Addwish

Addwish skal bruge et feed med alle dine produkter. Det gøres nemmest således:

Opret en fil med SFTP som du f.eks. kalder addwishfeed.xml. Smid dette deri

<?xml version="1.0" encoding="UTF-8"?>

<{assign var="products" value=$landing_page->getProducts()}>

<products>

<{section name="i" loop=$products}>
    <product>

    <url><{$webshop->getUrl()}>/<{$products[i]->getUrl()}></url>

    <title><{$products[i]->getName()|escape}></title>
    <{assign var="images" value=$products[i]->getImages()}>
    <{if $images}>
        <{section name="j" loop=$images start=0 max=1}>
            <imgurl><{$webshop->getUrl()}><{$images[j]->getSrc(300, 300, 'fit')}></imgurl>
        <{/section}>
    <{/if}>
    <price><{$products[i]->getRealPrice(null, null, true)|number_format:2:".":""}></price>

    <keywords></keywords>

    <description><{$products[i]->getDescription()|escape}></description>

    <{if $products[i]->getSalePrice()}>
    <previousprice><{$products[i]->getPrice(null, null, true)|number_format:2:".":""}></previousprice>
    <{/if}>

    <productnumber><{$products[i]->getOwnId()}></productnumber>

    <currency><{$webshop->getCurrency()}></currency>
    <{assign var="supplier" value=$products[i]->getSupplier()}>
    <{if $supplier}>
        <brand><{$supplier->getName()|escape}></brand>
    <{/if}>
    <instock><{if $products[i]->getIsInStock()}>true<{else}>false<{/if}></instock>

    </product>
<{/section}>
</products>

Opret så en landingsside. Kald den evt. addwish-produkter. Sæt reglerne for de produkter, du vil have med (f.eks. bare realpris > 0 ).

I “eget XML” indtaster du addwishfeed.xml og lige nedenunder har du så URL’en på dit feed, som du skal oplyse Addwish om.

Sæt flueben i “noindex, follow” (vi behøver ikke få denne side indexeret).

5. Opret blank side til Addwish søgeresultater

Her anbefaler jeg at lave en statisk side, der f.eks. hedder searchresults. Sæt et ekstrafelt til “addwishsearch=true” og bed så din udvikler checke på dette på page.html.

Send den URL du beslutter dig for til Addwish.

6. Oplys Addwish om, hvad der er i /basket

Denne simple kode skal du (eller rettere din udvikler) lige smide i din basket.html

<{if $basket}>
    <span style="display:none" class="addwish-basket" data-total="<{$total_price|number_format:2:",":"."}>" data-tax="<{$vat|number_format:2:",":"."}>" data-noshipping="0">

    <{section name="i" loop=$basket}>
    <{assign var="product" value=$basket[i].product}>
         <span 
         data-unit-price="<{$total_price|number_format:2:".":""}>" 
         data-url="<($webshop->getUrl()}><{$product->getUrl()}>" 
         data-productnumber="<{$product->getOwnId()}>" 
         data-quantity="<{$basket[i].amount}>"
         >

         </span>
    <{/section}>

    </span>
<{/if}>

Bemærk hvor der står data-noshipping=”0″ skal du indtaste din grænse for fri fragt. Så har du fri fragt over 399, så skal der stå data-noshipping=”399″.

 

Det var alt – du burde nu være good to go og skal så bare vente på om Addwish kan skaffe flere grunker i kassen til dig.

 

Kreativt brug af blok caching på din inner_product.html

Vi synes jo, det er fedt, når webshops er hurtige. Derfor lavede vi blok caching.

I nogle tilfælde hiver man et produkts kategorier, varianter på lager eller profilattributter ud på et produkt på en landingsside eller kategori som f.eks. her på Faktorfobis side med soldragter. Det gøres for at man kan lave filteret på klientsiden. Her kan du se i kildekoden, hvordan sådan et produkt ser ud fordi jeg hiver brand, størrelser på lager og diverse kategorier ud. Det er tidskrævende.

Kreativ brug af blok caching

Ville jeg lave blok-caching på det her og bare kalde den “productcache” eller noget, så ville det være samme produkt, der blev vist hver gang. Så det duer ikke. Vi skal give den et unikt navn.  Derfor laver jeg blok cachingen med produktets ID.

Det gør du således:

<{assign var="newcachename" value="product_cache_"|cat:$product->getProductId()}>

Nu har vi en unik cache for hvert produkt. Nice og nifty.

Men … hvis man har sat cachen til at leve 24 timer. Så vil der for hver 24. time være én kunde, der oplevede siden som vældigt langsom (fordi vi skulle opbygge cachen for hvert produkt igen). Det er øv. Langsomme sider er øv.

Så derfor sætter jeg en random TTL, så hvert produkts cache bliver bygget tilfældigt (mellem 12 og 24 timer). Så i stedet for at én kunde oplever en langsom side hvert døgn, så tager alle en bid af “kagen”, men det er så tilpas hurtigt, at alle stadig oplever siden som hurtig. Samtidigt er størrelser på lager nogenlunde opdateret (og max 24 timer bagud). Det gøres sådan:

<{assign var="randomttl" value=43200|mt_rand:86400}>

Så vores samlede kode starter sådan her

<{assign var="newcachename" value="product_cache_"|cat:$product->getProductId()}>
                                                <{assign var="randomttl" value=43200|mt_rand:86400}>
                                                <{get_cache name=$newcachename ttl=$randomttl assign="my_new_cached_data"}>
                                                <{if $my_new_cached_data}>
                                                    <{$my_new_cached_data}>
                                                <{else}>
                                                  <{cache name=$newcachename}>
      // Her bygger du din cache
   <{/cache}>
                                             <{/if}>

Så’n får du mere fart på dine kategorisider :-D

 

 

Send mail til en gruppe kunder

Vi har lavet en ny feature, hvor du kan sende en mail hurtigt til en gruppe kunder. Den fungerer således:

1) Klik på ordrer

2) Find de ordrer, du vil sende til. F.eks. ved at vælge alle med en bestemt label (her “forudbestilling”)

Skærmbillede 2016-02-01 kl. 16.38.13

3) Sæt flueben lige under ID/info, så alle ordrerne bliver valgt.

4) Scroll ned i bunden og klik på “Send email”

Skærmbillede 2016-02-01 kl. 16.39.13

 

 

5) Skriv så din mail. Udfyld emne og indhold. Bemærk du kan bruge [NAME], [PRICE], [LINK] og [PAYMENT_LINK] i din mail. Det bliver så erstattet med navn, ordrens totalpris, link til ordren og et betalingslink.

6) Når du har skrevet din mail, klikker du på “Preview e-mails” og du kan så se mailen for hver enkelt kunde.

7) Er du tilfreds med mailen, så klikker du “Send email” allernederst og dine kunder får personaliserede mails.

Regex / regulære udtryk i Shoporama

Denne blog post er skrevet af den erfarne udvikler og webshop-administrator Lars Holmgaard, som er involveret i flere Shoporama shops. Han har lavet de vildeste hacks med Shoporama og fik os overtalt til at lave redirects med regulære udtryk. Det skal et webshop system selvfølgelig have, så det er vi taknemmelige for.
Vi har overtalt ham til at lave en tutorial om emnet og den følger her:

Hvad er regex?

Måske kender du begrebet wildcards, hvor man fx. kan sætte en stjerne ind i stedet for nogle tegn. Jeg synes jeg kan huske fra bibliotekerne i gamle dage at man kunne søge efter “Dennis J*” hvis man ikke lige kunne huske efternavnet på forfatteren Dennis Jürgensen. Så fandt computeren alle de forfattere, der hed Dennis Jensen, Dennis Jørgensen og Dennis Jürgensen. Stjernen erstatter resten af ordet, så man slipper for at gætte på stavemåden. På samme måde kunne man erstatte et enkelt bogstav med et spørgsmålstegn.
Regex fungerer på samme måde. Regex er bare en udvidet nørde-version af stjerne og spørgsmålstegn, så der nu er kommet brede fælge og rævehale på.

Roger. Hvad kan man så bruge regex til?

Regex er ret smart til mange ting, hvor der skal matches et mønster. Det kunne fx. være at du har skiftet shopsystem til Shoporama og gerne vil fortælle Google og dine besøgende at du fremover får nogle lækre og ikke mindst unikke adresser på dine produkter i stedet for de gamle grimme som måske oven i hatten er indekseret med forskellige variabler efter selve url’en. Flere forskellige adresser med samme indhold hedder duplicate content, som du måske har hørt man skal undgå i forbindelse med søgemaskineoptimering.
Lad os sige du har en kategoriside som var indekseret i Google på bl.a. denne adresse fra din gamle shop: /Sprayers.11081/page11081.aspx?recordid11081=788.

Og ja, det er en ægte url fra en webshop – ikke en jeg har fundet på.

Nu skifter du til Shoporama, hvor hver side kun har én url – lige som det skal være. Du laver en ny fin url til din kategori, som du helt enkelt kalder /sprayers.
Alt er godt. Sådan da. I din Google Search Console opdager du efter nogle dage at der er et væld af webadressefejl:
Regulære udtryk i Shoporama

 

 

 

 

 

I praksis har ovenstående 941 fejl den effekt at en bruger fx. søger efter ‘sprayers’, klikker i Googles søgeresultat og lander på en side, der ikke findes mere. En 404-side, som det hedder.

Det er ikke så godt. Det skal fixes. Google skal fortælles, hvor de sider er blevet af. Du skal lave det, der hedder redirects.
Under grafen ser du de url’er som Google har i sit indeks, men som ikke længere findes på din nye shop på samme adresse. Herunder er der vist 10 url’er, der ikke findes mere. Men, der er faktisk 52 i alt, hvilket er helt skandaløst dårligt.

Regex Shoporama

 

 

 

 

 

 

 

 

Kan du se et mønster?

Hvis nu du ikke havde lært om regex (du får detaljerne senere) så ville du måske begynde at lave redirects til hver enkelt af de 52 url’er som hedder noget med ‘sprayers’ og pege dem ind på kategorisiden /sprayers. Men, det er spild af tid. Det kan nemlig gøres med én linies regex.

Sådan gør du

Jeg vil kort beskrive de mest populære ‘koder’ i regex, så du hurtigt kan komme i gang. Du kan altid undersøge nærmere om der skulle være en kortere og smartere måde at skrive dine regex på, men bare med disse koder kan du komme ret langt.

  • [0-9]+ angiver at her er der en sektion, hvor der kan være cifre fra 0 til 9. Plusset bag de kantede paranteser angiver at der kan være et eller flere cifre.
  • [a-z]* angiver at her er der en sektion, hvor der kan være bogstaver fra a-z. Stjernen bag parantesen angiver at der kan være 0 eller flere bogstaver i modsætning til plusset, hvor der skulle være mindst ét tilfælde af et match.
  • (fisk|lam|rådyr) angiver en gruppe, hvor der enten skal stå fisk, lam eller rådyr.
  • . angiver et hvilket som helst tegn. Punktum kan altså både stå for et tal, et bogstav eller et specialtegn.

For at angive over for regex fortolkeren, hvad der er en kommando og hvad der bare er et tegn, så skal du escape et specialtegn ved at skrive \ foran tegnet. Det skal du fx gøre foran et punktum.

Ovenstående kan du nemt kombinere så du fx. laver et match, der ser sådan her ud:

[a-z0-9.-_]+@[a-z0-9]+\.(com|dk|de|org)

Kan du regne ud, hvad ovenstående regex kan lave et match på? I første kantede parantes kan der stå et eller flere bogstaver, tal eller punktum, bindestreg og underscore. Derefter skal der stå et snabela. Så kommer der et eller flere bogstaver eller tal, derefter et punktum og til sidst skal der enten stå com, dk, de eller org. Denne regex kan dermed bruges til at checke om en tekst ligner en email, hvor afsenderen har en .com, .dk, .de eller .org email adresse. Der findes formentligt email adresser, der ikke passer i netop det regex filter, men så kan man justere det og lave det smartere.

Prøv at sætte regex’en ind på denne side og skriv din email adresse i det store felt nedenunder: http://www.regexr.com/ - bliver teksten blå, så har du lavet et match.

Godt. Du er med nu.

Hvis jeg skulle redirecte alle de fejl-url’er med sprayers over til den nye fine /sprayers url, så ville jeg ganske enkelt klikke her https://www.shoporama.dk/admin/da/redirect/new og skrive sådan:

Smarte redirects i Shoporama

 

 

 

 

 

Husk at sætte kryds i at det er et regular expression du har lavet. Ellers bliver dit redirect tolket som et ganske almindeligt redirect.

Men, der er jo ikke vilde koder i? Nej. Det er slet ikke sikkert det er nødvendigt. Jeg kan se på de url’er der mangler at de alle starter med sprayers.11081 og at det tal nok er ret unikt bundet sammen med den kategori. Derfor kan jeg tillade mig at antage at hvis min regex matcher på sprayers.11081 så matcher den højst sandsynligt korrekt og tager ikke forkerte url’er med.

Ovenstående enkle regex kan løse 52 ud af de 941 fejl, som Google Search Console er stødt på. Hvis resten er noget i samme stil så kan man hurtigt komme de fejl til livs og resten kan man altid redirecte manuelt.

Læg mærke til at du ikke behøver at matche hele udtrykket. Det kommer helt an på, hvor sikker du er i din sag mht de url’er du gerne vil matche. Jeg har på samme shop oplevet tusindevis af url’er, hvor en tilfældig kategori stod forrest og derefter fulgt af et varenummer inde i midten og til sidst en masse parametre. Det eneste unikke var varenummeret – alt andet fulgte et mønster, hvor det kunne være forskellige tal og bogstaver, men på samme pladser. Derfor matchede jeg grupperne med tal og bogstaver op med varenummeret og lavede et redirect over til produktets nye og endelige url på den nye shop.

Som nævnt tidligere, så brug endelig www.regexr.com og test dine udtryk før du implementerer dem. Skriv url’erne i det nederste store felt og øv dig på at skrive korrekte regex inden du implementerer dem i Shoporama. Jeg har fx. brugt regex på http://shop.dandrone.dk og flere andre shops.

Sigt efter at udrydde alle 404-fejl i GSC.

God fornøjelse med det!