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

Bright Data till Google Sheets, rankning dagligen

Rickard Andersson Partner, Nodenordic.se

Manuella rankkontroller är den värsta sortens “viktigt”. De är repetitiva, lätta att göra fel i och stjäl tyst tid från arbete som faktiskt driver trafik.

SEO-ansvariga känner det på rapportdagar. Byråägare känner det när kunder frågar: “Några uppdateringar?” Marknadsansvariga som hanterar fem prioriteringar samtidigt känner det också. Den här rank tracking-automationen för en daglig logg i Google Sheets så att du slipper göra samma Google-sökningar om och om igen.

Du sätter upp ett n8n-workflow som hämtar dina sökord från ett ark, kontrollerar Google via Bright Datas SERP API, skriver tillbaka resultaten till en flik som heter “Results” och mejlar sedan en korrekt formaterad HTML-sammanfattning.

Så fungerar den här automationen

Här är hela workflowet du kommer att sätta upp:

n8n Workflow Template: Bright Data till Google Sheets, rankning dagligen

Varför det här spelar roll: dagliga rankkontroller slösar verklig tid

Om du spårar rankningar manuellt kan du rutinen. Öppna ett inkognitofönster, sök på ett sökord, scrolla, kisa, klicka runt och klistra sedan in “placeringen” i ett kalkylark (och hoppas att du inte råkade kopiera gårdagens rad). Gör det för 20 sökord och plötsligt har du lagt större delen av förmiddagen. Än värre: manuella kontroller är inte konsekventa. Plats, personalisering och “sökte jag på exakt rätt fras?” smyger sig in. Och när någon ber om en trendlinje inser du att du aldrig loggat historiken pålitligt, så du kan inte förklara vad som förändrats.

Det eskalerar snabbt. Här är var det vanligtvis faller isär i riktiga team.

  • Rankkontroller sker “när någon kommer ihåg det”, så du får luckor som förstör trendanalysen.
  • Kopiera/klistra in-loggning skapar små fel som blir pinsamma kunduppdateringar.
  • Flera domäner eller platser gör processen oändlig, vilket gör att du spårar färre sökord än du borde.
  • Intressenter vill ha en snygg mejlsammanfattning, men du fastnar med att skärmdumpa SERP:ar eller skicka stökiga kalkylark.

Det du bygger: Bright Data SERP-kontroller loggade i Sheets

Det här workflowet gör rank tracking till ett repeterbart dagligt system. Det startar via en schematrigger (var 24:e timme) eller när du klickar på “Test workflow” i n8n. Först läser det en Google Sheets-flik med sökorden du bryr dig om, tillsammans med måldomänen för varje sökord. Därefter formaterar det varje sökord till en URL-vänlig fråga (mellanslag blir +) och bearbetar listan i batcher så att varje sökord får sin egen SERP-förfrågan. För varje sökord anropar n8n Bright Datas SERP API, tar emot rå HTML och parsar ut icke-Google-länkarna för att hitta var din måldomän visas. Till sist lägger den till en tidsstämplad rad i ett “Results”-ark och mejlar en HTML-tabellsammanfattning via Gmail.

Workflowet utgår från Google Sheets, som blir din enkla kontrollpanel. Bright Data hämtar Google SERP-resultaten och n8n extraherar placering, URL och kontexten “hur många resultat som kontrollerades”. Sedan levererar Gmail rapporten så att du kan vidarebefordra den till en kund eller använda den i en intern uppdatering.

Det du bygger

Förväntade resultat

Säg att du spårar 30 sökord för en domän och kontrollerar rankningar fem dagar i veckan. Manuellt tar även “snabba” kontroller cirka 2 minuter styck när du väl söker, skannar och loggar, vilket blir runt 1 timme per dag. Med det här workflowet tar det kanske 10 minuter att lägga in sökorden i Google Sheets en gång, och sedan är din dagliga insats i princip noll medan n8n kör och mejlar tabellen. Du får tillbaka ungefär 5 timmar varje vecka, plus en riktig historik du kan visualisera.

Innan du börjar

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för egen drift om du föredrar det (Hostinger fungerar bra)
  • Bright Data för SERP API-åtkomst till Google-resultat
  • Google Sheets för att lagra sökord och spara rankningshistorik
  • Bright Data API-token (hämta den i din Bright Data-dashboard)

Kunskapsnivå: Medel. Du klistrar in en API-token, kopplar Google och säkerställer att dina Sheets-kolumner matchar vad workflowet förväntar sig.

Vill du att någon bygger detta åt dig? Prata med en automationsexpert (gratis 15-minuters konsultation).

