Din konkurrentbevakning ska inte bo i en rörig blandning av webbläsarflikar, skärmdumpar och “jag klistrar in det sen”-anteckningar. Men det är ofta så det blir. En missad kopiera-klistra, en felaktig landsinställning, och din “SERP-rapport” blir en gissningslek.
SEO-ansvariga känner av det när rapportdagen kommer. Marknadschefer känner av det när de behöver svar snabbt. Byråägare känner av det när en kund frågar: “Har vi rört oss den här veckan?” Den här automatiseringen för SERP-rapportering hämtar rankingar till Google Sheets så att du kan jämföra sökord och länder utan manuellt slit.
Nedan ser du exakt vad workflowet gör, vad du får ut av det och vad du ska hålla koll på när du kopplar in Bright Data och Sheets.
Så fungerar automatiseringen
Hela n8n-workflowet, från trigger till slutresultat:
n8n Workflow Template: Bright Data till Google Sheets: rensade SERP-rapporter
flowchart LR
subgraph sg0["When clicking 'Execute workflow' Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking 'Execute workf..", pos: "b", h: 48 }
n1@{ icon: "mdi:database", form: "rounded", label: "Get Keywords from Sheet", pos: "b", h: 48 }
n2["<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/>URL Encode Keywords"]
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Process Keywords in Batches", pos: "b", h: 48 }
n4["<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/>Fetch Google Search Results"]
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/code.svg' width='40' height='40' /></div><br/>Extract Competitor Data from.."]
n2 --> n3
n1 --> n2
n4 --> n5
n3 --> n4
n0 --> n1
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 n1 database
class n4 api
class n2,n5 code
classDef customIcon fill:none,stroke:none
class n2,n4,n5 customIcon
Problemet: SERP-spårning blir en copy-paste-operation
Att kolla rankingar för några få sökord är enkelt. Att göra det för flera länder, vecka efter vecka, är där det faller isär. Någon söker på Google, scrollar, kopierar URL:er, plockar titlar och klistrar sedan in i ett kalkylark som aldrig riktigt håller sig konsekvent. Även när du är noggrann slutar “samma” rapport med olika format, saknade rader och resultat som är svåra att jämföra. Den verkliga kostnaden är inte bara tiden. Det är den mentala belastningen av att veta att din data är skör, vilket gör besluten långsammare och mindre självsäkra.
Friktionen byggs på. Här är var det oftast brister.
- Du lägger ungefär 10 minuter per sökord och land på att bara samla in grundresultaten.
- Ditt ark får inkonsekventa kolumner, så analys blir till städarbete.
- Folk glömmer att ändra platsinställningar, vilket i tysthet snedvrider hela datasetet.
- När du behöver skala från 10 sökord till 50 så skalar processen helt enkelt inte med dig.
Lösningen: Bright Data SERP:ar till ett strukturerat Google Sheet
Det här workflowet gör SERP-insamling till ett repeterbart system. Du har ett enkelt inmatningsark som heter “Keywords” med två kolumner: sökordet och mållandets landskod (US, GB, DE och så vidare). När du kör workflowet läser n8n de raderna, URL-kodar varje sökterm på ett säkert sätt och processar dem i batchar så att du inte belastar API:et i onödan. För varje sökord–land-par anropar det Bright Datas SERP API för att hämta Googles resultat-HTML. Sedan extraherar ett parsingsteg konkurrentdetaljerna du faktiskt bryr dig om (domän/namn, URL, titel, utdrag) och förbereder korrekt formaterade fält för ditt kalkylark. Slutresultatet är ett ark “Competitor Results” fyllt med konsekventa rader som du kan filtrera, pivotera, visualisera och dela.
Workflowet startar med en manuell start i n8n. Det hämtar dina sökord och länder från Google Sheets, loopar igenom dem ett i taget (eller i små batchar), anropar Bright Data och skriver sedan strukturerade resultat tillbaka till Sheets som prydliga poster.
Det här får du: automatisering vs. resultat
| Vad workflowet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du följer 20 sökord i 3 länder. Manuellt, om det tar cirka 10 minuter att fånga resultat för ett sökord–land-par, blir det ungefär 10 timmar monotont arbete per körning. Med det här workflowet uppdaterar du arket “Keywords” en gång, klickar på kör och låter det jobba. Räkna med ungefär en minut per sökord (plus inbyggd väntan för att undvika rate limits), så du hamnar närmare en timmes hands-off-processning medan du gör annat.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för sökordsinput och sparade resultat
- Bright Data SERP API för att hämta Googles resultatsidor
- Bright Data API-token (hämta den i din Bright Data-dashboard)
Nivå: Medel. Du kopplar in behörigheter, bekräftar kolumner i arket och klistrar in en API-token.
Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Du kör det manuellt när du behöver färsk data. Workflowet börjar med en manuell trigger i n8n, så att du kan köra det på beställning (till exempel varje måndag innan rapportering).
Din sökordslista kommer från Google Sheets. n8n läser fliken “Keywords” och hämtar sökordstexten och den tvåbokstavskod som avgör var resultaten ska samlas in.
Varje sökord förbereds och processas i batchar. Söktermer URL-kodas så att tecken som “&” eller “/” inte skapar fel i anropen. Sedan loopar workflowet igenom poster med en batch-iterator, vilket är skillnaden mellan “funkar en gång” och “funkar varje vecka”.
Bright Data returnerar SERP-HTML och den parsas till korrekt formaterade fält. HTTP-anropet hämtar Googles resultat via Bright Datas SERP API, och ett parsingsteg extraherar konsekventa datapunkter som webbplats-URL, titel och beskrivning till ditt ark “Competitor Results”.
Du kan enkelt justera vilka fält du extraherar för att få med fler SERP-detaljer utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera den manuella triggern
Det här arbetsflödet startar manuellt, så ni triggar det vid behov för att hämta och bearbeta SERP-nyckelordsdata.
- Lägg till noden Manual Launch Trigger som arbetsflödets trigger.
- Lämna standardinställningarna som de är i Manual Launch Trigger (inga parametrar krävs).
Steg 2: anslut Google Sheets
Hämta nyckelordsindata från ert kalkylark så att varje rad blir en nyckelordspost.
- Lägg till noden Retrieve Sheet Keywords och anslut den till Manual Launch Trigger.
- Inloggningsuppgifter krävs: anslut era googleSheetsOAuth2Api-inloggningsuppgifter.
- Ställ in Document till
YOUR_GOOGLE_SHEET_ID. - Ställ in Sheet Name till
Keywords(arket medgid=0).
Steg 3: sätt upp bearbetningsnoder
URL-koda nyckelord för säker användning i URL:er och iterera sedan igenom dem i batchar.
- Lägg till Encode Search Terms och anslut den till Retrieve Sheet Keywords.
- I Encode Search Terms ställer ni in JavaScript Code till
const encode = encodeURIComponent; for (const item of $input.all()) { item.json.Keyword = encode(item.json.Keyword); } return $input.all();. - Lägg till Batch Keyword Iterator och anslut den till Encode Search Terms.
Encode Search Terms skickar vidare till Batch Keyword Iterator, som förbereder varje nyckelord för loopade API-anrop.
Steg 4: konfigurera SERP API-anrop och parsning
Skicka varje kodat nyckelord till SERP API:et och parsa sedan konkurrenternas HTML-svar.
- Lägg till SERP API Request och anslut den till Batch Keyword Iterator.
- Inloggningsuppgifter krävs: anslut era httpHeaderAuth-inloggningsuppgifter.
- Ställ in URL till
https://api.brightdata.com/request. - Ställ in Method till
POST, aktivera Send Body, Send Query och Send Headers. - I Body Parameters lägger ni till: zone =
serp_api1, url ==https://www.google.com/search?q={{ $json.Keyword }}, format =raw, country == {{ $json['Target Country'] }}. - I Query Parameters ställer ni in async till
true. - I Header Parameters ställer ni in Accept till
application/json. - Lägg till Parse Competitor HTML och anslut den till SERP API Request.
- Ställ in JavaScript Code i Parse Competitor HTML till
const html = $input.first().json.data || ''; return [{json: {websiteName: 'demo', websiteUrl: 'https://example.com', websiteTitle: 'Example Title', websiteDescription: 'Example description'}}];.
SERP API Request skickar vidare till Parse Competitor HTML för att omvandla det råa SERP-svaret till strukturerad konkurrentdata.
⚠️ Vanlig fallgrop: om ert kalkylark inte innehåller fälten Keyword och Target Country kommer uttrycken i API-anropet att fallera. Säkerställ att båda kolumnerna finns i arket.
Steg 5: testa och aktivera ert arbetsflöde
Kör ett manuellt test för att validera API-svar och parsad output, och aktivera sedan för användning i produktion.
- Klicka på Execute Workflow för att köra Manual Launch Trigger och bearbeta en exempelbatch.
- Bekräfta att Retrieve Sheet Keywords outputar rader med fälten
KeywordochTarget Country. - Verifiera att SERP API Request returnerar ett JSON-svar och att Parse Competitor HTML outputar strukturerad konkurrentdata.
- När resultaten ser korrekta ut, växla arbetsflödet till Active för löpande användning.
Vanliga fallgropar
- Bright Data-behörigheter kan löpa ut eller kräva specifika rättigheter. Om något slutar fungera, kontrollera först din token och planåtkomst i Bright Data-dashboarden.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Standardprompter i AI-noder är generiska. Lägg in din tonalitet tidigt, annars kommer du att redigera utdata för alltid.
Vanliga frågor
Cirka 30 minuter om dina Sheets- och Bright Data-konton är redo.
Nej. Du kopplar konton och klistrar in en API-token. Den enda “koden” här är redan paketerad i workflowet.
Ja. n8n har ett gratis self-hosted-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 in kostnader för Bright Data SERP API baserat på hur många sökord du kör.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger dig obegränsade körningar men kräver grundläggande serveradministration.
Ja, men du byter ut Manual Trigger mot en Schedule-trigger i n8n och behåller resten i stort sett likadant. Vanliga justeringar är att lägga till fler extraherade fält i steget “Parse Competitor HTML”, filtrera bort din egen domän och ändra batchstorlekar i iteratorn så att det matchar dina Bright Data-gränser. Om du behöver separata flikar per land kan du också styra utdata baserat på kolumnen Country.
Oftast är det en ogiltig eller utgången API-token i HTTP-headern. Bekräfta att ditt Bright Data SERP API är aktiverat, att du fortfarande har krediter och att Authorization-headern är exakt vad Bright Data förväntar sig. Om det fungerar för ett sökord men fallerar för många kan du slå i rate limits, så behåll den inbyggda väntan och minska batchstorleken.
Tillräckligt för de flesta team. Workflowet kör normalt cirka en minut per sökord med den rekommenderade 30-sekundersfördröjningen, så 50 sökord kan ta nära en timme. I n8n Cloud beror dina månatliga körningsgränser på din plan; om du self-hostar begränsas du främst av din server och Bright Datas användningsgränser.
Ofta, ja. Det här workflowet bygger på batchning, loopar och HTML-parsning, vilket är omständligt (eller dyrt) i många Zapier-liknande verktyg. n8n ger dig också mer kontroll över request-headers, retry-beteende och datamodellering innan det hamnar i Google Sheets. Om du bara kör ett par sökord och vill ha en snabb tvåstegszap kan Zapier eller Make vara enklare. Om du bygger en riktig rapportprocess som du ska lita på är n8n ett bättre långsiktigt hem, ärligt talat. Prata med en automationsexpert om du vill ha hjälp att välja.
När detta väl rullar slutar din SERP-spårning vara ett återkommande måste och blir ett dataset du faktiskt kan lita på. Sätt upp det, kör det när du behöver det och använd tiden du får tillbaka till beslut i stället för datainmatning.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.