AutomationFlowsMarketing & Ads › 找出熱搜 Vs Gsc 落差

找出熱搜 Vs Gsc 落差

找出熱搜 vs GSC 落差. Uses httpRequest. Event-driven trigger; 6 nodes.

Event trigger★★★★☆ complexity6 nodesHTTP Request
Marketing & Ads Trigger: Event Nodes: 6 Complexity: ★★★★☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "id": "GenM27",
  "name": "\u627e\u51fa\u71b1\u641c vs GSC \u843d\u5dee",
  "nodes": [
    {
      "parameters": {
        "content": "\u26a0\ufe0f \u67b6\u69cb\u7bc4\u672c\uff08\u672a\u63a5 key\uff09\n\n\u9700 Google Search Console API + OAuth\u3002\n\u5206\u6790(Ollama)\u514d\u8cbb\u3002",
        "height": 320,
        "width": 380,
        "color": 4
      },
      "id": "n-note",
      "name": "Sticky Note",
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        180,
        100
      ]
    },
    {
      "parameters": {},
      "id": "n-manual",
      "name": "When clicking Execute",
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        240,
        460
      ]
    },
    {
      "parameters": {
        "options": {},
        "method": "GET",
        "url": "https://www.googleapis.com/webmasters/v3/sites/YOUR_SITE/searchAnalytics/query",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Authorization",
              "value": "Bearer YOUR_OAUTH_TOKEN"
            }
          ]
        }
      },
      "id": "n-fetch",
      "name": "Fetch (API)",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        680,
        460
      ]
    },
    {
      "parameters": {
        "jsCode": "const d=JSON.stringify($input.first().json).slice(0,3000);\nconst prompt='\u4f60\u662f SEO \u9867\u554f\u3002\u6bd4\u8f03\u71b1\u641c\u8207 GSC \u9ad8\u66dd\u5149\u4f4e\u9ede\u64ca\uff0c\u627e\u51fa\u6a5f\u6703\u95dc\u9375\u5b57\u3002\\n\\n'+d;\nreturn [{json:{prompt}}];"
      },
      "id": "n-prep",
      "name": "Build Prompt",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        900,
        460
      ]
    },
    {
      "parameters": {
        "options": {
          "timeout": 180000
        },
        "method": "POST",
        "url": "http://host.docker.internal:11434/api/chat",
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={{ JSON.stringify({ model: 'qwen2.5:latest', messages: [ { role: 'system', content: '\u4f60\u662f\u53f0\u7063\u4eba\uff0c\u4e00\u5f8b\u4f7f\u7528\u53f0\u7063\u7e41\u9ad4\u4e2d\u6587\u8207\u53f0\u7063\u6163\u7528\u8a9e\u56de\u8986\uff0c\u7d55\u5c0d\u4e0d\u8981\u51fa\u73fe\u4efb\u4f55\u7c21\u9ad4\u5b57\u6216\u4e2d\u570b\u7528\u8a9e\u3002' }, { role: 'user', content: $json.prompt } ], stream: false }) }}"
      },
      "id": "n-ollama",
      "name": "Summarize with Ollama",
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.2,
      "position": [
        1120,
        460
      ]
    },
    {
      "parameters": {
        "jsCode": "const data = $input.first().json;\nlet v = '';\ntry { v = (data.message && data.message.content) || (data.content && data.content[0] && data.content[0].text) || data.response || ''; } catch (e) {}\nif (!v) v = JSON.stringify(data);\nreturn [{ json: { result: v } }];"
      },
      "id": "n-result",
      "name": "Result",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        1340,
        460
      ]
    }
  ],
  "connections": {
    "When clicking Execute": {
      "main": [
        [
          {
            "node": "Fetch (API)",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Fetch (API)": {
      "main": [
        [
          {
            "node": "Build Prompt",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Build Prompt": {
      "main": [
        [
          {
            "node": "Summarize with Ollama",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Summarize with Ollama": {
      "main": [
        [
          {
            "node": "Result",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "tags": []
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

找出熱搜 vs GSC 落差. Uses httpRequest. Event-driven trigger; 6 nodes.

Source: https://github.com/YuriCrystal/n8n-marketing-flows/blob/46c8e2535430ebe1e9bb4d8b6b335465c4702ffb/templates/m27-keyword-gap.skeleton.json — original creator credit. Request a take-down →

More Marketing & Ads workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Marketing & Ads

This workflow pulls Google Maps business results from SerpApi based on search queries stored in Airtable, visits each business website to extract contact emails, and adds the enriched business records

HTTP Request, Airtable, N8N Nodes Serpapi
Marketing & Ads

This template automates the enrichment of business leads from a Google Sheet by: Triggering when a row is activated Searching for company information with Serper.dev Generating and validating potentia

HTTP Request, Google Sheets Trigger, Google Sheets
Marketing & Ads

The automation starts by retreiving the unused queries from a sheet, executes queries in the web using Serper API and extracts linkedin profiles of decision makers.

Google Sheets, HTTP Request, Stop And Error
Marketing & Ads

Stop manually checking keyword rankings and let automation do the work for you. This comprehensive SEO monitoring workflow automatically tracks your keyword positions, compares them against your targe

Airtable Trigger, HTTP Request, Airtable +1
Marketing & Ads

This workflow helps you automatically collect verified business leads from Google Search using SerpAPI — no coding required. It extracts company names, websites, emails, and phone numbers directly fro

HTTP Request, Google Sheets