Steg för steg

Ett dagligt schema (eller en manuell körning) startar allt. Du kan köra det vid begäran för att testa ändringar och sedan låta 24-timmarsschemat sköta de löpande kontrollerna.

Din sökordslista hämtas från Google Sheets. Workflowet läser rader som innehåller ett sökord och en domän och formaterar sedan om varje sökord så att det är säkert att använda i en SERP-förfrågan.

Bright Data anropas en gång per sökord, i batcher. n8n loopar igenom din lista, begär Google-resultatens HTML via Bright Datas SERP API (med standardplats i USA) och parsar sedan länkar för att hitta din måldomän och rankningsposition.

Resultaten lagras och rapporteras automatiskt. Varje körning lägger till en ny rad i din “Results”-flik för historik, bygger sedan en HTML-tabell för mejlet och skickar den via Gmail till de mottagare du väljer.

Du kan enkelt ändra platsparametern (gl=) för att köra kontroller för ett annat land 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

Konfigurera arbetsflödets startpunkter så att ni kan köra det vid behov eller enligt schema.

  1. Lägg till noden Manual Execution Start för att möjliggöra manuella körningar för testning.
  2. Lägg till noden Timed Schedule Trigger för automatiska dagliga körningar.
  3. I Timed Schedule Trigger, behåll intervallet inställt på hours och 24 för att köra en gång per dag.
  4. Anslut både Manual Execution Start och Timed Schedule Trigger till Fetch Keyword Sheet så att valfri trigger startar samma dataflöde.

Steg 2: anslut Google Sheets

Konfigurera Google Sheets-noderna som läser nyckelord och skriver rankningsresultat.

  1. Öppna Fetch Keyword Sheet och ställ in Document ID till ={{ $credentials.googleSheetDocId }}.
  2. Ställ in Sheet Name i Fetch Keyword Sheet till Keyword.
  3. Autentiseringsuppgifter krävs: Anslut era googleSheetsOAuth2Api-autentiseringsuppgifter i Fetch Keyword Sheet.
  4. Öppna Append Rank Records och ställ in Operation till append.
  5. Ställ in Document ID till ={{ $credentials.googleSheetDocId }} och Sheet Name till Results.
  6. Mappa kolumner i Append Rank Records med uttryck som ={{ $json.rank }}, ={{ $json.url }} och ={{ $('Fetch Keyword Sheet').item.json.Domain }}.
  7. Autentiseringsuppgifter krävs: Anslut era googleSheetsOAuth2Api-autentiseringsuppgifter i Append Rank Records.

Steg 3: sätt upp nyckelordsbearbetning

Transformera nyckelordsdata och förbered den för batchning och efterföljande rankningskontroller.

  1. I Format Keyword Terms, behåll JavaScript-koden som skapar transformedKeyword genom att ersätta mellanslag med +.
  2. Anslut Fetch Keyword SheetFormat Keyword TermsIterate Keyword Batches för att skicka de transformerade nyckelorden till batchningen.
  3. Konfigurera Iterate Keyword Batches för att styra batchstorlek vid behov (standardvärdena fungerar för små listor).
  4. Iterate Keyword Batches skickar utdata till både Build Email Layout och Retrieve Search Ranks parallellt.

Tips: Håll nyckelordsraderna i bladet Keyword konsekventa med fält som Keyword och Domain för att undvika saknade data i efterföljande noder.

Steg 4: konfigurera hämtning och tolkning av rankning

Begär SERP-data och extrahera rankningspositioner för måldomänen.

  1. I Retrieve Search Ranks, ställ in URL till https://api.brightdata.com/request och Method till POST.
  2. Ställ in JSON Body till ={"zone": "serp_n8n","url": "https://www.google.com/search?q={{ $json.transformedKeyword }}&gl=US", "format": "raw"} .
  3. Aktivera Send Headers och lägg till Authorization med värdet Bearer {{$credentials.brightDataApiKey}}.
  4. I Determine Rank Position, behåll koden som läser $('Fetch Keyword Sheet').first().json.Domain och returnerar rank, url och checkedAt.
  5. Anslut Retrieve Search RanksDetermine Rank PositionAppend Rank Records.

Autentiseringsuppgifter krävs: Lägg till Bright Data-autentiseringsuppgifter för att stödja {{$credentials.brightDataApiKey}} som används i Retrieve Search Ranks.

Steg 5: konfigurera utdataåtgärder

