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

Google Maps till Google Sheets: leads loggas strukturerat

Rickard Andersson Partner, Nodenordic.se

Du börjar med ett enkelt mål: bygga en felfri lista med prospekt från Google Maps. Sedan inser du att du copy-pastar företagsnamn, rättar till röriga format och tar bort dubbletter för hand. Igen.

Den här automatiseringen för Maps-leads slår hårdast mot marknadsförare när pipelinen är tunn, men byråägare och drivna småföretagare känner av den också. Du förvandlar postnummer och kategorier till ett strukturerat Google Sheet som du faktiskt kan göra outreach från.

Nedan ser du vad workflowet gör, vad du får ut av det och hur du kör det utan att betala för dyra scraping-verktyg.

Så fungerar den här automatiseringen

Hela n8n-workflowet, från trigger till slutresultat:

n8n Workflow Template: Google Maps till Google Sheets: leads loggas strukturerat

Problemet: Google Maps-leads blir snabbt röriga

Att hämta leads från Google Maps låter enkelt tills du gör det i skala. Ett postnummer blir tio. En kategori blir fem underkategorier. Plötsligt hanterar du ett lapptäcke av flikar, halvfärdiga exporter och “har vi redan kontaktat dem?”-gissningar. Än värre: dubbletter smyger in under lite olika namn, så dina säljare kontaktar samma företag två gånger. Det blir stelt. Och dyrt, för den verkliga kostnaden är inte kalkylarket. Det är timmarna av fokus du bränner innan du ens skickar första mejlet.

Friktionen bygger upp sig. Här är var det oftast faller isär.

  • Manuell sökning postnummer för postnummer äter upp ett par timmar varje vecka, och du missar ändå företag.
  • Dubbletter hopar sig eftersom listningar ändras, namn varierar och ingen vill avduplicera ett ark med 600 rader.
  • Rate limits och tillfälliga API-fel stoppar scraping mitt i körningen, så din “automatiserade” process behöver passning.
  • Lead-data landar i olika format, vilket betyder sortering, filtrering och formatering innan outreach ens kan börja.

Lösningen: schemalagd Google Maps → Sheets-leadhämtning

Det här n8n-workflowet körs enligt schema och förvandlar en enkel inmatningslista (postnummer plus Google Maps-kategorier) till en felfri, växande leaddatabas i Google Sheets. Det hämtar postnummer från en flik, hämtar underkategorier från en annan, och frågar sedan Google Maps API för varje kombination av postnummer + underkategori. När resultaten kommer tillbaka omvandlar workflowet rå platsdata till konsekventa fält som du kan använda för outreach, rapportering och filtrering. Det hoppar över poster markerade som “N/A”, tar bort dubbletter med det unika place.id, och lägger bara till nya poster i din resultatflik. När något går fel (rate limits är vanliga) väntar det, försöker igen med backoff, och ger upp efter ett definierat max antal försök i stället för att loopa för evigt.

Workflowet startar med en planerad schematrigger. Sedan loopar det igenom underkategorier och postnummer i batchar, anropar Google Maps, strukturerar och avduplicerar datan, och skriver till sist felfria rader till Google Sheets. Aviseringar till Telegram, Discord och WhatsApp kan skickas via en no-op-gren, så att du blir notifierad utan att avbryta leadhämtningen.

Det här får du: automatisering vs. resultat

Exempel: så här ser det ut

Säg att du bygger leads för 10 postnummer och 5 underkategorier. Att göra det manuellt är ungefär 50 sökningar, och om varje tar cirka 5 minuter att hitta, kopiera detaljer och klistra in i Sheets, är det runt 4 timmars arbete. Med det här workflowet uppdaterar du postnummer- och kategoriflikarna en gång, och låter sedan timschemat köra. Ditt “arbete” blir en snabb kontroll av resultatfliken och en titt på aviseringar, kanske 10 minuter, medan n8n sköter resten i bakgrunden.

Det här behöver du

  • n8n-instans (testa n8n Cloud gratis)
  • Self-hosting-alternativ om du föredrar det (Hostinger funkar bra)
  • Google Sheets för postnummer, kategorier och lagring av resultat
  • Google Maps API för att slå upp företag via sökfrågor
  • Telegram Bot API (hämta det via BotFather i Telegram)

Kunskapsnivå: Medel. Du är bekväm med att redigera sheet-ID:n, lägga till credentials och testa en körning en gång.

Vill du inte sätta upp det här själv? Prata med en automationsexpert (gratis 15-minuters konsultation).

Så fungerar det

En schemalagd körning drar igång. Workflowet använder en planerad trigger (timmarvis som standard), så leadinsamlingen sker konsekvent i stället för “när du kommer ihåg”.

