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

Printify + Google Sheets: spårade SEO-textuppdateringar

Rickard Andersson Partner, Nodenordic.se

Dina produkttitlar glider iväg över tid. Beskrivningar “snabbjusteras” av den som råkar vara tillgänglig. Sedan vaknar du upp till en butik som låter som fem olika varumärken – och att fixa det innebär timmar av copy-paste över dussintals (eller hundratals) listningar.

E-handelsansvariga känner oftast av det först. Men marknadsansvariga som städar upp SEO och små butiksägare som försöker få ut nya designer hanterar samma röra. Den här Printify-copy-automationen uppdaterar titlar och beskrivningar med OpenAI och loggar varje ändring i Google Sheets så att du alltid vet vad som hände.

Du får se hur arbetsflödet hämtar produkter från Printify, genererar varumärkesanpassad SEO-copy, skriver resultatet till Sheets och sedan pushar uppdateringar tillbaka till Printify utan manuellt slit.

Så fungerar automatiseringen

Se hur detta löser problemet:

n8n Workflow Template: Printify + Google Sheets: spårade SEO-textuppdateringar

Utmaningen: hålla Printify-listningar konsekventa utan att bo i kalkylark

Att uppdatera produkttexter i Printify låter enkelt – tills du gör det i större skala. Du börjar med “bara fixa några titlar”, och plötsligt handlar det om säsongsuppdateringar, keyword-justeringar, förändringar i tonalitet eller att städa upp gamla mallar som aldrig borde ha publicerats. Värst är den mentala belastningen: du jämför hela tiden gammal vs. ny text, försöker att inte skriva över fel listning och dubbelkollar det du redan varit inne och ändrat. Och om du inte spårar ändringar någonstans centralt slutar det med att du gör samma jobb igen nästa månad – för att ingen minns vad som uppdaterades.

Det drar snabbt iväg. Så här faller det isär i verkliga butiker.

  • Du öppnar Printify, kopierar aktuell titel och beskrivning, klistrar in i ett dokument, skriver om, klistrar tillbaka och upprepar samma loop för varje produkt.
  • Varumärkeston blir inkonsekvent eftersom olika personer “förbättrar” copy på olika sätt, vilket gör att butiken känns som ett lapptäcke.
  • Du tappar koll på vad som ändrades, så QA blir ett andra projekt (och misstag slinker igenom ändå).
  • Batchuppdateringar känns riskabla, så du skjuter upp dem – och din SEO och konvertering betalar tyst priset.

Lösningen: uppdatera Printify-titlar + beskrivningar med OpenAI, loggat i Sheets

Det här arbetsflödet gör ett stökigt “skriv om allt”-projekt till ett kontrollerat system som du kan köra när som helst. Det börjar med att hämta din Printify-butikslista och hämtar sedan hela produktkatalogen från den butik du väljer. Varje produkt bearbetas en och en, där arbetsflödet extraherar produkt-ID, aktuell titel och aktuell beskrivning. Därefter genererar OpenAI uppdaterad copy baserat på dina varumärkesriktlinjer och eventuella egna instruktioner du lägger in (ton, formateringsregler, SEO-noteringar, säsongsinriktningar). Till sist uppdaterar arbetsflödet produkten i Printify via API och skriver resultatet till Google Sheets så att du får ett felfritt revisionsspår över vad som genererades och applicerades.

Arbetsflödet kan köras på två sätt: du kan starta det manuellt för test, eller trigga det från Google Sheets när en “upload”-kolumn ändras till “yes”. Efter att copy har genererats uppdateras Sheets från “Product Processing” till “Option added”, vilket gör det tydligt vad som är klart och vad som fortfarande väntar.

Vad som ändras: före vs. efter

Effekt i verkligheten

Säg att du vill uppdatera 50 Printify-listningar inför en säsongssatsning. Manuellt tar det typiskt runt 10 minuter per produkt att öppna listningen, kopiera den gamla texten, skriva om, klistra in och dubbelkolla – alltså cirka 8 timmar fokuserat arbete. Med det här arbetsflödet sätter du Google Sheets-flaggan “upload” till “yes” (kanske 5 minuter för att förbereda arket), och låter sedan OpenAI generera och arbetsflödet uppdatera Printify medan Sheets loggar varje ändring. Du granskar fortfarande, men granskningen blir att läsa i ett ark – inte att göra om hela processen.

Krav

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • Printify för att hämta och uppdatera produktlistningar.
  • Google Sheets för att spåra status och lagra resultat.
  • OpenAI API-nyckel (hämta den i OpenAI:s API-dashboard).

Svårighetsgrad: Medel. Du kopplar konton, klistrar in API-nycklar och redigerar ett textblock med varumärkesriktlinjer.

Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).

Flödet i arbetsflödet

En manuell körning eller en ändring i Google Sheets startar allt. Om du testar kör du manuellt. I produktion lyssnar arbetsflödet på ditt ark och startar när kolumnen “upload” sätts till “yes”.

Printify-data hämtas in. Arbetsflödet hämtar din butikslista, väljer rätt butik och hämtar hela produktkatalogen så att det har ID:n och aktuell titel/beskrivning att utgå från.

