Skip to main content

Analyze Google Ads competitors with Bright Data, OpenRouter and OpenAI

Workflow preview

Workflow preview
100%
Analyze Google Ads competitors with Bright Data, OpenRouter and OpenAI preview
Open on n8n.io

1. Workflow Overview

Quick Overview This workflow runs daily, reads keywords from Google Sheets, scrapes Google SERP ads via the Bright Data API, analyzes ad messaging and sitelinks with OpenRouter, and generates an HT...

Best for

  • Automation automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.splitinbatches, @n8n/n8n-nodes-langchain.lmchatopenrouter, @n8n/n8n-nodes-langchain.chainllm, @n8n/n8n-nodes-langchain.agent, n8n-nodes-rapiwa.rapiwa, n8n-nodes-base.googlesheets, n8n-nodes-base.scheduletrigger, n8n-nodes-base.filter

Source and attribution

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

Original n8n.io source

1.1 Workflow description

Title
Analyze Google Ads competitors with Bright Data, OpenRouter and OpenAI
Workflow name
Analyze Google Ads competitors with Bright Data, OpenRouter and OpenAI

Quick Overview

This workflow runs daily, reads keywords from Google Sheets, scrapes Google SERP ads via the Bright Data API, analyzes ad messaging and sitelinks with OpenRouter, and generates an HTML report with OpenAI that is delivered via Gmail, WhatsApp (Rapiwa), and Telegram.

How it works

  1. Runs on a daily schedule and loads keywords and country codes from Google Sheets.
  2. Iterates through each keyword, requests Google Search results in JSON format from Bright Data, and routes failures to a WhatsApp error alert via Rapiwa.
  3. Extracts top and bottom ads from the SERP response, splits them into individual ad items, and appends selected ad fields to a Google Sheets “Top ADS” tab.
  4. Aggregates the ad dataset and uses OpenRouter to generate structured insights for value propositions/messaging, sitelink extension strategies, and keyword-to-advertiser mapping.
  5. Combines the three analysis outputs and uses OpenAI to turn them into an HTML-formatted executive report.
  6. Sends the report to the configured Gmail recipient and posts the same output to WhatsApp (Rapiwa) and Telegram, while also sending a WhatsApp completion message.

Setup

  1. Connect Google Sheets OAuth2 credentials and update the spreadsheet ID and sheet tabs used to read keywords and append ad data.
  2. Add Bright Data HTTP Header Auth credentials and replace the zone value (and any required headers) for your Bright Data Scraper API setup.
  3. Add OpenRouter API credentials for the analysis models and an OpenAI API credential for HTML report generation.
  4. Connect Gmail OAuth2 and set the recipient email address and subject format for the report.
  5. Add Rapiwa credentials and replace the WhatsApp number placeholder, then add Telegram credentials and replace the Telegram chat ID placeholder.

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 - Loop Over Items

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

Block 2 - OpenRouter Chat Model

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenRouter - lmChatOpenRouter
Config choices
Version 1

Block 3 - Value Proposition & Messaging Analysis

Type / Role
@n8n/n8n-nodes-langchain.chainLlm - chainLlm
Config choices
Version 1.7

Block 4 - OpenRouter Chat Model1

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenRouter - lmChatOpenRouter
Config choices
Version 1

Block 5 - Site Link Extension Mining

Type / Role
@n8n/n8n-nodes-langchain.chainLlm - chainLlm
Config choices
Version 1.7

Block 6 - OpenRouter Chat Model2

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenRouter - lmChatOpenRouter
Config choices
Version 1

Block 7 - Keyword-Ad Mapping

Type / Role
@n8n/n8n-nodes-langchain.chainLlm - chainLlm
Config choices
Version 1.7

Block 8 - OpenRouter Chat Model3

Type / Role
@n8n/n8n-nodes-langchain.lmChatOpenRouter - lmChatOpenRouter
Config choices
Version 1

Block 9 - Generate HTML

Type / Role
@n8n/n8n-nodes-langchain.agent - agent
Config choices
Version 2.1

Block 10 - Rapiwa (Send WhatsApp Error Alert)

Type / Role
n8n-nodes-rapiwa.rapiwa - rapiwa
Config choices
Version 1

Block 11 - Rapiwa (Send WhatsApp Complete Message)

Type / Role
n8n-nodes-rapiwa.rapiwa - rapiwa
Config choices
Version 1

Block 12 - Google Sheet (Get Keywords)

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

Block 13 - Schedule (Trigger Every Day)

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

Block 14 - Filter (KeyWords)

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

Block 15 - Edit Fields (Set keyword)

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

Block 16 - HTTPS (Fetch Google Search Results JSON)

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.2

Block 17 - Edit Fields (Ads found)

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

Block 18 - Filter (Ads)

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

Block 19 - Code (Extract Ads)

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

Block 20 - Filter (keyword)

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

Block 21 - Google Sheet (Save Top Ads)

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

Block 22 - Split Out (Ads)

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

Block 23 - Aggregate (value proposition)

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

Block 24 - Aggregate (Extensions)

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

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

3. Summary Table

Workflow Analyze Google Ads competitors with Bright Data, OpenRouter and OpenAI
Complexity advanced
Nodes 49
Categories Automation
Author SpaGreen Creative
Published 16 Jun 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/16413/16413.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 Analyze Google Ads competitors with Bright Data, OpenRouter and OpenAI do?

Quick Overview This workflow runs daily, reads keywords from Google Sheets, scrapes Google SERP ads via the Bright Data API, analyzes ad messaging and sitelinks with OpenRouter, and generates an HT...

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 Automation use case.