Att kopiera in adresser i Google Maps en och en är den typen av uppgift som ser “snabb” ut tills du har tappat en hel eftermiddag och ändå inte litar på resultatet.
Automatiserad geokodning i Sheets slår hårt mot marketing ops-team när listor kommer in röriga. En småföretagare som bygger leveranszoner känner det också. Detsamma gäller en analytiker som försöker kartlägga kunder utan att introducera nya fel.
Det här n8n-flödet hämtar adresser från Google Sheets, frågar Google Maps API efter koordinater och skriver tillbaka LatLong i samma ark. Du får se hur det fungerar, vad du behöver och var team oftast kör fast.
Så fungerar den här automatiseringen
Hela n8n-flödet, från trigger till slutligt resultat:
n8n Workflow Template: Google Sheets till Google Maps – lat/long ifyllt
flowchart LR
subgraph sg0["Manual Launch Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Manual Launch Trigger", pos: "b", h: 48 }
n1["<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/>Geocode Address Request"]
n2@{ icon: "mdi:database", form: "rounded", label: "Write Coordinates to Sheet", pos: "b", h: 48 }
n3@{ icon: "mdi:database", form: "rounded", label: "Retrieve Sheet Locations", pos: "b", h: 48 }
n0 --> n3
n3 --> n1
n1 --> n2
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 n2,n3 database
class n1 api
classDef customIcon fill:none,stroke:none
class n1 customIcon
Problemet: adresslistor blir inte kartdata av sig själva
Adresser kommer in i ett kalkylark, och sedan börjar det riktiga arbetet. Någon måste geokoda dem (konvertera en gatuadress till latitud/longitud) så att listan kan användas för ruttplanering, områdesplanering, heatmaps, eventlogistik eller rapportering som “vilka stadsdelar köper faktiskt?”. Att göra det manuellt känns enkelt… tills du stöter på stavfel, saknade postnummer, dubbletter och “tillräckligt nära”-träffar som i tysthet placerar en nål på fel sida av stan. Den mentala belastningen är värre än tidsåtgången. Du ifrågasätter hela tiden.
Det blir snabbt mycket. Och små misstag blir dyra när datan används längre ned i kedjan.
- Manuell geokodning kan lätt sluka runt 2 timmar för en lista med 200 rader, särskilt när du måste stanna upp och bekräfta otydliga matchningar.
- En missad rad betyder en saknad markör på kartan, vilket kan sabba ruttplanering eller områdesräkning.
- Copy-paste-flöden bjuder in formateringsproblem, så LatLong hamnar i fel kolumn eller som oanvändbar text.
- Team skjuter upp kartprojekt eftersom “att strukturera arket” blir en fruktad uppgift som ingen äger.
Lösningen: geokoda adresser i Google Sheets och skriv tillbaka LatLong
Det här flödet gör ditt Google Sheet till en självuppdaterande geokodningspipeline. Du börjar med ett enkelt ark som har en kolumn för Address (indata) och en kolumn för LatLong (utdata). När du kör flödet läser n8n adresserna från arket, skickar varje adress till Google Maps Geocoding API via en HTTP-förfrågan och plockar sedan ut latitud och longitud från svaret. Till sist skriver den tillbaka koordinaterna till samma Google Sheet, direkt bredvid originaladressen. Ingen export, ingen omformatering, ingen “har vi gjort rad 87 redan?”-stress.
Flödet startar med en manuell körning, vilket gör det säkert för batchjobb. Sedan loopar det igenom raderna i arket, geokodar varje adress med Google Maps och uppdaterar matchande rad med LatLong så att arket direkt är redo för kartverktyg eller ruttmjukvara.
Det här får du: automatisering vs. resultat
| Vad det här flödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du har 150 nya kundadresser att kartlägga inför ett direktutskick. Manuellt, även om du lägger ungefär 1 minut per adress för att söka, bekräfta och kopiera koordinater, blir det runt 2,5 timmar (och du missar ändå några). Med det här flödet klistrar du in adresserna i arket en gång, trycker på “execute” i n8n och väntar tills körningen är klar. Din aktiva tid är cirka 10 minuter, och LatLong-kolumnen fylls i automatiskt.
Det du behöver
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för egen hosting om du föredrar det (Hostinger fungerar bra)
- Google Sheets för att lagra din adresslista.
- Google Maps Geocoding API för att konvertera adresser till koordinater.
- Google Cloud API-nyckel (hämta den i Google Cloud Console → APIs & Services → Credentials).
Svårighetsgrad: Nybörjare. Du kopplar Google Sheets, lägger in en API-nyckel och bekräftar vilka kolumner som ska läsas/skrivas.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuters konsultation).
Så fungerar det
Manuell körning från n8n. Du klickar på execute när du är redo att bearbeta en batch, vilket innebär att du inte bränner API-anrop av misstag.
Rader från Google Sheets hämtas. Flödet läser ditt kalkylark och hämtar adressvärdena från kolumnen Address (eller vilket kolumnnamn du väljer).
Varje adress geokodas via Google Maps. En HTTP Request-node skickar adressen till Google Maps Geocoding API och får ett strukturerat svar med platsdata.
LatLong skrivs tillbaka till Google Sheets. Flödet uppdaterar samma rad med koordinater så att arket förblir den enda sanningskällan för kartläggning längre ned i kedjan.
Du kan enkelt ändra vilken kolumn som uppdateras (eller lägga till extra fält som stad, postnummer eller place ID) 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
Det här arbetsflödet startar manuellt så att ni kan testa geokodning på ett säkert sätt innan ni automatiserar.
- Lägg till noden Manual Launch Trigger på arbetsytan.
- Behåll standardinställningarna (inga parametrar krävs).
- Koppla Manual Launch Trigger till Retrieve Sheet Locations för att matcha körflödet.
Steg 2: anslut Google Sheets
Dessa noder läser adresser och skriver tillbaka koordinater till samma kalkylark.
- Öppna Retrieve Sheet Locations och ställ in Document på
[YOUR_ID]med det cachade namnetLatlong Testing. - Ställ in Sheet på
[YOUR_ID]med det cachade namnetSheet2. - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Retrieve Sheet Locations.
- Öppna Write Coordinates to Sheet och ställ in Document på
[YOUR_ID]och Sheet på[YOUR_ID](cachat namnSheet2). - Inloggningsuppgifter krävs: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Write Coordinates to Sheet.
Steg 3: konfigurera begäran för att geokoda adress
Den här HTTP-begäran skickar varje adress till Google Places Text Search och returnerar koordinater.
- Lägg till noden Geocode Address Request mellan Retrieve Sheet Locations och Write Coordinates to Sheet.
- Ställ in URL på
https://maps.googleapis.com/maps/api/place/textsearch/json. - Aktivera Send Query Parameters.
- Lägg till en query-parameter med namnet query och värdet
{{ $json.Address }}. - Lägg till en query-parameter med namnet key och värdet
[CONFIGURE_YOUR_API_KEY].
[CONFIGURE_YOUR_API_KEY] måste ersättas med en giltig Google Maps API-nyckel, annars misslyckas begäran.Steg 4: konfigurera Write Coordinates to Sheet
Den här noden uppdaterar raden som matchar den ursprungliga adressen och skriver lat-/long-värden.
- I Write Coordinates to Sheet, ställ in Operation på
update. - Under Columns → Mapping Mode, välj
defineBelow. - Ställ in Latlong på
{{ $json.results[0].geometry.location.lat }},{{ $json.results[0].geometry.location.lng }}. - Ställ in row_number på
{{ $('Retrieve Sheet Locations').item.json.row_number }}. - Under Matching Columns, välj
row_numberså att uppdateringarna träffar rätt rad.
Steg 5: testa och aktivera ert arbetsflöde
Kör ett manuellt test för att verifiera hela flödet innan ni aktiverar det för produktion.
- Klicka på Execute Workflow för att köra Manual Launch Trigger.
- Bekräfta att Retrieve Sheet Locations matar ut objekt med ett Address-fält.
- Kontrollera att Geocode Address Request ger ett giltigt svar som innehåller
results[0].geometry.location. - Verifiera att Write Coordinates to Sheet uppdaterar kolumnen Latlong i ert Google-ark.
- När allt fungerar, slå på arbetsflödet Active för användning i produktion.
Vanliga fallgropar
- Google Sheets-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera n8n-sektionen Credentials och bekräfta att det anslutna Google-kontot fortfarande har åtkomst till det kalkylarket.
- Om du använder Wait-noder eller extern rendering varierar processtiderna. Öka väntetiden om efterföljande noder fallerar på tomma svar.
- Google Maps API-anrop kan misslyckas vid rörig indata (saknad stad/delstat, udda förkortningar eller internationella format). Om du ser inkonsekventa resultat, standardisera Address-kolumnen först och överväg att lägga till ett “Country”-suffix i förfrågan.
Vanliga frågor
Cirka 30 minuter om ditt ark och ditt Google Cloud-projekt är redo.
Nej. Du kopplar främst konton och klistrar in en API-nyckel.
Ja. n8n har ett gratis alternativ för egen hosting och en gratis testperiod på n8n Cloud. Cloud-planer börjar på 20 USD/månad för högre volymer. Du behöver också räkna med användningen av Google Maps API, vilket oftast är några dollar för små batcher men kan öka vid stora listor.
Två alternativ: n8n Cloud (hanterat, enklast setup) eller egen hosting på en VPS. För egen hosting är Hostinger VPS prisvärt och hanterar n8n bra. Egen hosting ger dig obegränsade körningar men kräver grundläggande serverhantering.
Ja, och det är en vanlig justering. Du kan behålla samma Google Maps-förfrågan och sedan utöka steget “Skriv koordinater till arket” så att det även skriver tillbaka fält som parsas från geokodningssvaret (som stad, region, postnummer eller ett place ID). Många team lägger också till en kolumn “Status” så att rader som misslyckas med geokodning blir enkla att filtrera och åtgärda. Om du bara vill geokoda nya rader, justera hämtningen från Google Sheets så att den hoppar över rader där LatLong redan är ifyllt.
Oftast beror det på en utgången eller bytt Google-inloggning i n8n, så att inloggningen inte längre har åtkomst till just det kalkylarket. Återanslut Google Sheets-inloggningen och bekräfta att Sheet ID och fliknamn fortfarande stämmer. Om det bara misslyckas vid skrivning, kontrollera att målkolumnerna finns och inte är skyddade.
Hundratals åt gången är normalt, och tusentals går om du taktar API-anropen och håller koll på kvotgränser.
Ofta, ja. Geokodning är ett batchjobb, och n8n hanterar loopar, felhantering och logiken för att “skriva tillbaka till samma rad” utan att tvinga dig in i dyr prissättning per steg. Det är också enklare att köra med egen hosting, vilket spelar roll om du regelbundet kör stora listor. Zapier eller Make kan fortfarande fungera om ditt användningsfall är litet och du vill ha det enklaste gränssnittet. Om du är osäker, prata med en automationsexpert så får du ett rakt svar.
När LatLong fylls i automatiskt slutar kartläggning att vara ett projekt och blir en rutin. Sätt upp det en gång och gå sedan tillbaka till arbete som faktiskt driver saker framåt.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.