Du sätter dig för att skriva “snabb” produkttext, och plötsligt är du 45 minuter in med öppna konkurrentflikar, halvfärdiga anteckningar och ett tomt beskrivningsfält som fortfarande saknar nyckelord.
E-handelsmarknadsförare känner oftast av det här först, men produktchefer och småbutiksägare som driver sin egen webbshop hamnar där också. Den här Gemini Sheets-automationen gör om en produkttitel till SEO-text med konkurrentkontekst och loggar allt i Google Sheets så att du kan granska, justera och publicera snabbare.
Nedan ser du exakt vad flödet gör, vad det ersätter och hur team använder det för att få konsekventa produkttitlar, beskrivningar och nyckelord utan att göra samma research om och om igen.
Så fungerar den här automationen
Se hur det här löser problemet:
n8n Workflow Template: Google Sheets + Gemini för snabbare produktcopy
flowchart LR
subgraph sg0["On form submission Flow"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/httprequest.dark.svg' width='40' height='40' /></div><br/>Google Search"]
n1@{ icon: "mdi:code-braces", form: "rounded", label: "Extract Competitor Data", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Basic LLM Chain", pos: "b", h: 48 }
n3@{ icon: "mdi:brain", form: "rounded", label: "Google Gemini Chat Model", pos: "b", h: 48 }
n4@{ icon: "mdi:database", form: "rounded", label: "Google Sheets", pos: "b", h: 48 }
n5["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/form.svg' width='40' height='40' /></div><br/>On form submission"]
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Edit Fields", pos: "b", h: 48 }
n7["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Code Formatting"]
n6 --> n0
n0 --> n1
n2 --> n7
n7 --> n4
n5 --> n6
n1 --> n2
n3 -.-> n2
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n5 trigger
class n2 ai
class n3 aiModel
class n4 database
class n0 api
class n1,n7 code
classDef customIcon fill:none,stroke:none
class n0,n5,n7 customIcon
Utmaningen: produkttexter med konkurrentkontekst tar evigheter
Att skriva produkttext är inte bara “skriv ett stycke”. Först letar du upp konkurrerande listningar, skummar titlar och utdrag, gissar vilka nyckelord som riktas in, och försöker sedan göra om det röriga underlaget till något original som ändå matchar sökintentionen. Gör du det en gång är det irriterande. Gör du det för 20 SKU:er blir det hela veckan. Och det värsta är de mentala växlingarna: research-hjärna, SEO-hjärna, varumärkesröst-hjärna, formatering-för-ett-ark-hjärna. När du väl är klar är texten inkonsekvent och du har fortfarande inget organiserat för resten av teamet.
Det summerar snabbt. Här är var det oftast faller isär i verkligheten.
- Du kopierar konkurrenttitlar till anteckningar och tappar sedan kontexten när du väl skriver beskrivningen.
- Nyckelord blir en eftertanke, så du skriver om samma listning om och om igen för att “göra den mer SEO”.
- Kvaliteten varierar beroende på vem som skrev och hur stressad personen var den dagen.
- Inget hamnar i ett felfritt system för källdata, så godkännanden och överlämningar blir Slack-meddelanden och skärmbilder.
Lösningen: Google Search + Gemini skriver och loggar dina texter
Det här flödet börjar med en enda produkttitel som skickas in via ett enkelt formulär och använder sedan webbsök i realtid för att hämta konkurrentkontekst innan Gemini skriver något. n8n skickar din produkttitel till Google Custom Search, samlar in toppresultaten (titlar, utdrag och andra användbara signaler) och kör ett steg för “konkurrentinsikter” för att extrahera mönster du annars skulle behöva hitta manuellt. Den destillerade konkurrentkonteksten matas in i en Gemini-baserad skrivkedja som genererar sökoptimerad metadata (titel, beskrivning, nyckelord) plus en marknadsvänlig produktbeskrivning. Till sist delar flödet upp AI-utdata i felfria avsnitt och sparar allt i Google Sheets så att det direkt går att granska och är redo för nästa steg.
Flödet startar från formulärinmatningen, mappar din input till en sökfråga och omvandlar sedan sökresultaten till strukturerade anteckningar om “vad konkurrenterna gör”. Därifrån genererar Gemini den slutliga texten och n8n loggar resultatet i ditt kalkylark (och kan även skicka det via e-post eller in i ett dokument, beroende på hur du bygger ut det).
Vad som förändras: före vs. efter
| Det här elimineras | Effekten du kommer att se |
|---|---|
|
|
Effekt i verkligheten
Säg att du behöver text för 10 nya produkter den här veckan. Manuellt kanske du lägger cirka 20 minuter på konkurrentresearch och ytterligare 25 minuter på att skriva titel, beskrivning och nyckelord, vilket blir ungefär 7 timmar totalt. Med det här flödet tar det en minut att skicka in en titel, och sökningen + Gemini-genereringen blir oftast klar på några minuter medan du gör något annat. I praktiken är du tillbaka i granskning och lätt redigering, så de där 7 timmarna blir ofta omkring 2 timmar.
Krav
- n8n-instans (testa n8n Cloud gratis)
- Självhostat alternativ om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att logga titlar, beskrivningar, nyckelord.
- Google Custom Search API för att hämta konkurrentresultat från sök.
- Åtkomst till Google Gemini (via n8n LangChain) för textgenerering.
- Google API-nyckel + sökmotor-ID (CX) (hämta dem i Google Cloud Console och Programmable Search Engine).
Svårighetsgrad: Nybörjare. Du kopplar konton, klistrar in API-nycklar och matchar dina kolumner i arket mot fälten i flödet.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet i workflowet
Formulärinlämningen triggar allt. Du anger en produkttitel (och eventuella extra fält du vill lägga till senare), och n8n mappar sedan den inputen till det format resten av flödet förväntar sig.
Konkurrentkontekst hämtas från webben. En HTTP-request går mot Google Custom Search med din API-nyckel och CX, och returnerar en uppsättning relevanta konkurrentresultat kopplade till den produktidén.
Konkurrentinsikter extraheras, sedan skriver Gemini. Ett Function/Code-steg tar fram användbara mönster från sökresultaten, och LangChain + Gemini-noderna använder detta för att generera en titel, beskrivning och uppsättning nyckelord som passar marknaden och samtidigt håller din tonalitet.
Allt hamnar i Google Sheets. Flödet delar upp AI-svaret i felfria avsnitt och lägger till en ny rad i ditt ark så att du kan granska utkast, tilldela redigeringar och behålla en spårbar historik.
Du kan enkelt ändra sökfrågan eller AI-prompten för att matcha din kategori, ton och SEO-regler. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera formulärtriggern
Konfigurera intagsformuläret som startar arbetsflödet och fångar produkttiteln som används i research och utkast.
- Lägg till och öppna Form Intake Trigger.
- Ställ in Form Title på
Product Research. - Under Form Fields säkerställer ni att det finns ett obligatoriskt fält med etiketten title och platshållaren
Enter product title. - Spara noden så att webhook-formuläret blir tillgängligt.
Steg 2: anslut webbsöktjänsten
Konfigurera Google Custom Search API-anropet som hämtar konkurrenttitlar och beskrivningar.
- Öppna Web Search Query.
- Ställ in URL på
https://www.googleapis.com/customsearch/v1. - I Query Parameters ställer ni in key till värdet för er API-nyckel (ersätt
[CONFIGURE_YOUR_API_KEY]). - Ställ in cx till ert Custom Search Engine-ID (ersätt
[YOUR_ID]). - Ställ in q på
=intitle:"{{ $json.title }}" (pricing OR features OR buy OR software) -medium.com -quora.com -youtube.com -linkedin.com.
Steg 3: konfigurera datamappning och bearbetning av konkurrentinsikter
Mappa inkommande formulärfält och förbered en strukturerad prompt från sökresultaten till AI-modellen.
- Öppna Map Input Fields och lägg till en tilldelning för title med värdet
={{ $json.title }}. - Öppna Derive Rival Insights och behåll Function Code intakt för att aggregera titlar, beskrivningar och nyckelord till chatInput.
- Verifiera körflödet: Form Intake Trigger → Map Input Fields → Web Search Query → Derive Rival Insights.
Steg 4: konfigurera AI-utkast och tolkning av innehåll
Generera SEO-metadata och produkttext med Gemini och dela sedan upp outputen i strukturerade rader.
- Öppna LLM Content Composer och granska prompten i Message för att säkerställa att den matchar era krav på output-format.
- Öppna Gemini Chat Engine och ställ in Model Name på
models/gemini-2.0-flash. - Credential Required: anslut era googlePalmApi-uppgifter i Gemini Chat Engine.
- Bekräfta att Gemini Chat Engine är ansluten som språkmodell för LLM Content Composer (uppgifterna läggs till på överordnad nod).
- Öppna Parse Content Sections och behåll JavaScript Code som delar upp AI-outputen i raderna
seo_meta_dataochproduct_content.
SEO Meta Data: och Product Content:. Håll AI-promptens format konsekvent för att undvika tomma fält.Steg 4: konfigurera output till Google Sheets
Lagra de tolkade raderna för SEO och produktinnehåll i ett kalkylark för uppföljning och publicering.
- Öppna Update Sheets Log.
- Credential Required: anslut era googleApi-uppgifter.
- Ställ in Authentication på
serviceAccount. - Ställ in Operation på
appendOrUpdate. - Ange Document ID och Sheet Name för ert loggark.
- Behåll kolumnmappningen i autoMapInputData så att de tolkade fälten skrivs till
type,title,description,keywords,product_titleochproduct_description.
Steg 5: testa och aktivera ert arbetsflöde
Validera flödet från start till mål och sätt automationen i produktion.
- Klicka på Execute Workflow och skicka in en testpost till Form Intake Trigger.
- Bekräfta att Web Search Query returnerar resultat och att Derive Rival Insights producerar en
chatInput-payload. - Verifiera att LLM Content Composer returnerar den formaterade outputen för SEO och produktinnehåll, och att Parse Content Sections delar upp den i två rader.
- Kontrollera Update Sheets Log för två tillagda/uppdaterade rader: en för
seo_meta_dataoch en förproduct_content. - När allt ser korrekt ut, slå på arbetsflödet Active för att aktivera körningar i produktion.
Se upp för
- Inloggningsuppgifter för Google Custom Search kan löpa ut eller sakna åtkomst. Om webbsökningen ger fel, kontrollera begränsningarna för din Google Cloud API-nyckel och bekräfta att CX (sökmotor-ID) är korrekt.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din varumärkesröst tidigt, annars kommer du att redigera utdata i all oändlighet.
Vanliga frågor
Cirka 20 minuter om din API-åtkomst och ditt ark är redo.
Ja. Du kommer mest att klistra in inloggningsuppgifter och matcha fält mot kolumnerna i ditt Google Sheet.
Ja. n8n har ett gratis självhostat alternativ 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å räkna med användning av Google Custom Search och kostnader för Gemini API.
Två alternativ: n8n Cloud (hanterad tjänst, enklast att komma igång) eller självhosting på en VPS. För självhosting är Hostinger VPS prisvärd och hanterar n8n bra. Självhosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Det kan du. De flesta ändringar sker i Web Search Query-requesten (för att justera vad “konkurrenter” betyder i din nisch) och i prompten i LLM Content Composer (för att låsa ton, längd och obligatoriska fält). Vanliga justeringar är att lägga till dina varumärkesriktlinjer, tvinga fram ett strikt utdataformat för enklare parsning och skriva till flera Sheets-flikar för olika produktlinjer. Om du vill ha godkännanden kan du lägga till ett e-poststeg eller ett Google Docs-utkaststeg innan du loggar “slutliga” rader.
Oftast handlar det om ett utgånget Google OAuth-samtycke eller att kalkylarket inte är delat med det anslutna Google-kontot. Återanslut Google Sheets i n8n och bekräfta sedan att Sheet ID och fliknamn matchar det noden förväntar sig. Om det bara misslyckas ibland kan du också slå i API-kvoter när du kör många produkter i en batch.
I n8n Cloud beror kapaciteten på planens antal körningar per månad, och självhosting tar bort det taket (din server blir gränsen). Rent praktiskt skalar det här flödet bra eftersom varje körning är en produkttitel, en sökrequest, en AI-generering och en uppdatering av arket. Om du bearbetar stora batcher är den verkliga begränsningen oftast Google Custom Search-gränser eller AI:ns rate limits, inte n8n i sig.
Ofta, ja – särskilt om du vill ha konkurrentresearch, parsning och strukturerad utdata i ett och samma flöde. n8n hanterar flerstegslogik, kodbaserad parsning och förgreningar utan att varje “liten justering” blir ännu en betald task. Zapier eller Make kan gå snabbare för väldigt enkla “formulär → ark”-automationer, men den här tjänar på tightare kontroll över sökanropet och AI-formateringen. Om du väljer mellan verktyg: mappa hela processen först – research, generering, granskning, lagring och överlämning. Prata med en automationsexpert om du vill ha ett par extra ögon.
När detta väl är på plats slutar “ny produkttext” att vara ett researchprojekt och blir en enkel granskningsuppgift. Det är ärligt talat den förflyttning de flesta team behöver.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.