Back to Catalog

UTM marketing attribution reports with Google Sheets, GPT-4o & Gmail

Rahul JoshiRahul Joshi
173 views
2/3/2026
Official Page

Description

Turn raw marketing data into actionable insights with this n8n Source/UTM Attribution and Reporting workflow! It automatically aggregates lead submissions, calculates Cost Per Lead (CPL) per channel, and generates AI-powered weekly attribution reports—delivered straight to your inbox in a professional HTML format.

What This Template Does

📅 Runs hourly to process new lead submissions 📊 Aggregates leads by source (Instagram, LinkedIn, Google Ads, etc.) 💰 Calculates key metrics like Cost Per Lead (CPL) 🧠 Uses AI to generate executive-ready HTML reports 📈 Highlights top-performing sources and growth opportunities 📧 Sends polished reports via Gmail automatically

Prerequisites

  • Google Sheets with lead submission data
  • Google Forms (or similar) as the data input source
  • n8n instance (self-hosted or cloud)
  • Azure OpenAI (GPT-4o-mini) API key for AI-powered reporting
  • Gmail API credentials for automated report delivery

Step-by-Step Setup

  • Trigger workflow hourly with n8n Scheduler.
  • Fetch new lead submissions from Google Sheets.
  • Aggregate and group data by Source/UTM parameters.
  • Calculate CPL using spend + lead count per channel.
  • Standardize column names for consistent reporting.
  • Send raw + aggregated data to Azure OpenAI for report generation.
  • Format into a professional HTML report (with insights & recommendations).
  • Send report via Gmail node to stakeholders.

Customization Ideas

  • Replace Gmail with Slack/Teams notifications for real-time sharing.
  • Add visual charts (Google Data Studio / Looker) for more analytics.
  • Use additional UTM fields (campaign, adgroup, creative) for deeper granularity.
  • Extend reporting to include ROI and ROAS calculations.

Key Benefits

✅ Hands-free attribution tracking and analysis ✅ Accurate CPL metrics per channel ✅ AI-generated reports with actionable insights ✅ Saves time vs. manual data crunching ✅ Weekly reports ensure marketing strategy stays optimized

Perfect For

  • Marketing teams managing multi-channel campaigns
  • Agencies providing client attribution reports
  • Business owners optimizing ad spend efficiency
  • Growth teams tracking lead quality by source

UTM Marketing Attribution Reports with Google Sheets, GPT-4o, and Gmail

This n8n workflow automates the generation and distribution of UTM marketing attribution reports, leveraging Google Sheets for data, an AI model (GPT-4o via Azure OpenAI) for analysis, and Gmail for report delivery. It simplifies the process of understanding marketing campaign performance by providing regular, AI-powered insights directly to your inbox.

What it does

This workflow performs the following key steps:

  1. Triggers on a Schedule: The workflow is initiated on a predefined schedule (e.g., daily, weekly, monthly) to ensure regular report generation.
  2. Reads Data from Google Sheets: It connects to a specified Google Sheet to retrieve raw marketing data, likely containing UTM parameters and associated metrics.
  3. Processes Data with Custom Code: A Code node is used to prepare and format the data from Google Sheets, making it suitable for AI analysis. This might involve cleaning, aggregating, or structuring the data.
  4. Generates AI-Powered Attribution Insights: A Basic LLM Chain node, powered by an Azure OpenAI Chat Model (likely GPT-4o), analyzes the prepared marketing data. It generates insights, summaries, or attribution reports based on the data and a predefined prompt.
  5. Sends Report via Gmail: The generated AI insights are then compiled into an email and sent to a specified recipient (or list of recipients) using Gmail.

Prerequisites/Requirements

To use this workflow, you will need:

  • n8n Instance: A running n8n instance.
  • Google Sheets Account: Access to a Google Sheets document containing your marketing attribution data.
  • Azure OpenAI Account: An Azure OpenAI subscription with access to a chat model (e.g., GPT-4o).
  • Gmail Account: A Gmail account configured for sending emails.
  • n8n Credentials:
    • Google Sheets credentials (OAuth2 recommended).
    • Azure OpenAI credentials.
    • Gmail credentials (OAuth2 recommended).

