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

YouTube till Google Sheets, logga konkurrentvideor

Rickard Andersson Partner, Nodenordic.se

Du börjar med konkurrentanalysen med goda intentioner. Sedan blir det en rörig mix av flikar, halvt kopierade video-URL:er och ett kalkylark som ingen litar på.

YouTube Sheets logging slår hårdast mot content strategists först. Men marknadsansvariga som bygger dashboards och solokonsulter som gör revisioner känner samma friktion. Du vill ha en korrekt formaterad lista med videor per kanal, inte ännu en fil som “vi städar upp senare”.

Det här arbetsflödet hämtar videor från valfri YouTube-kanal och skriver in dem snyggt i Google Sheets, med ett enkelt statussystem så att du alltid vet vad som körde, vad som misslyckades och vad som kräver åtgärd.

Så fungerar den här automatiseringen

Se hur den här löser problemet:

n8n Workflow Template: YouTube till Google Sheets, logga konkurrentvideor

Utmaningen: konkurrenters videoresearch blir en kalkylarks-mardröm

Att följa konkurrentkanaler låter enkelt tills du gör det varje vecka. Du öppnar en kanal, scrollar, kopierar en länk, klistrar in den någonstans och inser sedan att du missade publiceringsdatumet eller tog fel titel. Multiplicera det med en handfull kanaler och plötsligt har du bränt en eftermiddag på admin i stället för att lära dig vad som fungerar. Än värre: inkonsekvent formatering saboterar sortering och filtrering, vilket gör att ditt “research-kalkylark” blir en hög anteckningar som inte kan driva en dashboard, en rapport eller ett strategisamtal.

Det eskalerar snabbt. Här är var det oftast faller isär.

  • Du slösar cirka 10 minuter per kanal bara på att samla in grunderna, och det är innan du städar något.
  • Videotitlar och URL:er blir inkonsekventa, så dubbletter smyger in och dina siffror blir opålitliga.
  • Någon glömmer att registrera miniatyrbilder eller publiceringsdatum, vilket gör snabbskanning och färskhetsanalys irriterande.
  • Det finns ingen tydlig “klar/fel”-indikator, så du dubbelkollar kanaler som du redan har bearbetat.

Lösningen: hämta kanalvideor automatiskt till ett strukturerat Google Sheet

Det här n8n-arbetsflödet gör din YouTube-konkurrentlista till strukturerad data som du faktiskt kan använda. Du behåller en enkel flik “Channel URLs” i Google Sheets med kanallänkar (fullständiga URL:er, anpassade URL:er eller råa kanal-ID:n) och en statuskolumn. När du kör arbetsflödet läser det bara rader markerade “Ready”, avgör vilken typ av input varje rad är och konverterar URL:er till korrekt kanal-ID vid behov. Sedan anropar det YouTube API:t, hämtar de senaste publika videorna (10 som standard) och skriver varje video som en egen korrekt formaterad rad i fliken “Videos” med titel, länk, beskrivning, miniatyrbild-URL, publiceringsdatum med mera. Om något misslyckas markeras kanalraden som “Error” så att du inte tappar bort vad som hände.

Arbetsflödet startar med en manuell körning i n8n, så du behåller kontrollen. I mitten normaliserar det kanalinputs, pausar kort mellan batcher och validerar API-svaret så att felaktiga anrop inte förstör ditt ark. Till sist upsertar det videoposter i Google Sheets och markerar varje kanal som Finished eller Error.

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

Praktisk effekt i verkligheten

Säg att du följer 12 konkurrentkanaler och loggar de senaste 10 videorna för varje. Gör du det manuellt kan du lägga cirka 10 minuter per kanal på att samla titlar, länkar, datum och miniatyrbilder, alltså runt 2 timmar. Med det här arbetsflödet klistrar du in kanallistan en gång, sätter dem till “Ready” och kör; hands-on-tiden blir närmare 10 minuter, sedan väntar du på att API-anropen och arkuppdateringarna blir klara. Det är en rejäl mängd tid tillbaka varje vecka, och din data blir mer korrekt formaterad.

Krav

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Google Sheets för att lagra kanaler och videorader.
  • YouTube Data API för att hämta kanalvideor via HTTP Request.
  • Google Cloud-inloggningsuppgifter (skapa i Google Cloud Console för åtkomst till Sheets + YouTube API)

Kunskapsnivå: Medel. Du kopplar Google-inloggning och bekräftar att flikar/kolumner i arket matchar mallen.

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

Flödet i arbetsflödet

Manuell körning från n8n. Du klickar på Execute (eller Test), vilket är smidigt när du vill uppdatera research enligt din egen plan.

Kanallistan hämtas från Google Sheets. Arbetsflödet läser fliken “Channel URLs” och bearbetar bara rader markerade “Ready”, så du kan köa arbete utan att röra automatiseringen.

