Du sätter dig för att ”göra rapportering”, öppnar Google Analytics och plötsligt har du 12 flikar, 3 exporter och ett halvfärdigt Google Sheet du inte litar på. Nästa vecka gör du om det. Samma siffror, annan berättelse. Det är så inkonsekvent rapportering uppstår.
Den här GA till Baserow-automationen drabbar marknadsföringsansvariga hårdast, men webbplatsägare och byråoperatörer känner av den också. Du behöver en veckovy som du kan upprepa, jämföra och dela utan att skriva om berättelsen varje gång.
Det här arbetsflödet hämtar week-over-week-data från Google Analytics, ber AI att sammanfatta vad som förändrades och sparar sedan strukturerade sammanfattningar i Baserow så att din SEO-rapportering håller en jämn nivå (och faktiskt går att använda). Nedan ser du hur det körs, vad det sparar och vad du behöver för att sätta upp det.
Så här fungerar automationen
Hela n8n-arbetsflödet, från trigger till slutligt resultat:
n8n Workflow Template: Google Analytics till Baserow, jämna SEO-rapporter
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger", pos: "b", h: 48 }
n1@{ icon: "mdi:play-circle", form: "rounded", label: "When clicking ‘Test workflow’", pos: "b", h: 48 }
n2@{ icon: "mdi:cog", form: "rounded", label: "Get Page Engagement Stats fo..", pos: "b", h: 48 }
n3@{ icon: "mdi:cog", form: "rounded", label: "Get Page Engagement Stats fo..", 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/code.svg' width='40' height='40' /></div><br/>Parse data from Google Analy.."]
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/>Parse GA data"]
n6@{ icon: "mdi:cog", form: "rounded", label: "Get Google Search Results fo..", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "Get Google Search Results fo..", pos: "b", h: 48 }
n8["<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/>Parse Google Analytics Data"]
n9["<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/>Parse Google Analytics Data1"]
n10@{ icon: "mdi:cog", form: "rounded", label: "Get Country views data for t..", pos: "b", h: 48 }
n11@{ icon: "mdi:cog", form: "rounded", label: "Get Country views data for l..", pos: "b", h: 48 }
n12["<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/>Parse Google analytics data"]
n13["<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/>Parse Google analytics data1"]
n14["<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/>Send page data to A.I."]
n15["<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/>Send page Search data to A.I."]
n16["<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/>Send country view data to A.I."]
n17["<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/baserow.svg' width='40' height='40' /></div><br/>Save A.I. output to Baserow"]
n5 --> n6
n0 --> n2
n14 --> n15
n8 --> n7
n12 --> n11
n9 --> n10
n13 --> n14
n15 --> n16
n16 --> n17
n4 --> n3
n1 --> n2
n11 --> n13
n10 --> n12
n7 --> n9
n6 --> n8
n2 --> n4
n3 --> n5
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,n1 trigger
class n14,n15,n16 api
class n4,n5,n8,n9,n12,n13 code
classDef customIcon fill:none,stroke:none
class n4,n5,n8,n9,n12,n13,n14,n15,n16,n17 customIcon
Problemet: veckovis SEO-rapportering blir till gissningslek
Week-over-week SEO-rapportering borde vara tråkig. Samma sektioner, samma logik, snabb jämförelse och sedan går du vidare. Men i verkligheten blir processen rörig snabbt. Du hämtar ”den här veckan”, och inser sedan att du använde fel datumintervall förra gången. Du exporterar sidprestanda, och glömmer sedan vilket mått du använde (visningar, användare, sessioner, engagemang). Och när någon frågar ”Så vad förändrades?”, slutar det med att du skannar tabeller och skriver en sammanfattning ur minnet. Ärligt talat är det inte analys. Det är panikfixande.
Friktionen byggs på. Här är var det oftast faller isär.
- Du återskapar samma jämförelser varje vecka, och det tar ändå cirka 1–2 timmar.
- Två personer kan titta på samma GA-grafer och skriva två helt olika ”insikter”, så teamet slutar lita på rapporten.
- Exporter hamnar på slumpmässiga ställen (Sheets, Drive, e-posttrådar), vilket gör det svårt att gå tillbaka och följa beslut senare.
- När du har mycket att göra halkar rapporteringen efter, och du tappar vanan att mäta SEO-framsteg konsekvent.
Lösningen: week-over-week GA-sammanfattningar loggade i Baserow
Det här n8n-arbetsflödet körs enligt schema (eller manuellt när du vill) och hämtar Google Analytics-data för de senaste 7 dagarna, och hämtar sedan veckan innan som jämförelsefönster. Det upprepar processen över tre rapporteringsvinklar som spelar roll för SEO: visningar per land, sidengagemang för ditt toppinnehåll och organisk sökprestanda (via dina Search Console-kopplade mätvärden i GA-rapporteringen). När båda tidsfönstren är insamlade formaterar arbetsflödet datan till strukturerade payloads och skickar den till en AI-endpoint (OpenRouter, anropat via HTTP Request-noder) för analys. Därefter sparar det AI-skrivna sammanfattningarna i Baserow, så att din rapportering blir ett sökbart, konsekvent arkiv i stället för ett veckovis engångsdokument.
Arbetsflödet startar med en Scheduled Run Trigger, hämtar mätvärden för ”innevarande vecka” och ”föregående vecka” för varje sektion, och skickar sedan tre separata insiktsförfrågningar till AI. Slutligen skriver det allt till en enda rad i Baserow, så att du kan överblicka förändringar över tid utan att öppna GA alls.
Det här får du: automation vs. resultat
| Vad det här arbetsflödet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du gör en veckovis SEO-koll för en webbplats och vanligtvis granskar tre datapaket: landstrafik, toppsidor och organisk sökprestanda. Manuellt kan du lägga cirka 20 minuter per sektion på att välja rätt datumintervall och exportera, och sedan ytterligare 30 minuter på att skriva en sammanhängande sammanfattning, alltså runt 1,5 timmar. Med det här arbetsflödet klickar du på ”execute” (eller låter schemat köra), väntar några minuter på AI-svaren och sen är du klar. Du får jämförelsen plus en skriven sammanfattning sparad i Baserow, redo att vidarebefordra eller klistra in i en kunduppdatering.
Det du behöver
- n8n-instans (prova n8n Cloud gratis)
- Self-hosting-alternativ om du föredrar det (Hostinger fungerar bra)
- Google Analytics (GA4) för att hämta week-over-week-prestandadata.
- Baserow för att lagra veckosammanfattningar i en databas.
- OpenRouter-uppgifter (hämta dem i inställningarna i din OpenRouter-dashboard).
Svårighetsgrad: Medel. Du klistrar in några inloggningsuppgifter, lägger till ditt GA property ID och mappar Baserow-fält en gång.
Vill du inte sätta upp detta själv? Prata med en automationsexpert (gratis 15-minuterskonsultation).
Så fungerar det
Ett veckoschema (eller manuell körning) sätter igång allt. Arbetsflödet innehåller både en Scheduled Run Trigger och en Manual Launch Trigger, så att du kan automatisera vanan men ändå köra det vid begäran inför ett möte.
Google Analytics-data hämtas två gånger för varje rapportsektion. Först hämtas ”den här veckan”, sedan hämtas ”föregående vecka” med samma upplägg. Den repeterbarheten är hela poängen, eftersom den gör jämförelserna ärliga.
Arbetsflödet formaterar mätvärdena till tydliga payloads för AI-analys. Kodsteg (”encode”-noder) förbereder sidengagemang, sökmått och landsvisningar så att AI-endpointen får konsekventa inputs, inte röriga exporter.
AI skriver sammanfattningen och Baserow lagrar den. Tre HTTP-förfrågningar skickar datasetten för analys, och sedan sparar ett Baserow-steg slutresultatet i de fält du definierar (som Country Views, Page Views och Search Report), kopplat till webbplatsnamnet.
Du kan enkelt ändra rapportfönstren från 7 dagar till 30 dagar utifrån dina behov. Se hela implementationsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementering
Steg 1: konfigurera den schemalagda triggern
Konfigurera arbetsflödet så att det körs på ett veckoschema eller manuellt för testning.
- Lägg till och konfigurera Scheduled Run Trigger med ett veckointervall (regel-fältet är redan inställt på weekly i arbetsflödet).
- Låt Manual Launch Trigger vara ansluten till Fetch Page Engagement This Week så att ni kan köra tester vid behov.
- Bekräfta körvägen: Scheduled Run Trigger → Fetch Page Engagement This Week.
Steg 2: anslut datakällor i Google Analytics
Konfigurera GA4-hämtningar för sidengagemang, sökmetrik och landsvisningar. Det här arbetsflödet kedjar Google Analytics-noder i följd.
- Öppna Fetch Page Engagement This Week och ange Property ID till er GA4-egendom (fältvärdet är
[YOUR_ID]). - Inloggning krävs: anslut era googleAnalyticsOAuth2-inloggningsuppgifter på Fetch Page Engagement This Week, Fetch Search Metrics This Week, Fetch Search Metrics Prior och Fetch Country Views Current.
- Uppdatera datumintervallet för Fetch Page Engagement Prior Week: ställ in Start Date till
={{$today.minus({days: 14})}}och End Date till2024-10-23T00:00:00(eller ersätt med ert önskade slutdatum). - Uppdatera noder för föregående period för egna intervall: Fetch Search Metrics Prior och Fetch Country Views Prior använder Start Date
={{$today.minus({days: 14})}}och End Date={{$today.minus({days: 7})}}. - Bekräfta kedjan: Fetch Page Engagement This Week → Encode Page Metrics Payload → Fetch Page Engagement Prior Week → Encode Prior Page Metrics → Fetch Search Metrics This Week → Encode Search Metrics Current → Fetch Search Metrics Prior → Encode Search Metrics Prior → Fetch Country Views Current → Encode Country Views Current → Fetch Country Views Prior → Encode Country Views Prior.
Steg 3: konfigurera noder för datakodning
Dessa kodnoder omvandlar GA4-data till URL-kodade JSON-strängar för AI-prompterna.
- Öppna Encode Page Metrics Payload och behåll den medföljande JavaScript-koden för URL-kodning (inga ändringar krävs om ni inte justerar mätvärden).
- Upprepa valideringen för Encode Prior Page Metrics, Encode Search Metrics Current, Encode Search Metrics Prior, Encode Country Views Current och Encode Country Views Prior.
- Säkerställ att varje kodnod returnerar
{ json: { urlString } }eller{ json: { urlString: result } }exakt som definierat så att efterföljande noder kan referera till$json.urlString.
rows-array. Skripten kastar fel när GA4 returnerar tomma eller oväntade strukturer.Steg 4: konfigurera generering av AI-insikter
Arbetsflödet skickar den kodade datan till OpenRouter via HTTP-förfrågningar och tar emot AI-genererade markdown-insikter.
- I Post Page Insights to AI, ställ in URL till
https://openrouter.ai/api/v1/chat/completions, Method till POST, och behåll Authentication som genericCredentialType med HTTP Header Auth. - Ange JSON Body i Post Page Insights to AI till det tillhandahållna uttrycket inklusive
{{ $json.urlString }}och{{ $('Encode Page Metrics Payload').item.json.urlString }}. - I Post Search Insights to AI, behåll uttrycket för JSON body som använder
{{ $('Encode Search Metrics Prior').item.json.urlString }}och{{ $('Encode Search Metrics Current').item.json.urlString }}. - I Post Country Insights to AI, behåll uttrycket för JSON body som använder
{{ $('Encode Country Views Prior').item.json.urlString }}och{{ $('Encode Country Views Current').item.json.urlString }}.
Steg 5: konfigurera lagring av utdata i Baserow
Lagra AI-sammanfattningarna i Baserow med fältmappningar för sid-, sök- och landsinsikter.
- Öppna Store AI Summary in Baserow och ange Database ID och Table ID till era Baserow-ID:n (ersätt
[YOUR_ID]). - Mappa fält med de tillhandahållna uttrycken:
Page insights →{{ $('Post Page Insights to AI').item.json.choices[0].message.content }}
Search insights →{{ $('Post Search Insights to AI').item.json.choices[0].message.content }}
Country insights →{{ $json.choices[0].message.content }}
Timestamp →{{ DateTime.now() }} - Låt Operation vara inställt på create.
Steg 6: testa och aktivera ert arbetsflöde
Kör ett manuellt test för att validera hela datakedjan och AI-utdata, och aktivera sedan den schemalagda körningen.
- Klicka på Execute Workflow med Manual Launch Trigger.
- Bekräfta att Post Page Insights to AI, Post Search Insights to AI och Post Country Insights to AI returnerar markdown-svar i
choices[0].message.content. - Verifiera att en ny post skapas i Baserow från Store AI Summary in Baserow med alla tre insiktsfälten ifyllda.
- När ni är nöjda, växla arbetsflödet till Active så att Scheduled Run Trigger körs veckovis i produktion.
Vanliga fallgropar
- Google Analytics-inloggningar kan löpa ut eller kräva specifika behörigheter. Om något slutar fungera, kontrollera sidan Credentials i n8n och bekräfta att GA-kontot fortfarande har åtkomst till rätt property ID.
- Om du använder Wait-noder eller extern bearbetning varierar processtiderna. Öka väntetiden om noder längre fram misslyckas på grund av 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 inloggningsuppgifter och din Baserow-tabell är redo.
Nej. Du kopplar konton och klistrar in ditt GA property ID. ”encode”-stegen är redan byggda, så du konfigurerar främst indata och destinationer.
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 med OpenRouter-kostnader, som beror på vilken modell du väljer.
Två alternativ: n8n Cloud (hanterad, 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änsat antal körningar men kräver grundläggande serverhantering.
Ja, men du vill justera på två ställen. Uppdatera datumintervallet som används av Google Analytics-hämtningarna ”den här veckan” och ”föregående vecka” (till exempel senaste 30 dagarna och de 30 dagarna innan det), och justera sedan AI-prompten i HTTP Request-payloaden så att sammanfattningen pratar om month-over-month-förändringar. Vanliga anpassningar är att lägga till konverteringar, filtrera till en blogg-undermapp och spara extra fält i Baserow som ”Åtgärder” eller ”Sidor att uppdatera.”
Oftast är det utgångna inloggningsuppgifter eller fel GA property ID. Återanslut Google Analytics-uppgiften i n8n och bekräfta sedan att det kopplade Google-kontot har behörighet till den egendomen. Om det bara misslyckas ibland kan det också bero på kvotbegränsningar när du hämtar för många mätvärden samtidigt.
På n8n Cloud Starter kan du köra några tusen körningar per månad, vilket räcker gott för veckorapportering för ett fåtal webbplatser. Om du self-hostar finns ingen körningsgräns, så det beror mest på din server och hur snabbt AI-endpointen svarar. I praktiken är det här arbetsflödet lättviktigt eftersom det sparar en sammanfattad rad per körning, inte tusentals råa händelser.
Ofta, ja. Det här arbetsflödet kräver flera hämtningar, week-over-week-jämförelser och några steg där du ”formar datan först” innan AI-sammanfattningen, vilket är där Zapier-scenarier kan bli dyra eller klumpiga. n8n ger dig också möjligheten att self-hosta, vilket spelar roll om du vill ha förutsägbara kostnader. Om du bara behöver ”skicka mig en GA-sammanfattning via e-post” kan Zapier eller Make fungera bra. Om du vill ha en konsekvent rapportdatabas i Baserow brukar n8n passa bättre. Prata med en automationsexpert om du vill ha hjälp att välja.
Din veckovisa SEO-rapportering kan vara ett system, inte ett återkommande miniprojekt. Sätt upp det här en gång, låt det köra och använd den sparade tiden till att faktiskt förbättra webbplatsen.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.