Skip to main content

Automate unified marketing reports with Google Analytics, Google Ads, Meta Ads & HubSpot

Workflow preview

Workflow preview
100%
Automate unified marketing reports with Google Analytics, Google Ads, Meta Ads & HubSpot preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

How it works This workflow runs on scheduled weekly and monthly triggers to generate unified marketing performance reports. It processes multiple websites by collecting analytics data, paid ads per...

Best for

  • Market Research automation workflows
  • AI Summarization automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.scheduletrigger, n8n-nodes-base.code, n8n-nodes-base.set, n8n-nodes-base.splitinbatches, n8n-nodes-base.gmail, n8n-nodes-base.switch, n8n-nodes-base.splitout, n8n-nodes-base.merge

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Avkash Kakdiya.

Original n8n.io source

1.1 Workflow description

Title
Automate unified marketing reports with Google Analytics, Google Ads, Meta Ads & HubSpot
Workflow name
Automate unified marketing reports with Google Analytics, Google Ads, Meta Ads & HubSpot

How it works

This workflow runs on scheduled weekly and monthly triggers to generate unified marketing performance reports. It processes multiple websites by collecting analytics data, paid ads performance, and CRM leads, then calculates KPIs and insights automatically. The workflow sends structured reports via email and stores historical data in Google Sheets. It ensures consistent reporting without manual effort.

Step-by-step

  • Step 1: Trigger & report type detection

    • Schedule Trigger2 – Triggers the workflow weekly at a predefined time.
    • Schedule Trigger3 – Triggers the workflow monthly at a predefined time.
    • check month and week1 – Identifies whether the run is weekly or monthly and sets flags.
    • Set Websites and Campaings1 – Defines websites, GA4 property IDs, and mapped ad campaigns.
    • Expand Websites1 – Expands the website array into individual website items.
    • Attach Run Flags1 – Attaches weekly or monthly flags to each website record.
  • Step 2: Website & ads data processing

    • Loop Websites1 – Iterates through each website independently.
    • Get a report – Fetches website traffic and engagement metrics from analytics.
    • Get many campaigns – Retrieves Google Ads campaign data.
    • Fetch Meta Ads – Fetches Meta Ads performance data via API.
    • Filter Google Ads By Website1 – Filters Google Ads campaigns by website.
    • Filter Meta Ads By Website1 – Filters Meta Ads campaigns by website.
    • Merge1 – Merges analytics, Google Ads, and Meta Ads datasets.
    • Build Website Dataset1 – Builds a unified dataset per website.
    • Calculate KPIs & Campaign Insights1 – Calculates spend, CTR, CPA, CPL, conversions, and performance insights.
    • Append or update row in sheet2 – Stores website-level marketing metrics in Google Sheets.
  • Step 2.1: Marketing report generation

    • Prepare Report Data2 – Combines all website datasets into a unified report object.
    • Switch – Routes execution based on weekly or monthly report type.
    • Send Weekly Marketing report2 – Sends the weekly marketing performance email.
    • Send Monthly Marketing Report2 – Sends the monthly marketing performance email.
  • Step 3: HubSpot lead analysis

    • Fetch1 – Fetches leads from HubSpot CRM.
    • Filter Hubspot Leads – Filters leads based on weekly or monthly time range.
    • Summarize Hubspot Leads – Aggregates lead status and lifecycle metrics.
    • Prepare Report Data3 – Prepares CRM summary data for reporting.
  • Step 3.1: CRM reporting & storage

    • Switch3 – Routes CRM reporting by report type.
    • Send Weekly Marketing report3 – Sends the weekly CRM summary email.
    • Send Monthly Marketing Report3 – Sends the monthly CRM summary email.
    • Code in JavaScript1 – Transforms CRM data for storage.
    • Append or update row in sheet3 – Stores CRM lead performance data in Google Sheets.
    • Switch3 – Routes CRM reporting by report type.
    • Send Weekly Marketing report3 – Sends the weekly CRM summary email.
    • Send Monthly Marketing Report3 – Sends the monthly CRM summary email.
    • Code in JavaScript1 – Transforms CRM data for storage.
    • Append or update row in sheet3 – Stores CRM lead performance data in Google Sheets.

Why use this?

  • Automates complex weekly and monthly marketing reporting.
  • Unifies website analytics, ad platforms, and CRM data in one flow.
  • Delivers consistent KPI calculations and insights every run.
  • Maintains historical performance logs in Google Sheets.
  • Scales easily across multiple websites and campaigns.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Schedule Trigger2

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.3

Block 2 - Schedule Trigger3

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.3

Block 3 - check month and week1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 4 - Set Websites and Campaings1

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 5 - Loop Websites1

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 6 - Send Weekly Marketing report2

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 7 - Switch

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.4

Block 8 - Send Monthly Marketing Report2

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 9 - Expand Websites1

Type / Role
n8n-nodes-base.splitOut - splitOut
Config choices
Version 1

Block 10 - Attach Run Flags1

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 11 - Filter Google Ads By Website1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 12 - Filter Meta Ads By Website1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 13 - Build Website Dataset1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 14 - Merge1

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.2

Block 15 - Calculate KPIs & Campaign Insights1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 16 - Filter Hubspot Leads

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 17 - Summarize Hubspot Leads

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 18 - Prepare Report Data2

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 19 - Send Weekly Marketing report3

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 20 - Switch3

Type / Role
n8n-nodes-base.switch - switch
Config choices
Version 3.4

Block 21 - Send Monthly Marketing Report3

Type / Role
n8n-nodes-base.gmail - gmail
Config choices
Version 2.2

Block 22 - Prepare Report Data3

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 23 - Append or update row in sheet2

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.7

Block 24 - Code in JavaScript1

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Showing the first 24 of 35 workflow blocks. Download the JSON for the full node graph.

3. Summary Table

Workflow Automate unified marketing reports with Google Analytics, Google Ads, Meta Ads & HubSpot
Complexity advanced
Nodes 35
Categories Market Research, AI Summarization
Author Avkash Kakdiya
Published 25 Dec 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/12124/12124.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Automate unified marketing reports with Google Analytics, Google Ads, Meta Ads & HubSpot do?

How it works This workflow runs on scheduled weekly and monthly triggers to generate unified marketing performance reports. It processes multiple websites by collecting analytics data, paid ads per...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Market Research, AI Summarization use case.