Inputs normaliseras innan några YouTube-anrop. Ett routing-steg kontrollerar om du angav ett rått kanal-ID eller en URL. Om det är en anpassad eller full URL extraherar det handtaget och anropar YouTube API:t för att slå upp korrekt kanal-ID.

Videor hämtas, valideras och skrivs sedan korrekt formaterat. Svaret från YouTube API:t kontrolleras för lyckat resultat, delas upp i enskilda videoobjekt och upsertas till fliken “Videos”. Den ursprungliga kanalraden uppdateras till Finished, eller flaggas som Error för snabb uppföljning.

Du kan enkelt ändra standardgränsen “10 videor per kanal” för att hämta fler (eller färre) 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 och hämtar sedan kanallistan för bearbetning.

  1. Lägg till noden Manual Run Starter som trigger.
  2. Koppla Manual Run Starter till Fetch Channel List.

Steg 2: Anslut Google Sheets

Dessa noder läser kanalindata och skriver tillbaka resultaten till ert kalkylark.

  1. Öppna Fetch Channel List och ställ in Document till [YOUR_ID] och Sheet till Channel Urls.
  2. Ställ in filtret i Fetch Channel List till Status = ready.
  3. Öppna Upsert Video Records och ställ in Document till [YOUR_ID] och Sheet till Videos.
  4. Bekräfta att Upsert Video Records använder Operation = appendOrUpdate med Matching Columns = video_url.
  5. Öppna Mark Channel Success och Mark Channel Error och ställ in Document till [YOUR_ID] och Sheet till Channel Urls.
  6. Credential Required: Anslut era googleSheetsOAuth2Api-inloggningsuppgifter i Fetch Channel List, Upsert Video Records, Mark Channel Success och Mark Channel Error.

Steg 3: Sätt upp kanalparsning och routning

Det här steget standardiserar kanalindata och routar dem baserat på ID- eller handle-format.

  1. Koppla Fetch Channel List till Batch Iterator, och sedan till Route Channel Input.
  2. I Route Channel Input behåller ni de fem regex-reglerna för {{$json.channel_url}} för att routa kanal-URL:er, ID:n och handles.
  3. Konfigurera Assign Channel ID A med channel_id = {{ $json.channel_url.match(/UC[\w-]{22}/)?.[0] || '' }}.
  4. Konfigurera Extract Channel Handle med channel_username = {{ $json.channel_url.replace(/^https?:\/\/(www\.)?youtube\.com\/@/, '').replace(/^@/, '') || '' }}.
  5. Säkerställ att Route Channel Input skickar utdata till Assign Channel ID A eller Extract Channel Handle beroende på matchningen.

Tips: Regex-mönstren i Route Channel Input tillåter råa handles som @channel och fullständiga URL:er; behåll dem som de är om inte ert indataformat ändras.

Steg 4: Konfigurera YouTube API-anrop

Dessa noder hämtar kanal-ID:n (vid behov) och hämtar nyliga videor.

  1. I API Request Channel ID ställer ni in URL till https://www.googleapis.com/youtube/v3/channels och behåller forHandle = {{ $json.channel_username }}.
  2. Ställ in Assign Channel ID B med channel_id = {{ $json.body.items[0].id }}.
  3. I API Fetch Channel Videos ställer ni in URL till https://www.googleapis.com/youtube/v3/search, channelId = {{ $json.channel_id }} och maxResults = {{ $('Fetch Channel List').item.json.limit || 10 }}.
  4. Credential Required: Anslut era youTubeOAuth2Api-inloggningsuppgifter i API Request Channel ID och API Fetch Channel Videos.

Steg 5: Bearbeta API-resultat och uppdatera Sheets

Arbetsflödet validerar svar, skriver videorader och markerar varje kanal som klar eller felad.

  1. I Validate API Response behåller ni villkoret {{ $json.body.pageInfo.totalResults }} greater than 0.
  2. Koppla API Fetch Channel Videos till Validate API Response.
  3. Validate API Response skickar utdata parallellt till både Split Video Items och Mark Channel Success.
  4. Ställ in Split Video Items Field To Split Out till body.items, och koppla sedan den till Upsert Video Records.
  5. Bekräfta att Mark Channel Success sätter status till finish och last_fetched_time till {{ $now.toISO().toString().slice(0, 19).replace('T', ' ') }}.
  6. På felutgången från Validate API Response kopplar ni in Mark Channel Error och behåller status = error med row_number = {{ $('Batch Iterator').item.json.row_number }}.

⚠️ Vanlig fallgrop: Om Mark Channel Error eller Mark Channel Success inte kan hitta row_number, säkerställ att ert Channel Urls-ark innehåller den kolumnen och att noden Fetch Channel List returnerar den.

Steg 6: Lägg till loop för rate limiting

Den här loopen stryper anrop mellan batch-iterationer.

  1. Koppla Batch Iterator till Pause Briefly.
  2. Ställ in Pause Briefly Amount till 0.01.
  3. Koppla Pause Briefly tillbaka till Batch Iterator för att fortsätta bearbeta batchar.

