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

Google Sheets + Gmail: följ konkurrentannonser veckovis

Rickard Andersson Partner, Nodenordic.se

Du ser en ny Google-annons från en konkurrent ute i det fria, tänker ”vi borde spara den”, och sedan är den borta dagen efter. Nu sitter du med halvt ihågkomna rubriker och en rörig skärmdumpsmapp som ingen kollar.

PPC-ansvariga känner den här smärtan varje vecka. Men marknadsansvariga och byråstrateger dras in i det också, eftersom automatisering för spårning av konkurrentannonser är skillnaden mellan ”intressant” och ”handlingsbart”. Det här flödet gör annonsbevakning till ett repeterbart system som pålitligt ger insikter.

Du får se hur det hämtar konkurrenters Google Ads till Google Sheets, kör AI-analys för att hitta teman och vinklar, och sedan mejlar en strukturerad rapport via Gmail så att du inte missar förändringar igen.

Så här fungerar automatiseringen

Se hur detta löser problemet:

n8n Workflow Template: Google Sheets + Gmail: följ konkurrentannonser veckovis

Utmaningen: konkurrentannonser ändras snabbare än du hinner logga dem

Konkurrenters Google Ads är ett rörligt mål. Rubriktester roterar, sitelinks ändras, och plötsligt är den ”nya vinkeln” du ville referera till borta, ersatt av något helt annat. Den manuella processen är dessutom märkligt tidskrävande: sök på dina nyckelord, öppna några resultat, kopiera text till ett dokument, försök minnas vilket nyckelord som triggade vilken annons, och dela det med teamet på ett sätt som inte skapar tio följdfrågor. Och ärligt talat är det lätt att hoppa över när du har mycket, vilket gör att du bara upptäcker förändringar efter att resultatet redan har försämrats.

Det blir snabbt dyrt. Här är var det oftast faller isär.

  • Du förlitar dig på sporadiska ”stickprov”, så du missar de tysta veckovisa skiften som förklarar varför CPC plötsligt steg.
  • När du kopierar annonstext för hand smyger sig fel in, och kopplingen mellan nyckelord och annons blir otydlig nästan direkt.
  • Skärmdumpar blir inte strategi, så insikterna fastnar i Slack-trådar och personliga anteckningar.
  • När flera personer spårar konkurrenter ändras formatet varje gång, vilket gör jämförelser smärtsamma.

Lösningen: hämta konkurrentannonser automatiskt, analysera teman, mejla rapporten

Det här flödet börjar med en enkel källa till sanning: ett Google Sheet där du listar kommersiella nyckelord med hög intention som pålitligt triggar annonser i din nisch. Vid varje körning läser n8n in nyckelordslistan, skickar varje nyckelord till Bright Datas SERP API (via en HTTP-förfrågan) och hämtar tillbaka strukturerade resultat. Om annonser finns extraherar det topp- och bottenannonserna, delar upp dem i enskilda annonsrader och lägger till rådata i Google Sheets så att du får en historisk logg. Därefter grupperar flödet annonstext och tilläggsdata, skickar det genom AI-analys (med LangChain-liknande noder och chattmodeller) och tar fram tydliga insikter som budskapsteman, värdeerbjudanden och sitelink-strategi. Till sist sammanfogar det insikterna och skapar en HTML-mejlrapport som landar i Gmail, redo att vidarebefordra till teamet eller klistra in i en veckovis performance-sammanfattning.

Flödet startar med att hämta nyckelord från Google Sheets, en batch i taget. Därifrån samlar Bright Data in annonspayloads från Googles sökresultat, och flödet rensar och lagrar dem. AI-agenten sammanfattar sedan mönster och skickar en lättläst Gmail-rapport som lyfter vad som förändrats och vad ni bör göra härnäst.

Vad som förändras: före vs. efter

Effekt i praktiken

Säg att du spårar 25 ”penganyckelord” varje vecka. Manuellt lägger du kanske 5 minuter per nyckelord på att söka, fånga topp- och bottenannonser och klistra in allt någonstans, vilket är ungefär 2 timmar, och det är innan du ens sammanfattar. Med det här flödet tar uppdateringen av nyckelordsarket cirka 5 minuter och körningen sker automatiskt; du behöver mest bara skumma Gmail-rapporten i 10 minuter. Den veckovisa vanan håller i sig, även när det är fullt ös.

