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

Meta Ads + Google Ads-varningar i Slack, loggas i Sheets

Rickard Andersson Partner, Nodenordic.se

Dina annonser “kraschar” sällan på ett dramatiskt sätt. De glider. CTR mjuknar, ROAS sjunker, spend fortsätter rulla på, och du märker det två dagar senare i en dashboard du inte hann öppna i går.

Det här är exakt den typen av röra performance marketers hanterar varje dag. Byråägare känner av det när kunder frågar: “Varför har leads gått ner?” Och grundare som kör med små team drabbas också. Den här automatiseringen för annonsdippsvarningar fångar fall i CTR och ROAS automatiskt, säger till i Slack och loggar detaljerna för rapportering.

Nedan ser du hur flödet körs, vilka resultat du kan förvänta dig och vad du behöver för att göra “dagliga kontroller” till ett system i bakgrunden.

Så fungerar den här automatiseringen

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

n8n Workflow Template: Meta Ads + Google Ads-varningar i Slack, loggas i Sheets

Problemet: tapp i annonsresultat upptäcks för sent

Att kolla resultat i Meta Ads och Google Ads låter enkelt tills det blir en ritual två gånger om dagen. Du loggar in på två plattformar, filtrerar på i går, skannar CTR, skannar ROAS, klickar in i några kampanjer och försöker sedan minnas hur “normalt” såg ut förra veckan. Det är mentalt stökigt arbete. Och det är lätt att missa tidiga varningssignaler eftersom siffrorna bara ser “lite off” ut. När det väl är uppenbart har du redan spenderat pengar på att lära dig en läxa du inte behövde lära dig.

Friktionen byggs på. Här är var det faller isär.

  • Du förlitar dig på minnet för benchmarks, så “är det här dåligt?” blir en daglig diskussion.
  • Team ser dippar på olika ställen (Ads Manager, Google Ads-gränssnittet, dashboards), vilket skapar inkonsekventa reaktioner.
  • Manuella kontroller hoppas över på stressiga dagar, och stressiga dagar är när misstag blir dyra.
  • När en kund frågar vad som hände är historiken utspridd mellan skärmdumpar och halvfärdiga anteckningar.

Lösningen: daglig övervakning av Meta + Google med varningar och en strukturerad logg

Det här workflowet kör en daglig kontroll för Meta Ads och en separat daglig kontroll för Google Ads, och utvärderar sedan båda med samma logik. Det hämtar gårdagens kampanjmått, standardiserar datan (så att Meta och Google ser konsekventa ut) och beräknar CTR och ROAS mot fasta benchmarks som du definierar. Om en kampanj hamnar under tröskelvärdena flaggar workflowet den och skickar varningar där teamet redan jobbar: Slack för synlighet, Gmail för en mer detaljerad dokumentation och WhatsApp för den där “missa inte detta”-knuffen. Efter att notiserna gått ut väntar det en kort stund och skriver resultaten till Google Sheets, så att du bygger ett snyggt revisionsspår som faktiskt går att använda i rapportering.

Workflowet startar med schemalagda triggers för varje annonsplattform. Sedan utvärderar ett kodsteg dippar i resultat och en If-gren behåller bara kampanjerna som behöver åtgärdas. Till sist skickar n8n varningarna och uppdaterar din Google Sheets-logg när leveransen är klar.

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

Exempel: så här ser det ut i praktiken

Säg att du hanterar 12 kampanjer i Meta och Google. En typisk manuell rutin tar cirka 3 minuter per kampanj när du räknar in att logga anteckningar, vilket landar på ungefär 35–40 minuter per dag. Med det här workflowet är “arbetet” i princip noll: schematriggaren kör, kontrollerna processas i bakgrunden, och du lägger bara tid på de 1–3 kampanjer som blir flaggade. De flesta dagar blir det 5–10 minuter fokuserad åtgärd i stället för en full genomgång.

Det du behöver

  • n8n-instans (testa n8n Cloud gratis)
  • Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
  • Google Ads för att hämta kampanjmått.
  • API-åtkomst till Meta Ads för att hämta Meta-kampanjmått.
  • Google Sheets för den löpande resultatloggen.
  • Slack för att posta varningar till teamets kanal.
  • Gmail för att skicka detaljerade e-postnotiser.
  • WhatsApp för varningar med hög prioritet.

Svårighetsnivå: Medel. Du kopplar konton, sätter tröskelvärden och granskar ett litet kodsteg som beräknar CTR/ROAS.

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

Så fungerar det

Dagliga triggers kör kontrollerna. Ett schema startar Meta-hämtningen på morgonen och ett andra schema kör Google Ads-hämtningen senare under dagen (du kan synka båda med din rapporteringstidszon).

Gårdagens mått hämtas och standardiseras. n8n begär Meta-resultat via HTTP, hämtar Google-kampanjer via Google Ads-noden och använder sedan “Set”-steg för att normalisera fält och applicera dina benchmark-antaganden.