Steg 7: Testa och aktivera ert arbetsflöde

Kör ett manuellt test för att bekräfta att videor hämtas och skrivs korrekt innan ni aktiverar arbetsflödet.

  1. Klicka på Execute Workflow och följ dataflödet från Manual Run Starter via Fetch Channel List.
  2. Verifiera att Upsert Video Records lägger till/uppdaterar rader i arket Videos med video_url, title och published_at.
  3. Bekräfta att kanaler markeras i Channel Urls som finish eller error av Mark Channel Success och Mark Channel Error.
  4. När ni är nöjda slår ni på arbetsflödets Active-toggle för användning i produktion.
🔒

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

Få den kompletta implementeringsguiden + nedladdningsbar mall

Se upp för

  • Google Sheets-inloggning kan löpa ut eller kräva specifika behörigheter. Om det slutar fungera, kontrollera Google-anslutningen i n8n under Credentials och bekräfta att kontot kan redigera det aktuella kalkylarket.
  • Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om nedströmsnoder misslyckas på grund av tomma svar.
  • HTTP Request-anrop till YouTube Data API kan misslyckas på grund av kvotgränser eller att API:t inte är aktiverat. Om kanaler fortsätter hamna i “Error”, kontrollera ditt Google Cloud Console-projekt för YouTube API-kvot och att API:t faktiskt är aktiverat.

Vanliga frågor

Hur snabbt kan jag implementera den här YouTube Sheets logging-automatiseringen?

Cirka 30 minuter när dina Google-inloggningsuppgifter är klara.

Kan icke-tekniska team implementera den här YouTube Sheets logging?

Ja, men du behöver någon som är bekväm med Google Cloud-konfigurationen. Efter det är det dagliga arbetet bara att uppdatera statusen i arket till “Ready” och köra arbetsflödet.

Är n8n gratis att använda för det här YouTube Sheets logging-arbetsflödet?

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 volymer. Du behöver också ta hänsyn till användningen av YouTube Data API (kvotbaserad, vanligtvis gratis för lättare research).

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 self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärd och hanterar n8n bra. Self-hosting ger obegränsade körningar men kräver grundläggande serveradministration.

Hur anpassar jag den här YouTube Sheets logging-lösningen till mina specifika utmaningar?

Du kan höja gränsen för “videor per kanal” genom att använda värdet från kolumn C i fliken Channel URLs, så att varje kanal kan hämta olika antal. Om du vill köra det automatiskt kan du byta Manual Trigger mot en Google Sheets-trigger som bevakar nya “Ready”-rader. Du kan också utöka HTTP Request som hämtar kanalvideor för att begära extra fält, och sedan justera steget för “rensning” (Edit Fields/Set) innan du skriver till fliken Videos.

Varför misslyckas min YouTube-anslutning i det här arbetsflödet?

Oftast beror det på att YouTube Data API-åtkomst saknas eller är felkonfigurerad i Google Cloud Console. Säkerställ att YouTube Data API är aktiverat i samma projekt som du använde för inloggningsuppgifterna, och att din API-nyckel eller OAuth-behörigheter matchar vad HTTP Request-noderna förväntar sig. Kvotgränser kan också trigga fel om du bearbetar många kanaler samtidigt, så kontrollera kvotsidan och testa en mindre batch. Bekräfta till sist att arbetsflödet kan lösa anpassade kanal-URL:er; om ett handle har ändrats brukar det räcka att uppdatera indata-raden.

Vilken kapacitet har den här YouTube Sheets logging-lösningen?

Den är byggd för att bearbeta kanaler i batcher, och de flesta små team kör utan problem dussintals kanaler per uppdatering. Standardhämtningen är 10 videor per kanal; skalar du upp blir kvoten och skrivhastigheten i arket de praktiska begränsningarna.

Är den här YouTube Sheets logging-automatiseringen bättre än att använda Zapier eller Make?

Ofta, ja. Det här arbetsflödet bygger på villkorsstyrd routing (URL vs kanal-ID), batchning, svarvalidering och uppdateringar för “markera lyckad/fel”, vilket är där n8n förblir flexibelt utan att bli en dyr kedja av uppgifter. Zapier eller Make kan fortfarande fungera om behoven är enkla, men blir klumpiga när du loopar genom många kanaler och skriver många rader. n8n låter dig också self-hosta, vilket spelar roll om du vill ha obegränsade körningar. Om du väljer mellan verktyg: kartlägg först volymen du förväntar dig, och sedan edge cases. Prata med en automationsexpert om du vill ha en second opinion.

När det här väl är på plats slutar konkurrentresearch att kännas som kontorsgöra. Ditt ark håller sig strukturerat, din status speglar verkligheten, och du kan lägga tiden på mönster som faktiskt spelar roll.

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