Behöver ert företag hjälp med att implementera AI? Kontakta oss och få prisoffert här →
AI Skolan
januari 22, 2026

Shopify till Google Sheets, kundlistor alltid klara

Rickard Andersson Partner, Nodenordic.se

Din kundlista finns alltid ”någonstans”. I Shopify. I en gammal CSV. I någons inkorg. Och i samma ögonblick som du faktiskt behöver den sitter du och kopierar, filtrerar, rättar till kolumner och hoppas att du inte missade en del av kunderna.

Det här problemet med Shopify Sheets-export drabbar Shopify-butiksägare först, helt ärligt. Men marknadsförare som bygger e-postmålgrupper och ops-ansvariga som håller system synkade hamnar i samma röra. Det här arbetsflödet håller ett strukturerat Google Sheet uppdaterat, och skapar även en Squarespace Contacts-klar CSV utan att du behöver sitta och vakta exporten.

Nedan ser du hur automatiseringen fungerar, vad du får ut av den och de små inställningsdetaljerna som förhindrar de vanliga ”varför saknas min data?”-överraskningarna.

Så fungerar automatiseringen

Hela n8n-flödet, från trigger till slutligt resultat:

n8n Workflow Template: Shopify till Google Sheets, kundlistor alltid klara

Problemet: kundexporter som aldrig förblir kompletta

Att exportera Shopify-kunder låter enkelt tills du gör det mer än en gång. Du exporterar idag, någon importerar den CSV-filen i ett annat verktyg imorgon, och nästa vecka är din lista redan inaktuell. Än värre: Shopify-kundexporter kan bli opålitliga om du gör det manuellt under hektiska veckor, eller om du antar att ”sida 1” betyder att du fått med alla (Shopify använder cursor-baserad paginering, inte sidnummer). Sedan lägger du en eftermiddag på att jämföra antal, jaga dubbletter och formatera om kolumner så att de matchar plattformen du ska importera till härnäst.

Det blir snabbt mycket. Här brukar det oftast fallera.

  • Manuella exporter glöms bort, så kampanjer och importer kör på inaktuella kundlistor.
  • Du missar kunder eftersom pagineringen hanteras annorlunda än ”normala” exportflöden sida-för-sida.
  • Kolumner matchar sällan vad nedströmsverktyg förväntar sig, vilket innebär ständig rensning inför varje import.
  • Någon justerar ett kalkylbladsformat ”bara den här gången”, och plötsligt bygger processen på tyst kunskap.

Lösningen: exportera Shopify-kunder till Google Sheets (och en färdig CSV)

Det här n8n-arbetsflödet hämtar alla kunder från Shopify via Shopify Admin REST API och skriver dem till ett Google Sheets-kalkylark med en konsekvent struktur. Eftersom n8n inte har en inbyggd åtgärd för ”Shopify Customers” använder flödet ett HTTP Request-steg och hanterar Shopifys cursor-baserade paginering automatiskt. Det innebär att den fortsätter hämta nästa batch tills det inte finns någon ”next page”-länk längre, i stället för att avbryta för tidigt. När kunderna är insamlade expanderar flödet varje post, mappar de fält du faktiskt bryr dig om (som e-post och namn), uppdaterar ditt Sheet och genererar till sist en CSV-fil formaterad specifikt för import till Squarespace Contacts.

Arbetsflödet startar enligt schema eller manuellt. Därefter hämtar det kunder i batchar (50 som standard, upp till 250), följer Shopifys page_info-cursor från svarshuvuden och slår ihop resultaten till en korrekt formaterad datamängd. I slutet blir Google Sheets din ”alltid redo”-lista, och CSV-exporten finns där när du behöver ladda upp till Squarespace.

Det här får du: automatisering vs. resultat

Exempel: så här ser det ut i praktiken

Säg att du uppdaterar din kundlista två gånger i veckan för e-postsegmentering och en uppladdning av kontakter till Squarespace. Manuellt tar det oftast 20 minuter att exportera, ytterligare 30 minuter att rensa kolumner och ta bort brus, och sedan 10 minuter att förbereda en ”separat” CSV för Squarespace, alltså ungefär en timme per uppdatering. Med det här flödet triggar du det (eller schemalägger det), väntar några minuter tills Shopifys paginering är klar, och ditt Google Sheet uppdateras automatiskt medan den Squarespace-klara CSV-filen skapas från samma körning. Det är ungefär 2 timmar tillbaka varje vecka, utan stressen ”fick vi med alla?”.

Det här behöver du

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Åtkomst till Shopify Admin REST API för att hämta kundposter
  • Google Sheets för att lagra och dela kundlistan
  • Shopify API-nyckel (hämta den i Shopify-admin under appinställningar)

Kompetensnivå: Medel. Du klistrar in autentiseringsuppgifter, bekräftar behörigheter och justerar några parametrar i anropen, som fält och limits.