Produkter bearbetas i batchar och ny copy genereras. Varje produkt separeras, nyckelfälten extraheras och OpenAI skapar uppdaterade titlar och beskrivningar baserat på dina “Brand Rules & Notes”. Det finns även logik för att generera flera alternativ (så att du kan spara alternativ), istället för att vara låst till ett enda förslag.

Sheets uppdateras först, sedan uppdateras Printify. En rad läggs till med en bearbetningsstatus, den genererade copyn skrivs tillbaka till den raden och produkten uppdateras i Printify via en API-förfrågan. Om du behöver granska en ändring i efterhand är Sheets spåret du följer.

Du kan enkelt justera varumärkesreglerna så att de matchar din ton och formatering, eller ändra hur många copy-alternativ du genererar utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: Konfigurera den manuella triggern

Det här arbetsflödet startar med en manuell körning för att generera copy och använder även en sheet-watcher för publiceringsuppdateringar.

  1. Öppna Manual Run Trigger och låt den vara startpunkten för manuella körningar.
  2. Konfigurera Sheets Row Watcher så att den bevakar ert produktark för uppladdningar. Ställ in EventrowUpdate.
  3. I Sheets Row Watcher ställer ni in Columns to Watchupload och behåller polling-intervallet på everyMinute.
  4. Välj ert kalkylark i Sheets Row Watcher: Document till [YOUR_ID] och Sheet till Sheet1 (gid=0).
  5. Inloggningsuppgifter krävs: Anslut era googleSheetsTriggerOAuth2Api-credentials i Sheets Row Watcher.

Steg 2: Koppla Printify och varumärkesinställningar

Ställ in varumärkesregler och anslut till Printify för att hämta butiks- och produktdata.

  1. I Brand Rules & Notes ställer ni in brand_name till YourBrand, brand_tone till informal, instructional, trustoworthy och custom_instructions till rewrite for seasonal promotion.
  2. Öppna Retrieve Store List och ställ in URL till https://api.printify.com/v1/shops.json.
  3. Inloggningsuppgifter krävs: Anslut era httpHeaderAuth-credentials i Retrieve Store List.
  4. Öppna Fetch Product Catalog och ställ in URL till =https://api.printify.com/v1/shops/{{ $json.id }}/products.json.
  5. Inloggningsuppgifter krävs: Anslut era httpHeaderAuth-credentials i Fetch Product Catalog.

Steg 3: Förbered produktposter och options-loop

Dela upp produktdata i enskilda objekt och konfigurera loopen för att generera flera copy-alternativ.

  1. I Expand Items ställer ni in Field to Split Out till data.
  2. Använd Iterate Records för att bearbeta objekt i batchar (standardinställningar fungerar bra).
  3. I Extract ID Title Desc ställer ni in Field to Split Out till id och Fields to Include till title, description.
  4. I Set Option Count ställer ni in number_of_options till 3.
  5. I Compute Option Range behåller ni Mode som runOnceForEachItem och behåller den angivna JavaScript-logiken.
  6. I Check Option Loop ställer ni in villkoret till equals med Left Value ={{ $json.result }} och Right Value 0.

⚠️ Vanlig fallgrop: Om number_of_options inte är numeriskt kommer Compute Option Range att misslyckas. Låt det vara en numerisk sträng som 3.

Steg 4: Sätt upp AI-generering och uppdateringar i Sheets

Generera ny copy via OpenAI och skriv tillbaka resultat till Google Sheets.

  1. Öppna Append Sheet Option och ställ in Operation till append.
  2. I Append Sheet Option mappar ni xid till ={{ Math.random().toString(36).substr(2, 12) }}, date till ={{ new Date().toISOString().split('T')[0] }} och status till Product Processing.
  3. Välj ert kalkylark i Append Sheet Option: Document till [YOUR_ID] och Sheet till Sheet1 (gid=0).
  4. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-credentials i Append Sheet Option.
  5. Öppna Generate New Copy och bekräfta att Model är gpt-4o-mini med JSON Output aktiverat.
  6. Säkerställ att Generate New Copy använder meddelandemallen som refererar till {{ $('Extract ID Title Desc').item.json.title }} och {{ $('Extract ID Title Desc').item.json.description }}.
  7. Inloggningsuppgifter krävs: Anslut era openAiApi-credentials i Generate New Copy.
  8. Obs: Wiki Reference Tool och Math Helper Tool är AI-verktyg kopplade till Generate New Copy; lägg till credentials i Generate New Copy, inte i verktygen.
  9. I Update Sheet Option ställer ni in Operation till appendOrUpdate och matchar på xid.
  10. Mappa värden i Update Sheet Option exakt som visat, till exempel keyword till ={{ $json.message.content.keyword }} och product_title till ={{ $json.message.content.title }}.
  11. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-credentials i Update Sheet Option.

Steg 5: Konfigurera uppladdningslogik och produktuppdateringar