Setup/Usage

  1. Import the Workflow: Download the provided JSON and import it into your n8n instance.
  2. Configure Credentials:
    • For the "Google Sheets" node, select or create your Google Sheets OAuth2 credential.
    • For the "Azure OpenAI Chat Model" node, select or create your Azure OpenAI credential.
    • For the "Gmail" node, select or create your Gmail OAuth2 credential.
  3. Customize Google Sheets Node:
    • Specify the Spreadsheet ID and Sheet Name where your marketing data is located.
    • Ensure the "Operation" is set to "Read" and "Read All" if you need all data for analysis.
  4. Customize Code Node:
    • Review and adjust the JavaScript code within the "Code" node to match the structure of your Google Sheet data and the specific processing required before sending it to the LLM.
  5. Configure Basic LLM Chain Node:
    • Prompt: Define the prompt that will guide the AI in generating the attribution report. This prompt should instruct the AI on what kind of analysis to perform and what information to extract from the input data.
    • Input Data: Ensure the input for the LLM chain is correctly mapped from the output of the "Code" node.
  6. Configure Gmail Node:
    • Set the To email address(es) for where the reports should be sent.
    • Customize the Subject and Body of the email to include the AI-generated report content (e.g., using an expression like {{ $node["Basic LLM Chain"].json["text"] }}).
  7. Set Schedule Trigger:
    • Configure the "Schedule Trigger" node to your desired frequency (e.g., every day, once a week) for report generation.
  8. Activate the Workflow: Save and activate the workflow. It will now run automatically based on your defined schedule, generating and sending marketing attribution reports.

Related Templates

AI-powered code review with linting, red-marked corrections in Google Sheets & Slack

Advanced Code Review Automation (AI + Lint + Slack) Who’s it for For software engineers, QA teams, and tech leads who want to automate intelligent code reviews with both AI-driven suggestions and rule-based linting — all managed in Google Sheets with instant Slack summaries. How it works This workflow performs a two-layer review system: Lint Check: Runs a lightweight static analysis to find common issues (e.g., use of var, console.log, unbalanced braces). AI Review: Sends valid code to Gemini AI, which provides human-like review feedback with severity classification (Critical, Major, Minor) and visual highlights (red/orange tags). Formatter: Combines lint and AI results, calculating an overall score (0–10). Aggregator: Summarizes results for quick comparison. Google Sheets Writer: Appends results to your review log. Slack Notification: Posts a concise summary (e.g., number of issues and average score) to your team’s channel. How to set up Connect Google Sheets and Slack credentials in n8n. Replace placeholders (<YOURSPREADSHEETID>, <YOURSHEETGIDORNAME>, <YOURSLACKCHANNEL_ID>). Adjust the AI review prompt or lint rules as needed. Activate the workflow — reviews will start automatically whenever new code is added to the sheet. Requirements Google Sheets and Slack integrations enabled A configured AI node (Gemini, OpenAI, or compatible) Proper permissions to write to your target Google Sheet How to customize Add more linting rules (naming conventions, spacing, forbidden APIs) Extend the AI prompt for project-specific guidelines Customize the Slack message formatting Export analytics to a dashboard (e.g., Notion or Data Studio) Why it’s valuable This workflow brings realistic, team-oriented AI-assisted code review to n8n — combining the speed of automated linting with the nuance of human-style feedback. It saves time, improves code quality, and keeps your team’s review history transparent and centralized.

higashiyama By higashiyama
90

Automate RSS to social media pipeline with AI, Airtable & GetLate for multiple platforms