Dippar i resultat upptäcks automatiskt. Ett kodsteg beräknar CTR och ROAS och flaggar underpresterare. If-grenen behåller bara kampanjerna som faktiskt behöver åtgärd, och Split In Batches loopar igenom varje flaggat objekt så att varningarna inte blandas ihop.

Varningar skickas ut och sedan loggas allt. Slack får den snabba förvarningen, Gmail innehåller alla detaljer, WhatsApp tillför brådska, och efter en kort väntan uppdaterar workflowet Google Sheets så att du har en strukturerad historik för rapportering.

Du kan enkelt justera benchmarks så att de matchar ditt konto (eller till och med sätta olika tröskelvärden per kampanj) utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.

Steg-för-steg-guide för implementation

Steg 1: Konfigurera schematriggern

Ställ in de två tidsbaserade triggrarna som startar övervakningskörningar för Meta och Google Ads varje morgon och vid lunchtid.

  1. Välj Morning Schedule Trigger och ställ in regelintervallet att köra vid timme 9.
  2. Välj Midday Schedule Trigger och ställ in regelintervallet att köra vid timme 10 (minut är tom i arbetsflödet).
  3. Bekräfta att Morning Schedule Trigger är kopplad till Request Meta Ads Metrics och att Midday Schedule Trigger är kopplad till Retrieve Google Campaigns.

Tips: Justera trigger-timmarna så att de matchar ert rapporteringsfönster så att data för ”yesterday” är fullt tillgänglig.

Steg 2: Anslut datakällor för Meta och Google Ads

Konfigurera noderna som hämtar data för Meta och Google Ads så att prestationsmått kan analyseras.

  1. I Request Meta Ads Metrics ställer ni in URL till your-facebook-graph-api-endpoint.
  2. I Request Meta Ads Metrics aktiverar ni Send Query och Send Headers och anger query-parametrar: fields till campaign_name,impressions,clicks,spend,actions,action_values, date_preset till yesterday och level till campaign.
  3. Ställ in headern Authorization i Request Meta Ads Metrics till Bearer [CONFIGURE_YOUR_TOKEN].
  4. Öppna Retrieve Google Campaigns och anslut den till ert Google Ads-konto.
  5. Säkerställ att Retrieve Google Campaigns skickar vidare utdata till Assign Google Benchmarks enligt arbetsflödet.

Inloggningsuppgifter krävs: Anslut era Google Ads-inloggningsuppgifter i Retrieve Google Campaigns. Den här noden kräver inloggningsuppgifter, men inga är konfigurerade i arbetsflödet.

⚠️ Vanlig fallgrop: Om Meta Graph API-token saknas eller har gått ut i Request Meta Ads Metrics kommer arbetsflödet att fallera innan benchmarkingen.

Steg 3: Ställ in bearbetning av performance

Normalisera fält för varje plattform, beräkna sedan CTR/ROAS och flagga nedgångar.

  1. I Assign Meta Benchmarks mappar ni fält med befintliga uttryck, till exempel campaign_name till {{ $json.campaign_name }} och platform till META.
  2. I Assign Google Benchmarks mappar ni samma fält och ställer in platform till Google.
  3. Granska koden i Evaluate Performance Dip för tröskelvärden: const MIN_CTR = 2 och const MIN_ROAS = 4.
  4. Bekräfta att Evaluate Performance Dip ger utdata i alert, Performance_Status och Drop_Reason för vidare routing.
  5. Ställ in Branch on Alert Flag att utvärdera {{ $json.alert }} som true.

Steg 4: Konfigurera alertrouting och notifieringar

Skicka larm när performance faller och behåll den ursprungliga datamängden för loggning.

  1. Bekräfta att Branch on Alert Flag skickar utdata till Iterate Alert Items när {{ $json.alert }} är true.
  2. I Iterate Alert Items behåller ni standardinställningarna för batch så att varje alert-item itereras individuellt.
  3. Iterate Alert Items skickar utdata parallellt till Post Slack Alert, Dispatch Email Alert och Send WhatsApp Alert.
  4. I Post Slack Alert behåller ni uttrycket för meddelandet i Text och väljer mål-Channel med [YOUR_ID].
  5. I Dispatch Email Alert ställer ni in Send To till [YOUR_EMAIL] och behåller Subject som 🚨 Ad Performance Alert: Immediate Attention Required.
  6. I Send WhatsApp Alert behåller ni Operation satt till send och lägger till era anslutningsuppgifter för WhatsApp.
  7. Lämna Rehydrate Items Script som det är för att hämta data på nytt från Evaluate Performance Dip för loggning.

Inloggningsuppgifter krävs: Anslut era slackOAuth2Api-inloggningsuppgifter i Post Slack Alert.

Inloggningsuppgifter krävs: Anslut era gmailOAuth2-inloggningsuppgifter i Dispatch Email Alert.

Inloggningsuppgifter krävs: Lägg till era inloggningsuppgifter för WhatsApp-leverantören i Send WhatsApp Alert. Den här noden kräver inloggningsuppgifter, men inga är konfigurerade i arbetsflödet.

Steg 5: Logga resultat till Google Sheets

