Veckovis rapportering för Facebook Ads har en särskild talang för att äta upp din måndagsmorgon. Du plockar ut siffror, strukturerar dem, bygger en berättelse, exporterar en PDF, skickar den och får sedan mejlet: ”kan du skicka igen men med förra veckan inkluderad?”
Det här drabbar account managers på byrå hårdast, om vi ska vara ärliga. Men även performance marketers som kör flera annonskonton och små företagare som fortfarande gör ”snabba” rapporter i kalkylark känner av det. Automatisering av Facebook Ads-rapporter gör den återkommande stressen till en konsekvent, kundredo PDF som landar i Gmail enligt schema.
Nedan ser du exakt hur workflowet hämtar förra veckans mätvärden, sammanfattar resultat med AI, skapar en snygg PDF och mejlar ut den utan att du behöver passa processen.
Så fungerar automatiseringen
Hela n8n-workflowet, från trigger till slutligt resultat:
n8n Workflow Template: Facebook Ads till Gmail, PDF-rapporter för kunder
flowchart LR
subgraph sg0["Weekly Flow"]
direction LR
n0["<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/>Format Data"]
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/>Fetch FB Data"]
n2@{ icon: "mdi:play-circle", form: "rounded", label: "Weekly Trigger", pos: "b", h: 48 }
n3@{ icon: "mdi:cog", form: "rounded", label: "Merge Reports", 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/httprequest.dark.svg' width='40' height='40' /></div><br/>Generate PDF"]
n5@{ icon: "mdi:message-outline", form: "rounded", label: "Send Email", pos: "b", h: 48 }
n6@{ icon: "mdi:robot", form: "rounded", label: "AI Report Writer", pos: "b", h: 48 }
n7@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Node", pos: "b", h: 48 }
n8@{ icon: "mdi:brain", form: "rounded", label: "OpenAI", pos: "b", h: 48 }
n9@{ icon: "mdi:robot", form: "rounded", label: "AI Summarizer", pos: "b", h: 48 }
n8 -.-> n9
n7 --> n4
n0 --> n9
n4 --> n5
n9 --> n3
n1 --> n0
n3 --> n6
n2 --> n1
n6 --> n7
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 n2 trigger
class n6,n9 ai
class n8 aiModel
class n1,n4 api
class n0 code
classDef customIcon fill:none,stroke:none
class n0,n1,n4 customIcon
Problemet: veckorapportering för Facebook är skör
Manuell veckorapportering låter hanterbart tills du gör det för flera konton, flera kampanjer och flera intressenter. Du exporterar Facebook-mätvärden och upptäcker sedan att namngivningen är inkonsekvent, datumen matchar inte och en kampanj har ”—” där du förväntade dig siffror. Nu strukturerar du data i stället för att tolka den. Det värsta är kontextbytena: dashboard till kalkylark till dokument till PDF-verktyg till mejl, och sedan tillbaka igen för revideringar. Varje överlämning är en risk för fel, och kunder ser fel snabbt.
Friktionen byggs på. Här brukar det vanligtvis brista.
- Du lägger runt 2 timmar på att samla in och formatera mätvärden innan du ens skriver insikter.
- Copy-paste-fel smyger sig in, så du dubbelkollar allt och missar ändå något.
- Kunder får inkonsekventa rapporter när olika personer ”skriver på sitt sätt”.
- Godkännanden går långsammare eftersom rapporten inte tydligt besvarar ”vad förändrades och vad gör vi härnäst?”
Lösningen: generera och mejla en veckovis PDF-rapport automatiskt
Det här n8n-workflowet körs varje måndag och bygger en delningsklar Facebook Ads-resultatrapport för föregående vecka. Det börjar med att hämta kampanjmätvärden via Facebook Graph API, och därefter strukturerar och normaliserar det mätvärdena så att AI:n inte behöver gissa vad ett fält betyder. Sedan sammanfattar en OpenAI-agent varje kampanjs resultat på klarspråk, inklusive vad som fungerade, vad som inte gjorde det och vad som bör testas nästa vecka. Kampanjsammanfattningarna slås ihop till en sammanhängande berättelse. Till sist konverterar workflowet den färdiga rapporten till en snygg PDF via din föredragna PDF-genererings-API och skickar den till kunden via Gmail.
Workflowet startar med en veckovis schematrigger. Det hämtar Facebook Insights, standardiserar siffrorna och använder OpenAI för att skapa insikter kampanj för kampanj plus en samlad ledningssammanfattning. Sedan mappar det innehållet till HTML, genererar PDF:en och mejlar ut den.
Vad du får: automatisering vs. resultat
| Vad det här workflowet automatiserar | Resultat du får |
|---|---|
|
|
Exempel: så här ser det ut
Säg att du hanterar 6 Facebook-annonskonton och skickar en veckorapport per konto. Manuellt är till och med en ”enkel” loop med att hämta mätvärden (cirka 20 minuter), skriva en sammanfattning (cirka 20 minuter) och exportera/skicka (cirka 10 minuter) ungefär 50 minuter per konto, alltså runt 5 timmar varje måndag. Med det här workflowet lägger du kanske 10 minuter totalt på att snabbt skanna PDF:erna innan de går iväg, medan n8n sköter hämtning, sammanfattning och utskick i bakgrunden. Det är i praktiken din morgon tillbaka.
Det här behöver du
- n8n-instans (testa n8n Cloud gratis)
- Alternativ för self-hosting om du föredrar det (Hostinger fungerar bra)
- Facebook Graph API för att hämta veckovisa kampanjmätvärden.
- OpenAI för att sammanfatta resultat och skriva insikter.
- API-nyckel för PDF-generering (hämta den från din leverantör, som PDFCrowd eller Placid).
Svårighetsgrad: Medel. Du kopplar konton, klistrar in API-nycklar och justerar några fält (som kundens mejladress och datumintervall).
Vill du inte sätta upp det här själv? Prata med en automatiseringsexpert (gratis 15-minuters konsultation).
Så går det till
Veckotrigg kör på måndag. Workflowet startar från en schemalagd trigger så att rapporteringen sker även om du sitter i möten hela förmiddagen.
Facebook-mätvärden hämtas och struktureras. n8n begär föregående veckas Insights från Facebook Graph API, och sedan standardiserar ”Normalize Metrics” resultatet så att varje kampanj blir jämförbar.
OpenAI skapar kampanjinsikter och rekommendationer. Agenten går igenom varje kampanjs mätvärden och skriver anteckningar på klarspråk som du faktiskt kan skicka till kund, och därefter aggregeras sammanfattningarna till en enhetlig rapportberättelse.
Rapporten blir en PDF och mejlas ut. Berättelsen mappas till HTML, skickas till din PDF-genereringstjänst och den färdiga PDF:en skickas via Gmail till dina valda mottagare.
Du kan enkelt ändra rapporteringsschemat till en annan dag utifrån dina behov. Se hela implementeringsguiden nedan för anpassningsalternativ.
Steg-för-steg-guide för implementation
Steg 1: konfigurera den schemalagda triggern
Det här arbetsflödet startar enligt ett veckoschema och initierar datahämtningen från Facebook Insights.
- Lägg till och öppna Scheduled Weekly Start.
- Ställ in veckoregeln: Field till
weeks, triggerAtDay till1, triggerAtHour till8och triggerAtMinute till30. - Bekräfta att noden kopplar till Retrieve Facebook Insights för att starta datahämtningen.
Steg 2: anslut datakällan för Facebook Insights
Det här steget hämtar kampanjmätvärden från Facebooks API och förbereder dem för normalisering.
- Öppna Retrieve Facebook Insights och ställ in URL till
https://graph.facebook.com/v20.0/act_[YOUR_ID]/insights?fields=campaign_name,impressions,clicks,spend,actions&date_preset=last_7d&access_token=[CONFIGURE_YOUR_TOKEN]. - Aktivera Send Headers och lägg till en header-parameter med name
Authoch value[CONFIGURE_YOUR_TOKEN]. - Koppla Retrieve Facebook Insights till Normalize Metrics.
⚠️ Vanlig fallgrop: Facebook-token i både URL:en och headern måste vara giltig och inte utgången, annars misslyckas anropet.
Steg 3: sätt upp normalisering av mätvärden och kampanjanalys
Det här avsnittet standardiserar Facebook-svaret och skapar en kampanjvis sammanfattning med hjälp av en AI-agent.
- I Normalize Metrics behåller ni JavaScript Code som det är, för att platta ut action-typer och konvertera mätvärden till tal.
- Öppna Campaign Insight Agent och ställ in Text till
=Here is Detail TO analyze Campaign_name: {{ $json.campaign_name }} Impressions: {{ $json.impressions }} clicks: {{ $json.clicks }} spend: {{ $json.spend }} date_start :{{ $json.date_start }} date_END {{ $json.date_stop }} Purchase:{{ $json.purchase }} link_click: {{ $json.link_click }}. - Säkerställ att Campaign Insight Agent tar emot input från Normalize Metrics och skickar output till Consolidate Summaries.
- Öppna Language Model Connector och välj modellen
gpt-4.1-mini.
Inloggning krävs: Anslut era OpenAI-inloggningsuppgifter i Language Model Connector. Den här noden tillhandahåller modellen som används av Campaign Insight Agent, så inloggningen måste läggas till på den överordnade connectorn, inte på agenten.
Steg 4: generera HTML-berättelsen för rapporten
De konsoliderade sammanfattningarna omvandlas till en fullständig HTML-rapport med hjälp av en separat AI-prompt.
- Öppna Consolidate Summaries och behåll Fields to Aggregate inställt på
output. - Konfigurera Compose Report Narrative med modellen
gpt-4.1-minioch meddelandeinnehållet=Summary of All Compaigns: {{ $json.output }}plus den tillhandahållna systemprompten. - I Map HTML Output lägger ni till en tilldelning med namnet
htmlmed värdet={{ $json["message"]["content"] }}. - Bekräfta körordningen: Consolidate Summaries → Compose Report Narrative → Map HTML Output.
Inloggning krävs: Anslut era OpenAI-inloggningsuppgifter i Compose Report Narrative.
Steg 5: konfigurera skapande av PDF och e-postutskick
Det här avsnittet konverterar HTML till en PDF och skickar rapporten via Gmail.
- Öppna Create PDF Report och ställ in URL till
https://api.pdfcrowd.com/convert/24.04med MethodPOSToch Content Typeform-urlencoded. - Lägg till body-parametrarna: content_viewport_width =
balancedoch text =={{ $json.html }}. - Ställ in header-parametern authorization till
Basic [CONFIGURE_YOUR_API_KEY]. - I svarsinställningarna behåller ni Output Property Name som
Facebook_Ads_Report_Week_of_Aug_12_2025.pdfför att lagra filens binärdata. - Öppna Dispatch Email Notice, bekräfta att Subject är
Weekly Facebook Ads Report | Aug 12 – Aug 18, 2025och bifoga den binära egenskapenFacebook_Ads_Report_Week_of_Aug_12_2025.pdf.
Inloggning krävs: Anslut era Gmail OAuth2-inloggningsuppgifter i Dispatch Email Notice.
Steg 6: testa och aktivera ert arbetsflöde
Validera hela rapportflödet, från datahämtning till e-postutskick.
- Klicka på Execute Workflow för att köra flödet manuellt från Scheduled Weekly Start.
- Verifiera att Create PDF Report skapar en fil med namnet
Facebook_Ads_Report_Week_of_Aug_12_2025.pdfoch att Dispatch Email Notice skickar e-postmeddelandet med bilagan. - Kontrollera HTML-innehållet i Map HTML Output för att bekräfta att det börjar med
och innehåller kampanjavsnitt. - När ni är nöjda växlar ni arbetsflödet till Active för att aktivera veckoschemat.
Vanliga fallgropar
- Inloggningsuppgifter till Facebook Graph API kan löpa ut eller tappa behörigheter efter lösenordsändringar. Om saker slutar fungera, börja med att kontrollera token-status i Meta Developers-dashboarden.
- Om du använder Wait-noder eller extern rendering varierar bearbetningstiderna. Öka väntetiden om nedströmsnoder fallerar på tomma svar.
- Gmail kan blockera utskick om du använder fel autentiseringsmetod eller om kontot har extra säkerhetskontroller. Om mejl inte skickas, granska den anslutna Gmail-credentials i n8n och bekräfta att avsändarkontot kan skicka bilagor.
Vanliga frågor
Cirka 30 minuter om dina API-nycklar är klara.
Nej. Du kopplar konton, klistrar in nycklar och redigerar några fält som mottagarmejl och datumintervall.
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 volym. Du behöver också räkna med kostnader för OpenAI API och prissättningen för din PDF-genererings-API.
Två alternativ: n8n Cloud (hanterat, enklast att komma igång) eller self-hosting på en VPS. För self-hosting är Hostinger VPS prisvärt och hanterar n8n bra. Self-hosting ger obegränsat antal körningar men kräver grundläggande serverhantering.
Ja, men planera det i förväg. Du kan byta HTML-layouten i noden ”Map HTML Output” och sedan behålla resten av workflowet oförändrat. Vanliga ändringar är att lägga till ROAS/CPC, gruppera per annonsuppsättning i stället för kampanj och lägga in en varumärkesanpassad framsida före insiktsdelen.
Oftast beror det på en utgången access token för Facebook Graph API eller saknade behörigheter för Insights. Skapa en ny token i Meta Developers och uppdatera sedan credential i n8n. Om det fungerar ibland och misslyckas andra gånger kan du slå i rate limits när du hämtar många kampanjer samtidigt, så minska datumintervallet eller sprid ut förfrågningarna.
Många, så länge dina API-gränser och din n8n-plan hänger med. På n8n Cloud beror din körningsgräns på vilken plan du väljer, så byråer med hög volym går ofta upp en nivå. Om du self-hostar finns ingen körningsbegränsning, men din server måste fortfarande hantera belastningen och dina Facebook/OpenAI/PDF-API:er har fortfarande sina egna gränser. I praktiken börjar de flesta team med ett fåtal konton, följer körtiden på måndagar och skalar sedan därifrån.
Ofta, ja. Det här workflowet drar nytta av logik i flera steg, datastädning, AI-sammanfattning och ett anrop till PDF-generering, vilket är där n8n brukar kännas mer flexibelt (och billigare i skala om du self-hostar). Zapier eller Make kan fortfarande fungera om du vill ha ett väldigt enkelt ”hämta mätvärden, skicka mejl”-flöde. Om du är osäker, prata med en automatiseringsexpert så mappar vi det billigaste alternativet som inte faller isär längre fram.
När det här väl rullar blir måndagsrapporteringen en snabb granskning i stället för en återkommande brandövning. Workflowet tar hand om de repetitiva delarna så att du kan lägga tiden på beslut, inte formatering.
Kontakta oss
Hör av dig, så diskuterar vi hur just din verksamhet kan dra nytta av alla fantastiska möjligheter som AI skapar.