Krav

  • n8n-instans (prova n8n Cloud gratis)
  • Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att lagra nyckelord och annonshistorik.
  • Gmail för att skicka den veckovisa HTML-rapporten.
  • Bright Data SERP API-nyckel (hämta den i din Bright Data-dashboard under SERP API-zoner).

Kunskapsnivå: Medel. Du är bekväm med att koppla konton, lägga in en API-nyckel och redigera en prompt utan att överanalysera.

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

Flödet steg för steg

En nyckelordslista triggar körningen. Flödet startar när du kör det manuellt (eller schemalägger det) och hämtar dina konkurrent-triggande nyckelord från Google Sheets, samtidigt som det filtrerar bort tomma rader.

Bright Data hämtar liveannonser från SERP. För varje nyckelord bygger n8n parametrarna och anropar Bright Data SERP API via en HTTP Request-nod. Om svaret innehåller annonser väljer flödet relevanta annonsarrayer och extraherar enskilda annonsobjekt så att de går att använda.

Data lagras och sammanfattas. Råannonser läggs till i ett Google Sheet för spårning, och flödet aggregerar annonstext samt tilläggsdata (som sitelinks). AI-noder analyserar sedan budskapsteman, sitelink-strategi och hur annonserna kopplar tillbaka till nyckelordsintention, vilket hjälper dig förstå vad konkurrenterna trycker på och var.

Gmail levererar rapporten som teamet faktiskt läser. Insikterna slås ihop, formateras till en HTML-rapport av en AI-agent och skickas via Gmail till den adress du väljer.

Du kan enkelt justera formatet på nyckelordslistan för att inkludera konkurrentnamn, målregioner eller kampanjanteckningar efter behov. Se hela implementeringsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera den manuella triggern

Det här arbetsflödet startas manuellt, vilket gör att ni kan testa nyckelordsbearbetning och generering av annonsinsikter vid behov.

  1. Lägg till eller öppna Manual Run Trigger som triggernod för arbetsflödet.
  2. Anslut Manual Run Trigger till Retrieve Keyword List för att skicka exekveringen vidare till er nyckelordskälla.
  3. Lämna nodinställningarna på standardvärden eftersom den inte kräver konfiguration eller inloggningsuppgifter.

Steg 2: anslut Google Sheets för nyckelordsinmatning och annonslagring

Det här steget hämtar nyckelordslistan och lägger till annonsrader i rapportarket.

  1. Öppna Retrieve Keyword List och ställ in Document till Position Tracking for Keyword + Dashboard och Sheet till Keywords to Track.
  2. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter till Retrieve Keyword List.
  3. Öppna Append Top Ads Sheet och ställ in Operation till append.
  4. Ställ in Document till Position Tracking for Keyword + Dashboard och Sheet till Top ads.
  5. Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter till Append Top Ads Sheet.

⚠️ Vanlig fallgrop: Säkerställ att kolumnerna i Append Top Ads Sheet matchar annonsfälten; avvikelser kan göra att rader inte kan läggas till.

Steg 3: filtrera, iterera och bygg sökparametrar

Dessa noder säkerställer att endast giltiga nyckelord bearbetas och skapar payload för söktermen till SERP API:et.

  1. I Filter Nonempty Keywords bekräftar ni att villkoret använder {{ $json.Keyword }} med operatorn notEmpty.
  2. I Iterate Keyword Rows lämnar ni Options som standard för att iterera rad för rad.
  3. I Assign Search Parameters ställer ni in search_term till {{ $json.Keyword }} och country code till {{ $json['country code'] }}.
  4. Anslut Filter Nonempty KeywordsIterate Keyword RowsAssign Search Parameters.

Steg 4: konfigurera SERP-begäran och pipeline för annonsextraktion

Den här delen hämtar SERP-data, validerar payloads och extraherar annonsrader för vidare analys och lagring.

  1. I Request SERP JSON ställer ni in URL till https://api.brightdata.com/request, Method till POST och aktiverar Send Body, Send Query och Send Headers.
  2. Ställ in body-parametern url till https://www.google.com/search?q={{$json.search_term .replaceAll(" ", "+")}}s&start=0&brd_json=1 och country till {{ $json['country code'] }}.
  3. Inloggningsuppgifter krävs: Anslut era httpHeaderAuth-inloggningsuppgifter till Request SERP JSON.
  4. I Validate Ad Payload verifierar ni att villkoret kontrollerar {{ $json.top_ads }} med lengthGte satt till 1.
  5. I Select Ad Arrays ställer ni in top_ads till {{ $json.top_ads }} och bottom_ads till {{ $json.bottom_ads }}.
  6. I Extract Ad Items behåller ni den medföljande JavaScript-koden som kombinerar annonsarrayer och returnerar varje annons som ett separat item.
  7. Observera att Request SERP JSON även skickar utdata till No-Op Placeholder för felsökning; den här vägen kan lämnas oförändrad.