Skapa e-postsammanfattningen och skicka den efter batchbearbetningen.

  1. I Build Email Layout, behåll JavaScript-koden som bygger HTML-tabellen och returnerar emailBody.
  2. Anslut Build Email LayoutDispatch Email Update för att skicka sammanfattningsmejlet.
  3. I Dispatch Email Update, ställ in Send To till ={{ $credentials.recipientEmail }}.
  4. Ställ in Message till ={{ $json.emailBody }} och Subject till Ranked.
  5. Autentiseringsuppgifter krävs: Anslut era gmailOAuth2-autentiseringsuppgifter i Dispatch Email Update.

Tips: Post-it-notisen Flowpast Branding är informativ och påverkar inte körningen.

Steg 6: testa och aktivera ert arbetsflöde

Validera dataflödet och aktivera schemalagd körning.

  1. Klicka på Execute WorkflowManual Execution Start för att köra ett fullständigt test.
  2. Bekräfta att Append Rank Records lägger till nya rader i bladet Results med rankningsdata.
  3. Verifiera att Dispatch Email Update skickar ett mejl som innehåller en tabell med nyckelord och rankningar.
  4. När allt är verifierat, slå på arbetsflödet till Active för att aktivera Timed Schedule Trigger för daglig spårning.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Felsökningstips

  • Åtkomst till Google Sheets kan misslyckas om det anslutna Google-kontot tappar behörighet till filen. Om det blir fel: öppna Google Sheets-noden i n8n och välj kalkylarket igen först.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder misslyckas på grund av tomma svar.
  • Bright Data-förfrågningar kan ge oväntad HTML när rate limits eller platsinställningar ändras. Kontrollera svaret i HTTP Request-noden i n8n:s körloggar och bekräfta sedan din Authorization-token och gl=-landsparametern.

Snabba svar

Hur lång tid tar det att sätta upp den här rank tracking-automationen?

Cirka 30 minuter om dina Sheets och ditt Bright Data-konto är redo.

Krävs kodning för den här rank tracking-automationen?

Nej. Du kopplar konton, klistrar in en token och pekar workflowet mot rätt Google Sheet.

Är n8n gratis att använda för det här rank tracking-automations-workflowet?

Ja. n8n har ett gratis alternativ för egen drift 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 in kostnader för Bright Datas SERP API baserat på hur många sökord du kontrollerar per dag.

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

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

Kan jag anpassa det här rank tracking-automations-workflowet för andra användningsfall?

Ja, och det är vanligt. Du kan ändra land genom att redigera Bright Data-förfrågnings-URL:en i HTTP Request-noden “Retrieve Search Ranks” (gl=-parametern), och du kan justera vad som loggas genom att uppdatera kodsteget “Determine Rank Position”. Många team lägger till extra kolumner som “enhet”, “anteckningar” eller “kampanj”, eller skickar alerts till Slack när ett sökord faller ur topp 10.

Varför misslyckas min Bright Data-anslutning i det här workflowet?

Oftast är det en ogiltig eller utgången API-token i Authorization-headern i HTTP Request-noden. Kontrollera körningsutdata för 401/403-fel, skapa en ny token i Bright Data och uppdatera den sedan i n8n. Om svaret är “lyckat” men HTML:en ser konstig ut, bekräfta dina SERP-parametrar (inklusive gl=) och säkerställ att du inte slår i användningsgränser. Ibland är problemet helt enkelt att din arbetsplatsbrandvägg blockerar utgående förfrågningar, vilket syns som timeouts i körloggarna.

Vilken volym kan det här rank tracking-automations-workflowet hantera?

På n8n Cloud beror den praktiska gränsen på din körkvot och hur många sökord du kontrollerar dagligen. Om du kör egen drift finns ingen hård gräns för körningar, men din server och Bright Datas användningsgränser spelar fortfarande roll. För de flesta små team är några hundra sökord per dag realistiskt så länge du behåller batching aktiverat och inte mejlar en massiv tabell till 20 mottagare vid varje körning.

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

Ofta, ja. Det här workflowet bygger på loopar, HTML-parsning och egen logik, och det blir klumpigt (eller dyrt) i verktyg som är byggda kring enkla “trigger → action”-zaps. n8n hanterar batching snyggt och du kan köra egen drift för att undvika avgifter per task när du skalar sökordsvolymen. Zapier eller Make kan fortfarande funka om du bara behöver en minimal rapport och aldrig tror att du växer förbi en handfull sökord. Om du är osäker: prata med en automationsexpert så får du en rak rekommendation utifrån dina rapportbehov.

När det här väl rullar blir rankningar bakgrundsdata i stället för ett återkommande måste. Öppna arket, skumma mejlet och gå tillbaka till jobbet som faktiskt förbättrar siffrorna.

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