See llms.txt for all machine-readable content.

Gmail and Google Analytics integration

Save yourself the work of writing custom integrations for Gmail and Google Analytics and use n8n instead. Build adaptable and scalable Communication, HITL, workflows that work with your technology stack. All within a building experience you will love.

How to connect Gmail and Google Analytics

Create a new workflow and add the first step

In n8n, click the "Add workflow" button in the Workflows tab to create a new workflow. Add the starting point – a trigger on when your workflow should run: an app event, a schedule, a webhook call, another workflow, an AI chat, or a manual trigger. Sometimes, the HTTP Request node might already serve as your starting point.

Gmail and Google Analytics integration: Create a new workflow and add the first step

Automate google analytics reporting

Automate Google Analytics Reporting with n8n This n8n workflow collects, processes, and formats Google Analytics data into a comprehensive HTML report. The report is segmented into three primary categories: Engagement Stats, Search Results, and Country Views. The formatted report can be emailed or saved as a document, and the workflow includes error handling and logging for better debugging. Overview Purpose To automate the extraction, processing, and presentation of Google Analytics data in a visually appealing and structured format for easier insights and decision-making. Features Data Parsing: Individual parsers process raw Google Analytics data for different time periods and categories. Data Aggregation: Combines parsed data into a single structured JSON object. HTML Report Generation: Formats the aggregated data into an HTML table with color-coded segments for better readability. Email or Document Output: The formatted report can be emailed or saved as a Google Doc (will need additional setup). Error Handling: Includes checks for missing data and detailed error messages for debugging. Workflow Steps Data Fetching: Six separate Google Analytics data pulls: Page Engagement Stats (This Week and Prior Week) Google Search Results (This Week and Prior Week) Country Views (This Week and Prior Week) Data Parsing: Each data pull is processed using a dedicated parser node to generate a URL-safe string. Example nodes: Parse - Get Page Engagement This Week Parse - Country Views Prior Week Data Aggregation: Aggregates parsed data into a structured JSON object using the Aggregate Data node. Ensures consistency and handles missing or malformed data. HTML Report Generation: Creates a formatted HTML report with color-coded tables for each segment: Engagement Stats: Green Search Results: Blue Country Views: Orange Includes headers and neatly formatted tables for each data set. Output: The report can be sent via email using the Gmail API or saved to Google Docs. Example nodes: Gmail node for email delivery. Google Docs node for saving the report as a document. Requirements Prerequisites Google Cloud Setup: Enable Google Analytics API. Enable Gmail API (if using email output). Generate OAuth credentials for API access. n8n Installation: Self-hosted n8n instance with required nodes (Gmail, Google Docs, etc.). Free Cloud-based n8n account. Environment Variables Ensure API credentials and tokens are set up in the n8n environment. Update the respective nodes with client ID, client secret, and access tokens. Configuration Google Analytics Configure the Get Report nodes with the appropriate property ID and metrics. Ensure correct date ranges are selected for each node. Formatting Node The Format Data node processes aggregated data and generates the HTML content. Customize the HTML styling and segment colors as needed. Email Node Configure the Gmail node with OAuth credentials. Set the recipient email address and subject line dynamically. Error Handling Common Issues Authentication Errors: Ensure OAuth credentials are correct. Verify that the APIs are enabled in the Google Cloud Console. Empty Data: Check the raw data from Google Analytics. Validate the property ID and query parameters in the Get Report nodes. Parsing Errors: Ensure the parser nodes are correctly configured and match the expected input format. Debugging Use debug logs in each node to identify data flow issues. Add error-handling nodes to capture and log issues during execution. Example Usage Run the Workflow Trigger the workflow to fetch, process, and format Google Analytics data. Verify Output Check the formatted HTML output in the debug logs. Ensure the email or Google Doc contains the correctly formatted report. Future Enhancements Add support for additional metrics or dimensions. Integrate with Slack for notifications. Enable scheduling for automated reports. Add a visual dashboard for real-time analytics.

Build your own Gmail and Google Analytics integration

Create custom Gmail and Google Analytics workflows by choosing triggers and actions. Nodes come with global operations and settings, as well as app-specific parameters that can be configured. You can also use the HTTP Request node to query data from any app or service with a REST API.

Gmail supported actions

Google Analytics supported actions

Gmail and Google Analytics integration details

Gmail

Gmail

Gmail is a free of charge email service offered as part of Google Workspace. It is used by individuals and organizations to send and receive emails and communicate internally and externally. It remains the world’s most widely used email service.

Google Analytics

Google Analytics

Google Analytics is a tool that gathers information from your apps and websites to provide reports that give you insights on how well your business is doing. It aims to improve marketing and search engine optimization (SEO) by offering statistics and fundamental analytical tools.

FAQ about Gmail integrations

Need help setting up your Gmail and Google Analytics integration?

Discover our latest community's recommendations and join the discussions about Gmail and Google Analytics integration.

  • jake chard

    How do I remove n8n Email footer in Gmail node send message?

    jake chard

    Each email sent has “This email was sent automatically with n8n” in the footer or after the email. How do I remove this please?

    Open topic
  • Jan Koch

    Sending attachment via Gmail

    Jan Koch

    Describe the problem/error/question I am trying to send an email with an attachment using the Gmail node and get an error that I don’t understand. I am able to download that file from the original email and upload it to …

    Open topic
  • FawenYo

    Failed to send Gmail attachment

    FawenYo

    Describe the problem/error/question I’m trying to send an HTML file in the Gmail attachment, but it just raise an error. This question is similar to Sending attachment via Gmail , but I just couldn’t get it work …

    Open topic
  • Jean-Pierre GARNIER

    Gmail node subject text encoding issue

    Jean-Pierre GARNIER

    Describe the problem/error/question Hi, I’m facing an encoding problem while sending email with gmail node for every char with and accent (é,à,ô,î…). I noticed that this problem doesn’t occurs when i’m directly writing …

    Open topic
  • Anirudh Tugawe

    Update Google Sheets After sending Email

    Anirudh Tugawe

    Hi everyone, I’m working on a workflow where I’m using Google Sheets to get input data. I have a loop set up that correctly reads the data and processes it: it takes a Word document template, app…

    Open topic

Looking to integrate Slack and VirusTotal in your company?

Trusted by teams building smarter workflows

Why

Why use n8n to integrate Gmail with Google Analytics

Handle branching, merging and iteration easily. Pause your workflow to wait for external events.

Re-run single steps to test changes in no time. And pin your data to avoid generating trigger events every time you execute.

Your data is displayed alongside your settings, making edge cases easy to track down.

Use 1000+ workflow templates available from our core team and our community.

Copy and paste, easily import and export workflows.

Simple enough to 
understand + sophisticated 
enough to ship