Din prisbevakning ser bra ut – tills den inte gör det. Ett kalkylark fullt av ”senaste priser” blir snabbt en röra av ändringar, missade prissänkningar och halvt pålitliga siffror som du klistrade in i all hast.
E-handelschefer brukar känna det först, men marknadsanalytiker och snabbfotade grundare kör in i samma vägg. Den här automatiseringen för Sheets Gmail alerts håller historiken felfri och mejlar dig bara när dina regler faktiskt träffar.
Du får se hur den hämtar Google Shopping-priser med Bright Data, uppdaterar Google Sheets, jämför nytt mot gammalt och skickar Gmail-aviseringar i kontrollerade batcher så att du inte blir spammad.
Så här fungerar automatiseringen
Se hur den löser problemet:
n8n Workflow Template: Google Sheets + Gmail: prisvarningar som håller
flowchart LR
subgraph sg0["Scheduled Run Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Scheduled Run Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Retrieve Shopping URLs", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Scrape Product Details", pos: "b", h: 48 }
n3@{ icon: "mdi:database", form: "rounded", label: "Write Latest Prices", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Map Price Fields", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Detect Price Drop", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Iterate Dropped Items", pos: "b", h: 48 }
n7@{ icon: "mdi:message-outline", form: "rounded", label: "Dispatch Price Alert Email", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "Delay Between Alerts", pos: "b", h: 48 }
n0 --> n1
n5 --> n6
n4 --> n5
n1 --> n2
n6 --> n7
n7 --> n8
n3 --> n4
n8 --> n6
n2 --> n3
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 n0 trigger
class n5 decision
class n1,n3 database
Utmaningen: prisbevakning som blir till tidsödande manuellt arbete
Att manuellt kontrollera priser på Google Shopping är en sådan uppgift som ser ”snabb” ut på papper och sedan i det tysta äter upp din vecka. Du öppnar en produktlänk, väntar på sidan, letar upp priset, klistrar in det i ett kalkylark och hoppas att du inte råkade ta en variant, ett paket eller en säljarlista som inte matchar gårdagens. Sedan upprepar du det för dussintals URL:er. Det värsta är den mentala belastningen: du registrerar inte bara en siffra – du bedömer vad som ändrats, vad som spelar roll och om någon ska få en avisering.
Det summerar sig snabbt. Och felen blir fler och fler.
- Att kontrollera 30–100 produkter för hand kan ta runt 2 timmar en ”snabb” morgon.
- Copy-paste-spårning sabbar din historik, så du kan inte lita på trender när du behöver dem.
- Ad hoc-aviseringar blir snabbt bullriga, vilket gör att riktiga prissänkningar ignoreras i inkorgen.
- Prissidor ändrar ofta layout, så det som fungerade förra månaden skapar plötsligt fel.
Lösningen: daglig övervakning av Google Shopping med smarta Gmail-aviseringar
Det här arbetsflödet kör en daglig priskontroll (schemalagd till kl. 09:00 som standard), hämtar dina bevakade Google Shopping-URL:er från Google Sheets och tar in aktuella produktuppgifter via Bright Datas Google Shopping-dataset. Efter att den skrivit tillbaka de senaste siffrorna till arket mappar den fälten till ett konsekvent format och jämför det nya priset mot det gamla priset som redan finns lagrat. Bara de artiklar som matchar din aviseringsregel går vidare. Till sist skickar Gmail ett mejl för varje kvalificerad artikel, med en inbyggd fördröjning så att du kan bevaka en stor lista utan att bomba inkorgen eller slå i leverantörsgränser.
Arbetsflödet startar enligt schema, läser URL:er från Google Sheets och berikar dem med livepriser via Bright Data. Efter uppdateringen filtrerar det på de exakta prisvillkor du bryr dig om och skickar sedan Gmail-aviseringar i batcher, med en väntetid mellan varje meddelande.
Vad som ändras: före vs. efter
| Det här tar bort | Effekten du märker |
|---|---|
|
|
Effekt i verkligheten
Säg att du bevakar 60 produkter för konkurrentanalys. Manuellt kan du räkna med cirka 2 minuter per produkt för att öppna sidan, bekräfta variant och uppdatera Google Sheets – ungefär 2 timmar varje morgon du gör det. Med den här automatiseringen lägger du cirka 10 minuter en gång på att lägga in URL:er i arket och definiera din aviseringsregel. Därefter uppdaterar körningen kl. 09:00 arket och mejlar dig bara de poster som kvalificerar, medan du fortsätter med riktigt arbete.
Krav
- n8n-instans (prova n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för produktlistan och prishistoriken
- Gmail för att skicka mejl med prisaviseringar
- Bright Data-konto (hämta det från din Bright Data-dashboard)
Kunskapsnivå: Medel. Du kopplar konton, sätter kolumner i arket och justerar en filterregel.
Behöver du hjälp att implementera detta? Prata med en automationsexpert (gratis 15-minuters konsultation).
Flödet i arbetsflödet
En daglig schemalagd körning drar igång allt. Som standard triggas den kl. 09:00, så du får färska priser tidigt utan att någon behöver komma ihåg det.
Din Google Sheets-spårning blir sanningskällan. Arbetsflödet läser listan med Google Shopping-produkt-URL:er (och eventuella befintliga värden för ”gammalt pris”) så att det vet vad som ska kontrolleras och vad som ska jämföras mot.
Bright Data hämtar aktuella produktdetaljer. För varje URL hämtar den dagens pris plus nyttig metadata som produktnamn, betyg, recensioner och en tidsstämpel, och skriver sedan tillbaka de senaste värdena till Google Sheets.
Prisregler avgör vem som får ett mejl. Ett enkelt jämförelsefilter avgör vilka artiklar som ”räknas” i dag (prissänkning, prishöjning, valfri förändring eller till och med stabilt pris om du vill ha en signal om konsekvens). Kvalificerade artiklar hanteras sedan i batcher och skickas via Gmail med en väntetid mellan aviseringarna.
Du kan enkelt ändra aviseringsvillkoret så att det matchar dina inköpsregler utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: Konfigurera den schemalagda triggern
Det här arbetsflödet startar enligt ett tidsschema för att kontrollera prisförändringar på produkter.
- Lägg till och öppna Scheduled Run Trigger.
- Ställ in schemaregeln så att den körs med
triggerAtHour: 9i inställningarna för Interval. - Anslut Scheduled Run Trigger till Retrieve Shopping URLs för att följa exekveringsflödet.
Steg 2: Anslut Google Sheets
Dessa noder läser shopping-URL:er och skriver tillbaka de senast skrapade priserna.
- Öppna Retrieve Shopping URLs och ställ in Document till
[YOUR_ID]och Sheet tillData(gid0). - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Retrieve Shopping URLs.
- Öppna Write Latest Prices och låt Operation vara inställd på
update. - I Write Latest Prices, mappa kolumner till uttryck: Ratings →
{{ $json.rating }}, Reviews →{{ $json.reviews_count }}, New Price →{{ $json.item_price }}, Product URL →{{ $json.url }}, Product name →{{ $json.title }}. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Write Latest Prices.
⚠️ Vanligt misstag: Ersätt [YOUR_ID] med det faktiska dokument-ID:t för Google Sheets i båda Google Sheets-noderna.
Steg 3: Konfigurera skrapning och prisjämförelse
Det här avsnittet skrapar produktdetaljer, mappar prisfält och identifierar prissänkningar.
- Öppna Scrape Product Details och ställ in URLs till
=[{"url":"{{ $json['Product URL'] }}"}]. - Ställ in Resource till
webScrapperoch välj datasetet[YOUR_ID](t.ex.Google Shopping). - Inloggningsuppgifter krävs: Anslut era brightdataApi-inloggningsuppgifter i Scrape Product Details.
- Öppna Map Price Fields och ställ in old_price till
{{ $('Retrieve Shopping URLs').item.json['New Price'] }}och new_price till{{ $json['New Price'] }}. - Konfigurera Detect Price Drop för att jämföra leftValue
{{ parseFloat($json.new_price.replace(/[$,]/g, '')) }}med rightValue{{ parseFloat($json.old_price.replace(/[$,]/g, '')) }}. - Behåll Iterate Dropped Items som en Split In Batches-nod så att aviseringar hanteras post för post.
Tips: Exekveringsflödet är linjärt: Retrieve Shopping URLs → Scrape Product Details → Write Latest Prices → Map Price Fields → Detect Price Drop → Iterate Dropped Items.
Steg 4: Konfigurera e-postaviseringar och begränsning
Skicka aviseringar för produkter med prissänkning och vänta mellan e-postmeddelanden för att undvika spam.
- Öppna Dispatch Price Alert Email och ställ in Send To till
[YOUR_EMAIL]. - Ställ in Subject till
Hurry UP Price is Gonna Upoch Message till=Hey, You are missing the opportunity to buy the product on the bottom line. Product URL: {{ $('Write Latest Prices').item.json['Product URL'] }}. - Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter i Dispatch Price Alert Email.
- Öppna Delay Between Alerts och ställ in Unit till
minutes(justera väntetiden vid behov). - Säkerställ att Dispatch Price Alert Email ansluter till Delay Between Alerts, och sedan tillbaka till Iterate Dropped Items för loopning.
⚠️ Vanligt misstag: Ersätt [YOUR_EMAIL] med en riktig mottagaradress innan ni testar.
Steg 5: Testa och aktivera ert arbetsflöde
Verifiera hela flödet och aktivera därefter schemalagda körningar.
- Klicka på Execute Workflow för att köra ett manuellt test som startar från Scheduled Run Trigger.
- Bekräfta att Write Latest Prices uppdaterar Google-arket med skrapad data.
- Verifiera att Dispatch Price Alert Email skickar ett e-postmeddelande när Detect Price Drop släpper igenom poster.
- Slå på arbetsflödet som Active för att aktivera schemalagd övervakning kl. 9:00.
Se upp för
- Bright Data-uppgifter kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera först datasetåtkomst och API-inställningar i din Bright Data-dashboard.
- Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att redigera utdata i all evighet.
Vanliga frågor
Cirka 30 minuter om dina konton är redo.
Ja, men du vill ha någon som är bekväm med att koppla OAuth-konton. Den enda ”logiken” är att justera prisfilterregeln och se till att ditt Google Sheet har rätt kolumner.
Ja. n8n har ett gratis alternativ 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å räkna med Bright Data-kostnader för datasetanvändning per produktkontroll.
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 dig obegränsade körningar men kräver grundläggande serverhantering.
Börja med att ändra filtret ”Detect Price Drop” så att det matchar din regel (prissänkningar, prishöjningar, valfri förändring eller en tröskel som ”under ett målpris”). Du kan också justera ”Dispatch Price Alert Email” för att lägga till mottagare, ändra ämnesraden eller inkludera extra fält som betyg och antal recensioner. Om du vill ha annan data i arket, justera vad du skriver i ”Write Latest Prices” och hur du normaliserar det i ”Map Price Fields”. Slutligen kan du öka batchstorleken i ”Iterate Dropped Items” om du bevakar en stor katalog och din Bright Data-plan klarar det.
Oftast beror det på en utgången Google OAuth-anslutning eller att behörigheterna för arket har ändrats. Återanslut Google Sheets-uppgiften i n8n och bekräfta sedan att kalkylarket är delat med samma Google-konto och att arket/flikens ID:n matchar det som arbetsflödet förväntar sig.
De flesta uppsättningar hanterar utan problem cirka 100 produkter per dag, och många kör några hundra beroende på din Bright Data-plan och hur aggressiv batchningen är. Om du hostar n8n själv finns ingen körningsgräns, men din server och leverantörers begränsningar spelar fortfarande roll. Gmails sändningsgränser kan också bli din flaskhals, vilket är anledningen till att det här flödet sprider ut aviseringarna med en fördröjning.
Ofta, ja. Det här arbetsflödet bygger på strukturerad skrapning, fältmappning, filterregler, batchning och en kontrollerad e-postloop, vilket n8n hanterar snyggt utan att varje gren blir en dyrare plan. Zapier eller Make kan vara enklare för enkla ”om X så mejla mig”-fall, men prisbevakning växer snabbt till specialfall (format, varianter, rate limits och historik). n8n ger dig också möjligheten att hosta själv, vilket är praktiskt när du kör dagliga kontroller. Om du är osäker kan du prata med en automationsexpert så hjälper vi dig att välja utifrån volym och risk.
När det här väl rullar håller sig arket aktuellt och inkorgen förblir tyst tills något verkligen spelar roll. Ärligt talat är det hela poängen.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.