Postnummer och kategorier hämtas från Sheets. En flik innehåller postnummer, en annan innehåller Maps-kategorier/underkategorier. n8n tillämpar en postgräns (standard batchstorlek är 10 postnummer) så att du kan styra volymen och undvika att belasta API:t för hårt.

Google Maps frågas i batchar. För varje postnummer + underkategori-par skickas en HTTP-förfrågan till Google Maps API. Om API:t rate-limit:ar dig väntar retry-logiken och försöker igen, med ett hårt stopp efter 10 försök så att det inte kör för evigt.

Felfria rader hamnar i din resultatflik. Platsdetaljer omvandlas, dubbletter tas bort via place.id, och bara den slutliga uppsättningen läggs till i resultatfliken. Status spåras så att färdiga postnummer/underkategori-par kan markeras och hoppas över senare.

Du kan enkelt ändra batchgränsen för postnummer för att öka volymen eller sakta ner baserat på din API-kvot. Se den fullständiga implementationsguiden nedan för anpassningsalternativ.

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

Steg 1: konfigurera Planned Trigger

Ställ in arbetsflödets schema så att lead-insamlingen körs automatiskt.

  1. Lägg till noden Planned Trigger och öppna dess inställningar.
  2. Definiera önskat schema (t.ex. dagligen eller varje timme) i Planned Trigger.
  3. Koppla Planned Trigger till Retrieve Zip Codes för att starta dataflödet.

Steg 2: anslut Google Sheets

Konfigurera kalkylbladsindata och -utdata som används i hela arbetsflödet.

  1. Öppna Retrieve Zip Codes och välj det kalkylblad och den flik som lagrar era postnummer.
  2. Öppna Fetch Subcategory Sheet och ange kalkylbladet som innehåller er lista med underkategorier.
  3. Öppna Append Sheet Rows och konfigurera målfliken för att skriva nya leads.
  4. Öppna Fetch Status och konfigurera fliken för statusspårning.
  5. Öppna Mark Status Successful och ställ in den så att den uppdaterar statuskolumnen när ett lead har behandlats framgångsrikt.
  6. Credential Required: Anslut era Google Sheets-inloggningsuppgifter i alla Google Sheets-noder (5 noder hanterar postnummer, underkategorier, tillägg av leads och statusuppdateringar).

Steg 3: sätt upp underkategori- och batchbearbetning

Förbered datapipelinen som filtrerar underkategorier och itererar genom batchar.

  1. I Fetch Subcategory Sheet säkerställer ni att den matar vidare till Filter Subcategory List.
  2. Konfigurera Filter Subcategory List så att endast giltiga underkategorier för er lead-sökning behålls.
  3. Använd Map Subcategory för att mappa underkategorifält till den struktur som krävs längre fram.
  4. Konfigurera Iterate Subcategories och Batch Iteration för att bearbeta underkategorier och postnummer i batchar.
  5. Använd Apply Record Limit för att begränsa antalet postnummer per körning.

Tips: Om ni ser tomma batchar, kontrollera att Filter Subcategory List inte exkluderar alla rader och att Apply Record Limit inte är inställt för lågt.

Steg 4: konfigurera Maps API och lead-transformering

Anropa Maps API, transformera resultat och förbered poster för lagring.

  1. I Assign Zip Code mappar ni aktuellt postnummer till de fält som används för API-begäran.
  2. Konfigurera Google Maps API Call med er API-endpoint och parametrar.
  3. Credential Required: Lägg till autentisering för Google Maps API Call (API-nyckel eller lämplig autentiseringsmetod).
  4. Använd Conditional Check för att routa lyckade API-svar till Iterate Subcategories och misslyckade svar till Place Transformation.
  5. Transformera API-svaret i Place Transformation och mappa fält i Assign Place Fields.
  6. Använd Deduplicate Records för att ta bort dubbletter innan ni skriver till Google Sheets.

⚠️ Vanlig fallgrop: Om Google Maps API Call returnerar tomma resultat, dubbelkolla frågeparametrarna som sätts ihop i Assign Zip Code och Map Subcategory.

Steg 5: konfigurera utgående notiser och statusuppdateringar

Skicka notiser och hantera statusuppdateringar efter lead-bearbetning.

  1. Säkerställ att Append Sheet Rows skriver nyligen avdubbletterade leads till er målflik.
  2. Bekräfta att Fetch Status och Mark Status Successful är kopplade för att uppdatera bearbetningsstatusar.
  3. Koppla No-Op Handler till dess parallella utgångar för meddelanden.
  4. No-Op Handler skickar utdata parallellt till både Rapiwa Connector samt Dispatch Telegram Text och Post Discord Message.
  5. Credential Required: Anslut era Rapiwa-inloggningsuppgifter i Rapiwa Connector.
  6. Credential Required: Anslut era Telegram-inloggningsuppgifter i Dispatch Telegram Text.
  7. Credential Required: Anslut era Discord-inloggningsuppgifter i Post Discord Message.