Extract Ad Items skickar utdata parallellt till Aggregate Ad Text, Collect Extension Data, Aggregate Keyword Ads och Split Ad Records.

Steg 5: konfigurera dataaggregering och lagring

Dessa noder omvandlar annonsdata för AI-analys och lägger till top ads i ert ark.

  1. I Aggregate Ad Text ställer ni in Include till allFieldsExcept och Fields to Exclude till referral_link, image, image_base64.
  2. I Collect Extension Data och Aggregate Keyword Ads behåller ni Fields to Exclude inställt på referral_link, image, image_base64, rank, global_rank, image_alt.
  3. I Split Ad Records ställer ni in Field to Split Out till bottom_ads, top_ads.
  4. I Adjust Keyword Field behåller ni Include Other Fields aktiverat och ställer in keyword till Business automations (ersätt med ert önskade värde vid behov).
  5. Anslut Adjust Keyword FieldAppend Top Ads Sheet för att lagra annonsraderna.

Steg 6: sätt upp AI-analyskedjor och parsers

Tre AI-analyskedjor tolkar budskapsteman, sitelink-strategi och mappning från nyckelord till annonser.

  1. I Analyze Messaging Themes ställer ni in Text till {{ $json.data .toJsonString() }} och behåller Needs Fallback aktiverat.
  2. Säkerställ att OpenRouter Model A och Gemini Model A är anslutna som språkmodeller för Analyze Messaging Themes.
  3. Inloggningsuppgifter krävs: Anslut era openRouterApi-inloggningsuppgifter till OpenRouter Model A och era googlePalmApi-inloggningsuppgifter till Gemini Model A.
  4. I Analyze Sitelink Strategy ställer ni in Text till {{ $json.data.toJsonString() }} och behåller Needs Fallback aktiverat.
  5. Säkerställ att OpenRouter Model B och Gemini Model B är anslutna som språkmodeller för Analyze Sitelink Strategy.
  6. Inloggningsuppgifter krävs: Anslut era openRouterApi-inloggningsuppgifter till OpenRouter Model B och era googlePalmApi-inloggningsuppgifter till Gemini Model B.
  7. I Map Keywords to Ads ställer ni in Text till keyword: {{ $('Assign Search Parameters').item.json.search_term }}

    Ads : {{ $json.data.toJsonString() }}
    .
  8. Säkerställ att OpenRouter Model C och Gemini Model C är anslutna som språkmodeller för Map Keywords to Ads.
  9. Inloggningsuppgifter krävs: Anslut era openRouterApi-inloggningsuppgifter till OpenRouter Model C och era googlePalmApi-inloggningsuppgifter till Gemini Model C.
  10. För parsers (Parse Messaging Output, Parse Sitelink Output, Parse Keyword Mapping) behövs inga inloggningsuppgifter på parsernoderna; lägg till inloggningsuppgifter på deras överordnade AI-noder enligt ovan.
  11. Routa utdata via Store Value Insights, Store Sitelink Insights och Store Keyword Mapping för att mellanlagra resultat inför merge-steget.

⚠️ Vanlig fallgrop: Om ni uppdaterar schemaexempel i parsernoderna, säkerställ att AI-prompterna fortfarande är i linje med schemat för att undvika fel vid parsning.

Steg 7: slå ihop insikter och bygg HTML-rapporten

Det här steget kombinerar tre AI-insiktsströmmar och formaterar dem till en HTML-rapport.

  1. I Combine AI Insights ställer ni in Mode till combine, Combine By till combineByPosition och Number Inputs till 3.
  2. Anslut Store Value Insights, Store Sitelink Insights och Store Keyword Mapping till Combine AI Insights på input 0, 1 respektive 2.
  3. I Build HTML Report ställer ni in Text till {{ $json.toJsonString() }} och behåller Needs Fallback aktiverat.
  4. Säkerställ att OpenRouter Model D och Gemini Model D är anslutna som språkmodeller för Build HTML Report.
  5. Inloggningsuppgifter krävs: Anslut era openRouterApi-inloggningsuppgifter till OpenRouter Model D och era googlePalmApi-inloggningsuppgifter till Gemini Model D.