Overview Automates your complete social media content pipeline: sources articles from Wallabag RSS, generates platform-specific posts with AI, creates contextual images, and publishes via GetLate API. Built with 63 nodes across two workflows to handle LinkedIn, Instagram, and Bluesky—with easy expansion to more platforms. Ideal for: Content marketers, solo creators, agencies, and community managers maintaining a consistent multi-platform presence with minimal manual effort. How It Works Two-Workflow Architecture: Content Aggregation Workflow Monitors Wallabag RSS feeds for tagged articles (to-share-linkedin, to-share-instagram, etc.) Extracts and converts content from HTML to Markdown Stores structured data in Airtable with platform assignment AI Generation & Publishing Workflow Scheduled trigger queries Airtable for unpublished content Routes to platform-specific sub-workflows (LinkedIn, Instagram, Bluesky) LLM generates optimized post text and image prompts based on custom brand parameters Optionally generates AI images and hosts them on Imgbb CDN Publishes via GetLate API (immediate or draft mode) Updates Airtable with publication status and metadata Key Features: Tag-based content routing using Wallabag's native system Swappable AI providers (Groq, OpenAI, Anthropic) Platform-specific optimization (tone, length, hashtags, CTAs) Modular design—duplicate sub-workflows to add new platforms in \~30 minutes Centralized Airtable tracking with 17 data points per post Set Up Steps Setup time: \~45-60 minutes for initial configuration Create accounts and get API keys (\~15 min) Wallabag (with RSS feeds enabled) GetLate (social media publishing) Airtable (create base with provided schema—see sticky notes) LLM provider (Groq, OpenAI, or Anthropic) Image service (Hugging Face, Fal.ai, or Stability AI) Imgbb (image hosting) Configure n8n credentials (\~10 min) Add all API keys in n8n's credential manager Detailed credential setup instructions in workflow sticky notes Set up Airtable database (\~10 min) Create "RSS Feed - Content Store" base Add 19 required fields (schema provided in workflow sticky notes) Get Airtable base ID and API key Customize brand prompts (\~15 min) Edit "Set Custom SMCG Prompt" node for each platform Define brand voice, tone, goals, audience, and image preferences Platform-specific examples provided in sticky notes Configure platform settings (\~10 min) Set GetLate account IDs for each platform Enable/disable image generation per platform Choose immediate publish vs. draft mode Adjust schedule trigger frequency Test and deploy Tag test articles in Wallabag Monitor the first few executions in draft mode Activate workflows when satisfied with the output Important: This is a proof-of-concept template. Test thoroughly with draft mode before production use. Detailed setup instructions, troubleshooting tips, and customization guidance are in the workflow's sticky notes. Technical Details 63 nodes: 9 Airtable operations, 8 HTTP requests, 7 code nodes, 3 LangChain LLM chains, 3 RSS triggers, 3 GetLate publishers Supports: Multiple LLM providers, multiple image generation services, unlimited platforms via modular architecture Tracking: 17 metadata fields per post, including publish status, applied parameters, character counts, hashtags, image URLs Prerequisites n8n instance (self-hosted or cloud) Accounts: Wallabag, GetLate, Airtable, LLM provider, image generation service, Imgbb Basic understanding of n8n workflows and credential configuration Time to customize prompts for your brand voice Detailed documentation, Airtable schema, prompt examples, and troubleshooting guides are in the workflow's sticky notes. Category Tags social-media-automation, ai-content-generation, rss-to-social, multi-platform-posting, getlate-api, airtable-database, langchain, workflow-automation, content-marketing

Mikal Hayden-GatesBy Mikal Hayden-Gates
188

Ai website scraper & company intelligence

