- Konverteringstracking för Lightspeed fungerar bäst när varje betald order skickas från Lightspeeds orderdata på servern, med en snippet på tacksidan som kopplar ordern till annonsklicket.
- ROASaurus ansluter till Lightspeed eCom (C-Series) via dess API på EU- och US-klustren; E-Series är en separat produkt och omfattas inte.
- Ett klick på Create webhook registrerar en orders-webhook i Lightspeed, och ROASaurus kontrollerar dessutom uppdaterade ordrar var 5:e minut, så att sena betalningar plockas upp.
- Bara ordrar med betalstatus paid skickas, värderade till orderpriset inklusive skatt.
- Lightspeed-ordrar innehåller köparens IP-adress och webbläsare, så ROASaurus kan fortfarande matcha vissa ordrar när snippeten på tacksidan inte kördes.
Konverteringstracking för Lightspeed innebär att varje betald order i din Lightspeed eCom-webbshop rapporteras till annonsplattformar som Meta och TikTok, så att de kan kreditera rätt annonser och optimera dina kampanjer. Det tillförlitliga sättet är att skicka varje köp från Lightspeeds orderdata på servern och lägga till en kort snippet på tacksidan som kopplar ordern till annonsklicket.
Den här guiden tar upp vilken Lightspeed-produkt den gäller, hur ordrar når ROASaurus, vad som läses från varje order, hur köp når Meta och TikTok, uppsättningen, testningen och de begränsningar du bör känna till.
Vilken Lightspeed-produkt täcker den här guiden?
Lightspeed säljer fler än en e-handelsprodukt, så kontrollera din först. ROASaurus ansluter till Lightspeed eCom (C-Series), webbshopplattformen vars back office har Settings › Website Settings › Web Extras. Dess API körs på två kluster:
| Kluster | API-adress | Region i ROASaurus |
|---|---|---|
| EU1 | api.webshopapp.com | eu |
| US1 | api.shoplightspeed.com | us |
Varje API-adress innehåller också en språkkod på två bokstäver, till exempel /nl/ eller /en/. ROASaurus frågar efter den som butikens språk och använder nl när du lämnar den tom.
Lightspeed erbjuder också eCom (E-Series). Lightspeed beskriver övergången till E-Series som en uppgradering till en separat produkt, som för närvarande erbjuds vissa nordamerikanska handlare. ROASaurus Lightspeed-koppling läser ordrar bara via C-Series-API:et, så den omfattar inte E-Series-butiker.
Varför försvinner Lightspeed-köp i Meta och TikTok?
En pixel i webbläsaren rapporterar ett köp bara när köparens webbläsare läser in tacksidan och pixelskriptet körs. Det misslyckas i flera vanliga situationer:
- En köpare betalar via omdirigering, till exempel med iDEAL eller PayPal, och stänger fliken innan tacksidan hunnit läsas in.
- En annonsblockerare eller en sekretessinställning i webbläsaren blockerar pixelskriptet.
- Besökaren tackar nej till marknadsföringscookies, så pixeln får inte laddas.
- Ordern betalas senare, till exempel via banköverföring, när ingen webbläsare är inblandad.
- Safari begränsar hur länge cookies som sätts av skript varar, så webbläsaren kan glömma ett äldre annonsklick.
- Kräver att tacksidan läses in
- Blockeras av annonsblockerare och vissa webbläsare
- Ingenting händer när en banköverföring betalas senare
- Värde och ordernummer bara om sidan nås
- Varje order med betalstatus paid
- Skickas från server till server, inte från webbläsaren
- Sena betalningar kommer in med nästa orderuppdatering
- Värde, produkter och kunduppgifter från ordern
Hur når Lightspeed-ordrar ROASaurus?
När du trycker på Create webhook registrerar ROASaurus en webhook i Lightspeed för gruppen orders och åtgärden updated, i JSON-format. Från och med då anropar Lightspeed ROASaurus när en order ändras.
Varför ROASaurus läser ordern igen
Lightspeed lägger bara till en x-signature-header i en webhook när en app skapade den. En webhook som skapats med en vanlig API-nyckel, som här, är osignerad. Därför innehåller webhook-adressen en token som är unik för din butik, och ROASaurus litar inte på innehållet. Den läser ordern och dess produkter från Lightspeeds API och kontrollerar betalstatusen själv.
5-minuterskontrollen
Var 5:e minut frågar ROASaurus också Lightspeed efter ordrar som uppdaterats sedan den senaste kontrollen, med 30 minuters överlapp, och registrerar de betalda ordrar som den inte har ännu. Eftersom kontrollen använder uppdateringstiden plockas en order som betalas dagar efter att den lades upp även om leveransen av dess webhook misslyckades. Ordrar som ROASaurus redan har ignoreras, så webhooken och kontrollen skapar aldrig två köp.
På Lightspeeds sida måste en webhook få ett 2xx-svar inom 5 sekunder. Misslyckade leveranser görs om, högst 10 försök totalt, och en webhook vars felandel ligger över 50% i 50 timmar inaktiveras. 5-minuterskontrollen ser till att ordrar fortsätter komma in under ett sådant uppehåll.
Vad läser ROASaurus från en Lightspeed-order?
| Lightspeed-fält | Vad ROASaurus gör med det |
|---|---|
number | Order-id:t, till exempel ORD01042. Det blir händelse-id:t order-ORD01042, eftersom tacksidan visar samma nummer. |
paymentStatus | Bara betalda ordrar skickas. Obetalda, delvis betalda och avbeställda ordrar hoppas över. |
priceIncl | Köpvärdet, inklusive skatt. Valutan är den butiksvaluta som du har angett i ROASaurus. |
createdAt | Händelsetiden |
| E-post, telefon eller mobil, för- och efternamn | Hashas med SHA-256 och skickas som kunddata |
| Ort, postnummer och land för fakturering | Hashas och skickas som kunddata |
remoteIp, userAgent | Skickas med händelsen och används för IP-matchning |
| Kund-id | Hashas och skickas som ett externt id |
| Orderprodukter | Variant-id (eller produkt-id), antal, pris inklusive skatt, titel och SKU |
Köpvärdet inkluderar moms
Lightspeeds priceIncl är orderpriset inklusive skatt, och det är det värde som ROASaurus skickar. Dina annonsplattformar rapporterar därför intäkter inklusive moms. Så här ser effekten ut vid 21% moms:
| Exempel: 30 ordrar | Skickat värde (inkl. moms) | Intäkter exkl. moms |
|---|---|---|
| Annonskostnad | $1,000 | $1,000 |
| Köpvärde | $3,630 | 3,630 ÷ 1.21 = $3,000 |
| ROAS | 3.63 | 3.00 |
En break-even-ROAS använder intäkter utan moms. Dividera plattformens ROAS med 1 plus din momssats innan du jämför de två.
Hur kopplas en Lightspeed-order till annonsklicket?
För att kreditera en annons behöver plattformen klickidentifierarna för besökaren som lade ordern: Meta-klick-id:t och webbläsar-id:t (fbc, fbp), TikTok-klick-id:t (ttclid) och TikTok-cookien (ttp). ROASaurus-skriptet sparar dem för varje besökare när de landar från en annons. ROASaurus får inte det besökar-id:t från Lightspeed-ordern, så det kopplar varje order till en besökare på ett annat sätt. Det prövar tre metoder, i den här ordningen:
| Metod | Så fungerar det | Vad den kräver |
|---|---|---|
| 1. Snippet på tacksidan | Snippeten utlöser ett ROASaurus-köp med ordernumret. ROASaurus hittar den händelsen via dess händelse-id, order-ORD01042. | Snippeten i rutan Tracking |
| 2. Tidigare e-postadress | En hashad e-postadress som besökaren angett tidigare på din sajt, i ett popup-formulär eller via ett Identify-anrop | Ett registreringsformulär eller ett Identify-anrop |
| 3. IP-adress och webbläsare | Samma IP-adress och webbläsare sedd från 3 timmar före till 15 minuter efter ordern, bara när exakt en besökare passar | Inget extra |
Snippeten skickar också med ordertotalen, valutan och kundens e-postadress. ROASaurus sparar en hash av den e-postadressen på besökaren, vilket hjälper till att matcha samma köpares nästa order. ROASaurus väntar en kort stund innan det skickar varje köp, så att tackhändelsen hinner komma först, och det försöker matcha igen vid sändningstillfället.
Lightspeed variables used by the ROASaurus snippet (Tracking box) order.information.number order id and event id order-<number> order.information.price_incl value order.information.currency currency order.customer.email email, hashed on the visitor
Sidan Orders visar hur varje order kopplades, i kolumnen Matched by: thank_you, email, ip eller not matched. En order som inte matchas går ändå till dina annonsplattformar med sin orderdata, men utan klickidentifierare, och attributionen i ROASaurus visar den som direkt eller okänd.
Skicka Lightspeed-köp till Meta och TikTok
Varje betald order blir en serverhändelse per ansluten plattform: ett Purchase för Metas Conversions API och ett CompletePayment för TikToks Events API, båda med händelse-id:t order-ORD01042. TikTok visar numera CompletePayment som Purchase i sina rapporter. När du kryssar i alternativet att också läsa in webbläsarpixeln utlöser snippeten på tacksidan samma händelser i webbläsaren med samma händelse-id. Meta och TikTok behåller då en kopia.
- Händelse-id, händelsetid, värde och valuta
- Produkt-id:n, antal och priser
- Hashad e-post, telefon, namn, ort, postnummer och land
- IP-adress och webbläsare
- fbc och fbp när ordern matchas
- Händelse-id, händelsetid, värde och valuta
- Produkter med id, namn, antal och pris
- Hashad e-post och telefon
- IP-adress och webbläsare
- ttclid och ttp när ordern matchas
Samma ordrar går till Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn och de andra annonsplattformarna när du ansluter dem. Köpkonverteringar i Google Ads skickas bara från Shopify-kassan, så ROASaurus skickar dem inte från Lightspeed. För Metas del av uppsättningen, se guiden om Meta Conversions API.
Så sätter du upp konverteringstracking för Lightspeed
- Lägg till butiken i ROASaurus
Gå till Add a store, välj Lightspeed eCom och ange din butiksadress. Fliken Connection visar sedan din skripttagg och snippeten för tacksidan.
- Lägg till skriptet på varje sida
Gå till Settings › Website Settings › Web Extras › Custom JavaScript i Lightspeeds back office och klistra in skripttaggen. Lightspeed kör den här koden på alla sidor.
- Lägg till snippeten för tacksidan
Slå på Status i området Tracking på samma sida och klistra in snippeten. Lightspeed kör den på sidan Thank You efter en order.
- Skapa en API-nyckel
Gå till Settings › Store Settings › Developers › New API key. Slå på nyckeln, kryssa i läsbehörighet till ordrar, spara och välj Show för att se hemligheten.
- Anslut API:et
På fliken Connection anger du nyckeln, hemligheten, regionen och butikens språk. Spara, tryck på Test connection och därefter på Create webhook.
- Anslut dina annonsplattformar
På Tracking & platforms använder du Connect with Facebook eller Add pixel för Meta, och Add pixel för TikTok med pixelkoden och en åtkomsttoken för Events API. Kryssa i alternativet att också läsa in webbläsarpixeln.
API key (Settings › Store Settings › Developers)
API secret (select Show next to the key)
Region eu → api.webshopapp.com
us → api.shoplightspeed.com
Shop language nl, en, de ... (the code in your API addresses)Samtycke
Utanför Shopify läser ROASaurus-skriptet besökarens val från vanliga samtyckesverktyg: Cookiebot, OneTrust, IAB TCF-bannrar och Google consent mode. Med en annan cookiebanner anropar du tlq('consent', true) när besökaren accepterar marknadsföringscookies och tlq('consent', false) när besökaren tackar nej. Tills besökaren accepterar har besökaren inget besökar-id eller klick-id:n, och inga webbläsarpixlar utlöses. Den betalda ordern skickas ändå från servern med hashad kunddata från ordern samt orderns IP-adress och webbläsare. Hjälpsidan om samtycke förklarar detaljerna.
Hur testar du konverteringstracking för Lightspeed?
- Öppna din butik med
?roasaurus=connectedi adressen. En avisering bekräftar att skriptet körs.?roasaurus=debugloggar vad det skickar till webbläsarkonsolen. - Under Collected events i Event log ska sidvisningar visa ett besökar-id.
- Lägg en order och se till att dess betalstatus är paid. Under Collected events ska Event log då visa ett Purchase med ditt ordernummer i sina data. Om det saknas, kontrollera att Status är påslagen i området Tracking.
- På fliken Connection visar Last order received ordern och Last sync visar den senaste 5-minuterskontrollen, med eventuella fel från Lightspeed.
- Under Server deliveries i Event log får varje ansluten plattform en rad med statusen sent och plattformens svar.
PageView visitor 7d1e04b2Skript på varje sidaPurchase order-ORD01042Snippet på tacksidan, webbläsarpixlar utlöstawebhook orders updatedOrder ORD01042, betalstatus paidMeta Purchase sentMatched by thank_youTikTok CompletePayment sentSamma händelse-id, dedupliceratFör att se händelsen i Meta klistrar du in koden från Events Manager › Test events i fältet Test event code för din Meta-pixel i ROASaurus, och tar bort den när du är klar. TikToks pixelinställningar i ROASaurus har samma fält.
Begränsningar och specialfall
- Bara C-Series. Butiker med Lightspeed eCom E-Series kan inte använda den här kopplingen.
- Bara betalda ordrar. En delvis betald order skickas när dess betalstatus ändras till paid.
- Sena betalningar och Metas gräns på 7 dagar. Meta accepterar serverhändelser upp till 7 dagar efter händelsetidpunkten. ROASaurus använder orderns skapandetid, så en order som betalas mer än 7 dagar efter att den lades avvisas av Meta.
- Köp i webbläsaren före betalning. Snippeten på tacksidan körs när ordern läggs, så webbläsarpixlarna rapporterar en banköverföringsorder innan den är betald. Om betalningen kommer mer än 48 timmar senare kan Meta och TikTok inte slå ihop webbläsarkopian och serverkopian.
- Avbeställningar och återbetalningar skickas inte. När ett köp har skickats finns det kvar i annonsplattformen.
- Bara sidvisningar, utan kod. Produktvisningar och tillägg i varukorgen upptäcks automatiskt bara på Shopify. På Lightspeed kan en utvecklare skicka dem med ett
tlq-track-anrop. - API-gränser. Lightspeed tillåter 300 förfrågningar per 5 minuter, 3,000 per timme och 12,000 per dag per API-nyckel. Om ett annat verktyg använder samma nyckel delar de de här gränserna. Lightspeed ber dig kontakta dem för en andra nyckel.
Integrationssidan för Lightspeed listar fakta om anslutningen på ett ställe, och hjälpsidan för andra webbshoppar jämför Lightspeed med de andra plattformar som ROASaurus ansluter till.
Källor
- Lightspeed eCom (C-Series) Help Center: Adding a web tracking code
- Lightspeed eCom (C-Series) Help Center: Creating API keys
- Lightspeed eCom developers: Webhooks
- Lightspeed eCom developers: Order
- Lightspeed eCom developers: Rate limiting
I ROASaurus
- Lightspeed-integration
- Hjälp: Wix, Lightspeed och andra webbshoppar
- Server-side tracking
- Meta-integration