Steg 8: konfigurera e-postleverans

Skicka HTML-rapporten via Gmail med en ämnesrad som är specifik för nyckelordet.

  1. Öppna Send Email Report och ställ in To till [YOUR_EMAIL] (ersätt med en riktig mottagare).
  2. Ställ in Message till {{ $json.output }}.
  3. Ställ in Subject till Ads overview report for the Keyword [{{ $('Assign Search Parameters').item.json.search_term }}].
  4. Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter till Send Email Report.

Steg 9: testa och aktivera ert arbetsflöde

Kör ett fullständigt test för att bekräfta SERP-hämtning, AI-analys, rapportgenerering och e-postleverans.

  1. Klicka på Execute WorkflowManual Run Trigger för att testa hela pipelinen.
  2. Verifiera att Request SERP JSON returnerar data och att Validate Ad Payload släpper igenom items vidare.
  3. Bekräfta att Build HTML Report ger HTML som output och att Send Email Report skickar ett mejl till er inkorg.
  4. När allt fungerar ställer ni arbetsflödet till Active för användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Se upp med

  • Bright Data-inloggningar kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera: kontrollera först inställningarna för din Bright Data SERP API-zon och din token i n8n-uppgifterna.
  • Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
  • Standardprompter i AI-noder är generiska. Lägg in er tonalitet tidigt, annars kommer du redigera output för alltid.

Vanliga frågor

Hur snabbt kan jag implementera den här automatiseringen för spårning av konkurrentannonser?

Cirka en timme om ditt Google Sheet och ditt Bright Data-konto är redo.

Kan icke-tekniska team implementera den här spårningen av konkurrentannonser?

Ja. Ingen kodning krävs, men någon bör vara bekväm med att lägga in API-uppgifter och redigera en prompt.

Är n8n gratis att använda för det här flödet för spårning av konkurrentannonser?

Ja. n8n har ett gratis alternativ för egen hosting 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 Bright Data SERP API-användning och eventuella kostnader för AI-modeller beroende på hur många nyckelord du analyserar.

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

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

Hur anpassar jag den här automatiseringslösningen för spårning av konkurrentannonser till mina specifika utmaningar?

Det kan du. De flesta anpassar nyckelordsindatan i Google Sheets (lägg till plats, enhet eller konkurrentanteckningar) och justerar sedan AI-prompterna som tar fram ”budskapsteman” och ”sitelink-strategi” så att output matchar hur ert team briefar kreativt. Om du inte vill använda Gmail kan du byta sista mejlsteget mot Slack eller ett annat inbox-verktyg och behålla samma HTML-rapportformat.

Varför misslyckas min Google Sheets-anslutning i det här flödet?

Oftast beror det på en återkallad Google-behörighet eller ett ändrat kalkylblads-ID. Återanslut Google Sheets-uppgifterna i n8n, bekräfta att exakt samma blad-/fliknamn fortfarande matchar och kontrollera att kontot har redigeringsåtkomst. Om det bara fallerar vid append kan du också stöta på skyddade intervall eller filter i destinationsarket.

Vilken kapacitet har den här automatiseringslösningen för spårning av konkurrentannonser?

Det beror på din plan och hur många nyckelord du kör, men dussintals nyckelord per körning är vanligt. n8n Cloud har körningsgränser beroende på plan, medan egen hosting inte har något tak (din server är gränsen). Den praktiska begränsningen är oftast Bright Data- och modellernas rate limits, så om du skalar till hundratals nyckelord kan du vilja ha längre väntetider eller batchning.

Är den här automatiseringen för spårning av konkurrentannonser bättre än att använda Zapier eller Make?

Ofta, ja. Det här flödet behöver loopar, filtrering, branching när annonser finns (eller inte), plus AI-analys i flera steg och byggande av HTML-rapport, och n8n hanterar den typen av logik snyggt utan att det blir en prissättningsmardröm. Zapier och Make kan fortfarande fungera om du förenklar omfattningen, till exempel genom att spåra färre nyckelord och skippa den strukturerade AI-parsningen. Om du försöker bygga en pålitlig veckovis pipeline för konkurrensinsikter är n8n oftast det lugnare alternativet. Prata med en automationsexpert om du vill ha hjälp att välja.

När det här väl rullar slutar konkurrentbevakning av annonser vara en halvgjord syssla och blir en veckovis tillgång. Flödet sköter insamling och sammanfattning, så att du kan fokusera på vad ni ska testa härnäst.

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