När en rad markeras för uppladdning uppdaterar arbetsflödet produktdetaljer i Printify.

  1. I Upload Flag Check ställer ni in villkoret så att Left Value ={{ $json.upload }} är lika med Right Value yes.
  2. Öppna Retrieve Store List B och ställ in URL till https://api.printify.com/v1/shops.json.
  3. Inloggningsuppgifter krävs: Anslut era httpHeaderAuth-credentials i Retrieve Store List B.
  4. I Modify Product Details ställer ni in Method till PUT och URL till =https://api.printify.com/v1/shops/{{ $json.id }}/products/{{ $('Sheets Row Watcher').item.json.product_id }}.json.
  5. Aktivera Send Body i Modify Product Details och mappa title till ={{ $('Sheets Row Watcher').item.json.product_title }} och description till ={{ $('Sheets Row Watcher').item.json.product_desc }}.
  6. Inloggningsuppgifter krävs: Anslut era httpHeaderAuth-credentials i Modify Product Details.

⚠️ Vanlig fallgrop: Om kolumnen upload är tom eller inte exakt är yes kommer Upload Flag Check att blockera uppdateringar.

Steg 6: Testa och aktivera ert arbetsflöde

Kör ett manuellt test för att bekräfta att loopen för copy-generering och uppladdningsflödet fungerar som förväntat.

  1. Klicka på Execute Workflow från Manual Run Trigger för att generera copy och lägga till poster i Google Sheets.
  2. Verifiera att Append Sheet Option skriver en ny rad med status satt till Product Processing och att Update Sheet Option uppdaterar samma xid.
  3. Ställ manuellt in kolumnen upload till yes på en rad för att trigga Sheets Row Watcher och passera Upload Flag Check.
  4. Bekräfta att Modify Product Details returnerar ett lyckat svar från Printify och att er produkttitel/-beskrivning uppdateras.
  5. När testet är lyckat ställer ni arbetsflödet till Active för att aktivera kontinuerlig övervakning.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Se upp för

  • Printify API-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera: kontrollera först din credential i n8n för Printify header auth.
  • Om du använder Wait-noder eller extern rendering varierar processtider. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in din varumärkesröst tidigt, annars kommer du att redigera output i all evighet.

Vanliga frågor

Hur snabbt kan jag implementera den här Printify-copy-automationen?

Cirka en timme om dina API-nycklar är klara.

Kan icke-tekniska team implementera den här Printify-copy-automationen?

Ja. Ingen kodning krävs, men någon behöver vara bekväm med att koppla konton och redigera texten med varumärkesriktlinjer som OpenAI använder.

Är n8n gratis att använda för det här Printify-copy-automationsflödet?

Ja. n8n har ett gratisalternativ för egen drift och en gratis provperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volym. Du behöver också räkna med kostnader för OpenAI API, som vanligtvis ligger på några cent per batch produkter beroende på modell och promptstorlek.

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

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

Hur anpassar jag den här Printify-copy-automationslösningen till mina specifika utmaningar?

Börja i noden “Brand Rules & Notes” (Set), eftersom det är där din ton, formateringsregler och SEO-begränsningar ska ligga. Du kan också ändra antalet alternativ genom att justera option-count-noderna (arbetsflödet beräknar ett intervall och loopar igenom det). Om du vill ha godkännande innan publicering: behåll den genererade copyn i Google Sheets och kör bara uppdateringen “Modify Product Details” när en granskare markerar en kolumn “approved”.

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

Oftast beror det på en ogiltig eller utgången API-token i Printify header auth. Uppdatera credential i n8n och testa sedan om “Retrieve Store List” och “Modify Product Details”-förfrågningarna. Om det fortfarande misslyckas: kontrollera att shop-ID:t som används matchar den butik som din token har åtkomst till, eftersom hämtning av butiker kan fungera medan uppdatering av produkter fallerar på behörigheter.

Vilken kapacitet har den här Printify-copy-automationslösningen?

I självhostad n8n finns ingen hård körningsgräns (det beror främst på din server och API:ers rate limits). I n8n Cloud beror kapaciteten på din plans månatliga körningar. I praktiken kör de flesta team detta i batchar om 20–100 produkter så att de kan granska arket och sedan fortsätta.

Är den här Printify-copy-automationen bättre än att använda Zapier eller Make?

Ofta, ja, eftersom det här arbetsflödet behöver loopar, förgreningar och ett robust mönster “skriv till Sheets, uppdatera sedan Printify” som förblir läsbart när det växer. n8n gör det också enklare att köra egen drift, vilket spelar roll om du uppdaterar hundratals listningar och inte vill att varje körning ska mätas och debiteras. Zapier och Make kan fortfarande fungera för en väldigt enkel version, men du stöter på begränsningar så fort du vill ha flera copy-alternativ, villkorad publicering eller starkare loggning. Ytterligare en fördel: du kan ha dina varumärkesregler i en nod och återanvända dem mellan butiker. Om du är osäker, prata med en automationsexpert och beskriv din katalogstorlek och granskningsprocess.

När detta väl är på plats slutar uppdateringar av produkttexter att vara en “någon gång”-uppgift. Du sätter reglerna, kör arbetsflödet och din butik håller en konsekvent ton utan copy-paste-spiralen.

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

Launch login modal Launch register modal