AI Website Scraper & Company Intelligence Description This workflow automates the process of transforming any website URL into a structured, intelligent company profile. It's triggered by a form, allowing a user to submit a website and choose between a "basic" or "deep" scrape. The workflow extracts key information (mission, services, contacts, SEO keywords), stores it in a structured Supabase database, and archives a full JSON backup to Google Drive. It also features a secondary AI agent that automatically finds and saves competitors for each company, building a rich, interconnected database of company intelligence. --- Quick Implementation Steps Import the Workflow: Import the provided JSON file into your n8n instance. Install Custom Community Node: You must install the community node from: https://www.npmjs.com/package/n8n-nodes-crawl-and-scrape FIRECRAWL N8N Documentation https://docs.firecrawl.dev/developer-guides/workflow-automation/n8n Install Additional Nodes: n8n-nodes-crawl-and-scrape and n8n-nodes-mcp fire crawl mcp . Set up Credentials: Create credentials in n8n for FIRE CRAWL API,Supabase, Mistral AI, and Google Drive. Configure API Key (CRITICAL): Open the Web Search tool node. Go to Parameters → Headers and replace the hardcoded Tavily AI API key with your own. Configure Supabase Nodes: Assign your Supabase credential to all Supabase nodes. Ensure table names (e.g., companies, competitors) match your schema. Configure Google Drive Nodes: Assign your Google Drive credential to the Google Drive2 and save to Google Drive1 nodes. Select the correct Folder ID. Activate Workflow: Turn on the workflow and open the Webhook URL in the “On form submission” node to access the form. --- What It Does Form Trigger Captures user input: “Website URL” and “Scraping Type” (basic or deep). Scraping Router A Switch node routes the flow: Deep Scraping → AI-based MCP Firecrawler agent. Basic Scraping → Crawlee node. Deep Scraping (Firecrawl AI Agent) Uses Firecrawl and Tavily Web Search. Extracts a detailed JSON profile: mission, services, contacts, SEO keywords, etc. Basic Scraping (Crawlee) Uses Crawl and Scrape node to collect raw text. A Mistral-based AI extractor structures the data into JSON. Data Storage Stores structured data in Supabase tables (companies, company_basicprofiles). Archives a full JSON backup to Google Drive. Automated Competitor Analysis Runs after a deep scrape. Uses Tavily web search to find competitors (e.g., from Crunchbase). Saves competitor data to Supabase, linked by company_id. --- Who's It For Sales & Marketing Teams: Enrich leads with deep company info. Market Researchers: Build structured, searchable company databases. B2B Data Providers: Automate company intelligence collection. Developers: Use as a base for RAG or enrichment pipelines. --- Requirements n8n instance (self-hosted or cloud) Supabase Account: With tables like companies, competitors, social_links, etc. Mistral AI API Key Google Drive Credentials Tavily AI API Key (Optional) Custom Nodes: n8n-nodes-crawl-and-scrape --- How It Works Flow Summary Form Trigger: Captures “Website URL” and “Scraping Type”. Switch Node: deep → MCP Firecrawler (AI Agent). basic → Crawl and Scrape node. Scraping & Extraction: Deep path: Firecrawler → JSON structure. Basic path: Crawlee → Mistral extractor → JSON. Storage: Save JSON to Supabase. Archive in Google Drive. Competitor Analysis (Deep Only): Finds competitors via Tavily. Saves to Supabase competitors table. End: Finishes with a No Operation node. --- How To Set Up Import workflow JSON. Install community nodes (especially n8n-nodes-crawl-and-scrape from npm). Configure credentials (Supabase, Mistral AI, Google Drive). Add your Tavily API key. Connect Supabase and Drive nodes properly. Fix disconnected “basic” path if needed. Activate workflow. Test via the webhook form URL. --- How To Customize Change LLMs: Swap Mistral for OpenAI or Claude. Edit Scraper Prompts: Modify system prompts in AI agent nodes. Change Extraction Schema: Update JSON Schema in extractor nodes. Fix Relational Tables: Add Items node before Supabase inserts for arrays (social links, keywords). Enhance Automation: Add email/slack notifications, or replace form trigger with a Google Sheets trigger. --- Add-ons Automated Trigger: Run on new sheet rows. Notifications: Email or Slack alerts after completion. RAG Integration: Use the Supabase database as a chatbot knowledge source. --- Use Case Examples Sales Lead Enrichment: Instantly get company + competitor data from a URL. Market Research: Collect and compare companies in a niche. B2B Database Creation: Build a proprietary company dataset. --- WORKFLOW IMAGE --- Troubleshooting Guide | Issue | Possible Cause | Solution | |-------|----------------|-----------| | Form Trigger 404 | Workflow not active | Activate the workflow | | Web Search Tool fails | Missing Tavily API key | Replace the placeholder key | | FIRECRAWLER / find competitor fails | Missing MCP node | Install n8n-nodes-mcp | | Basic scrape does nothing | Switch node path disconnected | Reconnect “basic” output | | Supabase node error | Wrong table/column names | Match schema exactly | --- Need Help or More Workflows? Want to customize this workflow for your business or integrate it with your existing tools? Our team at Digital Biz Tech can tailor it precisely to your use case from automation logic to AI-powered enhancements. Contact: shilpa.raju@digitalbiz.tech For more such offerings, visit us: https://www.digitalbiz.tech ---

DIGITAL BIZ TECHBy DIGITAL BIZ TECH
923