Vill du inte sätta upp detta själv? Prata med en automationsspecialist (gratis 15-minuters konsultation).

Så fungerar det

En schemalagd körning eller manuell trigger startar allt. Du kan köra det vid begäran när du ska importera, eller schemalägga det veckovis så att ditt kundark alltid är aktuellt.

Shopify-kunder hämtas i paginerade batchar. HTTP Request-noden anropar Shopify Admin REST API och inkluderar svarshuvuden, eftersom cursor för ”nästa sida” finns där. Ett litet parsningsteg extraherar page_info och fortsätter loopa tills Shopify slutar returnera en nästa-länk.

Kundposter expanderas och normaliseras. Varje kund delas upp till individuella rader, fält mappas till de kolumner du vill ha, och flödet slår ihop batchresultaten så att du slipper hantera del-exporter.

Google Sheets uppdateras, och sedan skapas en CSV. Flödet skriver den rensade kundlistan till ditt kalkylark och konverterar även de mappade fälten till en CSV-fil som matchar Squarespace Contacts importförväntningar (e-post, förnamn, efternamn, där eventuellt extra ID-fält ignoreras).

Du kan enkelt ändra vilka kundfält du hämtar så att det matchar vad teamet faktiskt använder, och samtidigt hålla utdata-strukturen stabil för importer och synkning. Se hela implementeringsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementering

Steg 1: konfigurera schema-triggern

Konfigurera arbetsflödets triggers så att ni kan köra synkningen vid behov eller enligt ett schema.

  1. Lägg till och behåll Manual Run Starter för tester vid behov och manuella körningar.
  2. Konfigurera Scheduled Run Trigger med önskat intervall i inställningarna för Rule.
  3. Bekräfta att både Manual Run Starter och Scheduled Run Trigger är kopplade till Retrieve Customer Records.

Ni kan ha båda triggers aktiva – använd Manual Run Starter för testning och Scheduled Run Trigger för produktionskörningar.

Steg 2: anslut Shopify och konfigurera hämtning av kunder

Hämta kunddata från Shopify med noden för HTTP-förfrågan.

  1. Öppna Retrieve Customer Records och ställ in URL till https://{your-store}.myshopify.com/admin/api/2025-01/customers.json.
  2. Aktivera Send Query och ange frågeparametrar: limit till 250, fields till id,email,first_name,last_name, och ett dynamiskt parameternamn {{ $json.page_info ? "page_info" : "status" }} med värdet {{ $json.page_info ? $json.page_info : 'any' }}.
  3. Referensuppgifter krävs: Anslut era shopifyAccessTokenApi-referensuppgifter i Retrieve Customer Records.

⚠️ Vanlig fallgrop: Om {your-store} inte ersätts med er Shopify-underdomän kommer förfrågan att misslyckas med en 404.

Steg 3: konfigurera hantering av paginering

Hantera Shopifys paginering så att alla kundsidor samlas in.

  1. I Validate Pagination Link, bekräfta att villkoret kontrollerar {{ $json.headers.link }} med Operator inställd på notContains och Value inställd på rel="next".
  2. Behåll true/false-grenarna från Validate Pagination Link anslutna till Combine Batch Results respektive Parse Pagination Token.
  3. I Parse Pagination Token, använd den tillhandahållna JavaScript-koden för att extrahera frågeparametern page_info från link-headern.
  4. I Map Pagination Parameter, ställ in page_info till {{ $json.page_info }} och behåll den ansluten tillbaka till Retrieve Customer Records.
  5. Bekräfta att Combine Batch Results samlar in alla sidor genom loopen över utdata från Retrieve Customer Records.

Säkerställ att Retrieve Customer Records är inställd på att returnera ett fullständigt svar så att fältet headers.link är tillgängligt för paginering.

Steg 4: konfigurera utökning av kundlistan och åtgärder för utdata

Dela upp kundarrayen i enskilda objekt och skicka data till ert kalkylark och er CSV-utdata.

  1. I Expand Customer List, ställ in Field to Split Out till body.customers.
  2. Notera den parallella körningen: Expand Customer List skickar utdata både till Update Customer Spreadsheet och Map Customer Fields parallellt.
  3. I Update Customer Spreadsheet, ställ in Operation till appendOrUpdate, mappa kolumner till {{ $json.last_name }}, {{ $json.first_name }}, {{ $json.email }} och {{ $json.id }}, och använd Shopify Customer ID som matchande kolumn.
  4. Referensuppgifter krävs: Anslut era googleSheetsOAuth2Api-referensuppgifter i Update Customer Spreadsheet.
  5. I Map Customer Fields, ställ in Email address till {{ $json['Email address'] }}, First name till {{ $json['First name'] }}, och Last name till {{ $json['Last name'] }}.
  6. I Generate Contacts CSV, behåll Header Row inställd på false.

⚠️ Vanlig fallgrop: Om era kolumnrubriker i Google Sheet inte exakt matchar Email address, First name, Last name och Shopify Customer ID kommer uppdateringen att misslyckas eller mappa data fel.