Steg 6: konfigurera logik för försök igen och backoff

Sätt upp arbetsflödets kontroller för omförsök och fördröjning för att hantera rate limits och fel på ett robust sätt.

  1. Använd Backoff Delay Logic för att beräkna väntetider för omförsök och koppla den till Pause Execution.
  2. Använd Retry Backoff Logic för att hantera fördröjningar för omförsök efter status och koppla den till Hold Execution.
  3. Säkerställ att Pause Execution routar till Evaluate Max Retries och att Hold Execution routar till Verify Retry Limit.
  4. Bekräfta att Evaluate Max Retries och Verify Retry Limit skickar händelser till No-Op Handler när gränserna för omförsök har nåtts.

Tips: Om omförsök loopar för mycket, granska villkoren i Evaluate Max Retries och Verify Retry Limit för att bekräfta logiken för max antal försök.

Steg 7: testa och aktivera ert arbetsflöde

Kör ett manuellt test och aktivera automatiseringen för produktion.

  1. Klicka på Execute Workflow för att köra ett manuellt test från Planned Trigger.
  2. Bekräfta att leads läggs till i Append Sheet Rows och att status uppdateras via Fetch StatusMark Status Successful.
  3. Verifiera att No-Op Handler skickar meddelanden via Rapiwa Connector, Dispatch Telegram Text och Post Discord Message.
  4. Om testet lyckas, slå på arbetsflödet Active för att aktivera schemalagda körningar via Planned Trigger.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Vanliga fallgropar

  • Google Sheets-credentials kan löpa ut eller kräva specifika behörigheter. Om det skapar fel, kontrollera sidan Credentials i n8n och bekräfta att det anslutna Google-kontot fortfarande har åtkomst till kalkylarket.
  • Om du använder Wait-noder eller extern bearbetning varierar tiderna. Öka väntetiden om noder längre fram misslyckas på tomma svar efter en rate limit eller ett långsamt API-svar.
  • Google Maps API-kvoter är på riktigt, och workflowet försöker igen upp till 10 gånger. Om du ser upprepade backoff-loopar, kontrollera din Google Cloud-konsol för kvotgränser och faktureringsstatus.

Vanliga frågor

Hur lång tid tar det att sätta upp den här automatiseringen för Maps-leads?

Cirka 30 minuter om ditt Google Sheet är redo.

Behöver jag kunna koda för att automatisera Maps-leads?

Nej. Du kopplar mest ihop konton och klistrar in rätt sheet-ID:n och API-nyckel.

Är n8n gratis att använda för det här workflowet för automatisering av Maps-leads?

Ja. n8n har ett gratis self-hosted-alternativ 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 in användningen av Google Maps API, som beror på din frågevolym och Googles prissättning.

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

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 serverhantering.

Kan jag anpassa det här workflowet för automatisering av Maps-leads för andra kategorier och batchstorlekar?

Ja, och det är huvudskälet till att den här setupen skalar. Byt kategori-/underkategori-inmatning genom att redigera arket “maps categories” och noderna som mappar och filtrerar underkategorilistan (Filter Subcategory List och Map Subcategory). För att ändra volym justerar du Limit-noden (den är som standard 10 postnummer per batch). Du kan också justera schematriggern om timvis är för ofta, eller inte ofta nog.

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

Oftast beror det på utgången OAuth-åtkomst eller att kalkylarket flyttats till en annan plats i Drive. Återanslut Google Sheets-credentials i n8n och bekräfta sedan att samma Google-konto kan öppna arket i webbläsaren. Kontrollera också dokument-ID:t och varje fliks gid-värde i workflowet, eftersom en omdöpt eller utbytt flik kan se ut som “behörighetsproblem” när det egentligen är ett ID som inte matchar.

Hur många leads kan den här automatiseringen för Maps-leads hantera?

Med self-hosted n8n finns ingen körningsgräns, så det beror främst på din server och din Google Maps API-kvot.

Är den här automatiseringen för Maps-leads bättre än att använda Zapier eller Make?

För den här typen av workflow är n8n oftast det praktiska valet eftersom batchning, retries och avdupliceringslogik snabbt blir komplexa. Zapier och Make kan göra det, men du hamnar ofta i högre kostnader när antalet tasks växer och logiken förgrenar sig. n8n ger dig också self-host-alternativet, vilket är smidigt när du kör schemalagda hämtningar hela dagen. Nackdelen är uppsättningen: du lägger lite mer tid på att konfigurera ID:n och credentials. Vill du att någon kvalitetssäkrar din approach? Prata med en automationsexpert.

När det här väl rullar växer din lead-lista medan du gör annat. Ä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.

×

Använd mall

Få direkt tillgång till denna n8n-arbetsflödes JSON-fil

Launch login modal Launch register modal