Fördröj lite och lägg sedan till eller uppdatera alertloggen i Google Sheets.

  1. Behåll Rehydrate Items Script kopplad till Delay Before Log för att undvika omedelbara loggningskonflikter.
  2. I Update Sheets Log ställer ni in Operation till appendOrUpdate.
  3. Välj Document ID som [YOUR_ID] och Sheet Name som Ad_Performance_Log.
  4. Bekräfta kolumnmappningar som CTR{{ $json.ctr }}, Date{{$now.format('yyyy-MM-dd')}}, ROAS{{ $json.roas }} och Campaign_Name{{ $json.campaign_name }}.
  5. Behåll de statiska värdena: CurrencyINR och Alert_ChannelSlack,Email,whatsapp.

Inloggningsuppgifter krävs: Anslut era Google Sheets-inloggningsuppgifter i Update Sheets Log. Den här noden kräver inloggningsuppgifter, men inga är konfigurerade i arbetsflödet.

Steg 6: Testa och aktivera ert arbetsflöde

Validera alertrouting, loggning och dataformatering innan ni slår på schemalagda körningar.

  1. Klicka på Execute Workflow och kör från Morning Schedule Trigger för att simulera Meta Ads-flödet.
  2. Verifiera att Evaluate Performance Dip ger ut beräknade fält för ctr, roas och alert.
  3. Bekräfta att alert-items flödar genom Iterate Alert Items och triggar Post Slack Alert, Dispatch Email Alert och Send WhatsApp Alert.
  4. Kontrollera Google Sheet för att säkerställa att Update Sheets Log skriver en rad med Performance_Status och Drop_Reason.
  5. När allt är bekräftat växlar 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

Vanliga fallgropar

  • Google Ads-autentisering kan gå ut eller kräva rätt åtkomstnivå till kontot. Om varningarna plötsligt slutar, kontrollera Google Ads-anslutningen i n8n och bekräfta att valt kundkonto är korrekt.
  • Om du använder Wait-noder eller extern bearbetning varierar tajmingen. Öka väntetiden om Google Sheets-loggsteget kör innan notisnoderna är klara och du ser saknade fält.
  • Slack-meddelanden kan misslyckas utan att det syns om boten inte får posta i kanalen du valt. Verifiera att Slack-appen är inbjuden till kanalen och har behörighet att skriva meddelanden.

Vanliga frågor

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

Cirka 30 minuter om dina annonskonton och Slack redan är kopplade.

Behöver jag kunna koda för att automatisera annonsdippsvarningar?

Nej. Du kopplar mest konton och sätter tröskelvärden. Kodsteget är redan skrivet och du kan låta det vara som det är.

Är n8n gratis att använda för det här workflowet för annonsdippsvarningar?

Ja. n8n har ett gratis self-hosted-alternativ och en gratis testperiod på n8n Cloud. Cloud-planer startar på 20 USD/månad för högre volymer. Du behöver också räkna in kostnader från kopplade tjänster, som WhatsApp-meddelanden, eller eventuella betalda Google Ads/Meta API-krav kopplade till dina konton.

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 klarar n8n bra. Self-hosting ger dig obegränsat antal körningar men kräver grundläggande serverhantering.

Kan jag anpassa det här workflowet för annonsdippsvarningar med olika CTR/ROAS-mål per kampanj?

Ja, men det kräver en liten justering. Det enklaste är att lägga till benchmark-fält i stegen “Assign Meta Benchmarks” och “Assign Google Benchmarks” och sedan låta “Evaluate Performance Dip” läsa de värdena per item. Vanliga anpassningar är separata trösklar per kampanjtyp, olika varningstexter per plattform och att logga extra fält som spend eller konverteringar i Google Sheets.

Varför misslyckas min Meta Ads-anslutning i det här workflowet?

Oftast handlar det om utgångna access tokens eller saknade behörigheter på Meta-appen/användaren du autentiserade med. Uppdatera autentiseringen i n8n och bekräfta att annonskontot har API-åtkomst. Om det bara fallerar vissa dagar kan det också vara rate limiting eller att API-svaret ändrat form, vilket syns i exekveringsutdata för HTTP Request-noden.

Hur många kampanjer klarar den här automatiseringen för annonsdippsvarningar?

Tillräckligt för de flesta små team.

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

Ofta ja, om du bryr dig om kontroll och kostnad. Det här workflowet bygger på grenar, loopar igenom flaggade kampanjer och ett kodbaserat utvärderingssteg som är enkelt i n8n men kan bli klumpigt (och dyrt) i mer linjära verktyg. Self-hosting innebär också att du inte betalar per task när volymerna ökar. Zapier eller Make kan fortfarande vinna för snabba två-app-automationer med minimal logik, ärligt talat. Om du vill ha en second opinion på din setup, prata med en automationsexpert.

När det här väl rullar slutar du “kolla annonser” och börjar reagera på riktiga problem. Workflowet sköter skanningen och loggningen så att du kan fokusera på åtgärder som faktiskt lyfter ROAS.

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