Steg 5: testa och aktivera ert arbetsflöde

Verifiera dataflödet och aktivera den schemalagda synkningen.

  1. Klicka på Execute Workflow via Manual Run Starter för att köra en fullständig synk.
  2. Bekräfta att Retrieve Customer Records returnerar data och att Expand Customer List skickar ut enskilda kundobjekt.
  3. Verifiera att uppdateringar syns i ert Google Sheet från Update Customer Spreadsheet och att Generate Contacts CSV skapar ett filobjekt i utdata.
  4. Aktivera arbetsflödet så att Scheduled Run Trigger körs automatiskt enligt ert definierade intervall.
🔒

Lås upp fullständig steg-för-steg-guide

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Shopify-autentisering kan gå ut eller sakna rätt scopes. Om anropen misslyckas, kontrollera först behörigheterna för din Shopify-app och API-nyckeln som används i HTTP Request-noden.
  • Om du använder Wait-noder eller extern bearbetning kan tajmning variera. Paginering kan ta längre tid i stora butiker, så öka eventuella väntetider om nedströmssteg kör innan kundlistan är helt sammanfogad.
  • Uppdateringar i Google Sheets kan se ”fel” ut när arkets struktur ändras. Om någon lägger till rubriker eller ändrar kolumnordning, fixa mallarket och kör sedan igen så att mappningen fortfarande matchar din avsedda utdata.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för Shopify Sheets-export?

Cirka 30 minuter om dina Shopify- och Google-inloggningar är redo.

Behöver jag kodkunskaper för att automatisera Shopify-kundexporter?

Ingen kod krävs. Du kommer främst att klistra in autentiseringsuppgifter och bekräfta vilka fält du vill att Shopify ska returnera.

Är n8n gratis att använda för det här arbetsflödet för Shopify Sheets-export?

Ja. n8n har ett gratisalternativ för egen hosting och en gratis provperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volym. Du behöver också ta hänsyn till Shopify API-åtkomst (ingår vanligtvis i din Shopify-plan om inte din appkonfiguration är begränsad).

Var kan jag hosta n8n för att köra den här automatiseringen?

Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärd och hanterar n8n bra. Egen hosting ger obegränsade körningar men kräver grundläggande serveradministration.

Kan jag anpassa det här arbetsflödet för Shopify Sheets-export för en CSV enbart för Squarespace?

Ja, och det är en vanlig justering. Du kan ändra parametern ”fields” i Shopify HTTP Request så att du bara hämtar det du behöver, och sedan uppdatera steget ”Map Customer Fields” så att CSV-filen bara innehåller E-postadress, Förnamn och Efternamn i den ordning Squarespace förväntar sig. Om du vill behålla ett mer detaljerat Google Sheet men ändå skapa en minimal CSV, behåll en bredare mappning till arket och gör CSV-mappningen striktare.

Varför misslyckas min Shopify-anslutning i det här arbetsflödet?

Oftast är det ett autentiseringsproblem: en utgången API-nyckel, fel Admin API access token eller saknade scopes för att läsa kunder. Dubbelkolla autentiseringsuppgifterna i HTTP Request-noden och bekräfta att appen i Shopify har rätt att läsa kunddata. Om det bara fallerar vid större körningar kan Shopifys rate limits också vara orsaken, så att sakta ner loopen eller minska ”limit” per anrop kan stabilisera det.

Hur många kunder klarar den här automatiseringen för Shopify Sheets-export?

En typisk Shopify-butik med några tusen kunder fungerar bra, och större listor fungerar också eftersom paginering är inbyggt. I n8n Cloud beror din månatliga körningsgräns på planen (Starter räcker vanligtvis gott för schemalagda exporter). Om du hostar själv finns ingen hård gräns för körningar, så det handlar mest om din server och hur ofta du kör flödet.

Är den här automatiseringen för Shopify Sheets-export bättre än att använda Zapier eller Make?

Ofta, ja, eftersom den svåra delen här är paginering och datamappning, inte en enkel tvåstegssynk. n8n låter dig loopa igenom cursor-baserade sidor, slå ihop batchar och styra exakt utdata utan att betala extra för ”avancerad” branching. Du får också möjligheten att hosta själv, vilket spelar roll om du kör detta ofta. Zapier eller Make kan fungera för mindre, enkla hämtningar, men de blir ofta klumpiga när du behöver hämta varje post pålitligt. Prata med en automationsspecialist om du vill ha en snabb rekommendation för din setup.

När detta väl rullar slutar kundlistan vara en återkommande uppgift. Den bara finns där, korrekt formaterad och redo, när du behöver segmentera, importera eller synka.

Kontakta oss

Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Få prisoffert redan idag!
Få prisoffert redan idag!

Berätta vad ni behöver hjälp med så hör vi av oss inom en arbetsdag!

Launch login modal Launch register modal