10 이메일 마케팅 캠페인 성과 추적
고급
이것은Social Media, AI Summarization분야의자동화 워크플로우로, 17개의 노드를 포함합니다.주로 If, Set, Gmail, McpClientTool, Agent 등의 노드를 사용하며. Bright Data 및 OpenAI를 사용한 이메일 마케팅 캠페인 분석 및 스마트 팔로우업 자동화
사전 요구사항
- •Google 계정 및 Gmail API 인증 정보
- •OpenAI API Key
사용된 노드 (17)
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
"id": "P6LeLqxzbkO3FiPE",
"meta": {
"instanceId": "60046904b104f0f72b2629a9d88fe9f676be4035769f1f08dad1dd38a76b9480",
"templateCredsSetupCompleted": true
},
"name": "10 Track Email Campaign Performance",
"tags": [],
"nodes": [
{
"id": "75f14163-7400-49fe-aeb9-1f983dfe0c5e",
"name": "⏰ 일일 캠페인 확인 트리거",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-60,
0
],
"parameters": {
"rule": {
"interval": [
{
"triggerAtHour": 9
}
]
}
},
"typeVersion": 1.2
},
{
"id": "3d85c239-8871-48ce-aecc-581a4a4be75c",
"name": "✏️ 캠페인 입력 필드 설정",
"type": "n8n-nodes-base.set",
"position": [
160,
0
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "04df454e-d477-4dd4-a029-2c97cfd1bf8f",
"name": "url",
"type": "string",
"value": "=https://www.mailchimp.com/campaigns/123/report"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "197f6678-606d-4e9d-91b9-2ed48fe6799c",
"name": "🤖 에이전트: 캠페인 성과 스크래핑 및 분석",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
520,
0
],
"parameters": {
"options": {},
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 2
},
{
"id": "0fa379ec-3e22-4f69-97dc-c45e244121c6",
"name": "🧠 LLM: 요약 및 형식화",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
500,
300
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8sEyPDkC5p4w4Jha",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "d1a27651-f1b3-412e-8452-563eba14c7d0",
"name": "🌐 Bright Data MCP: 보고서 스크래핑",
"type": "n8n-nodes-mcp.mcpClientTool",
"position": [
680,
300
],
"parameters": {
"toolName": "scrape_as_markdown",
"operation": "executeTool",
"toolParameters": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Tool_Parameters', ``, 'json') }}"
},
"credentials": {
"mcpClientApi": {
"id": "eqq94k789oJCd6jU",
"name": "MCP Client (STDIO) account"
}
},
"typeVersion": 1
},
{
"id": "fb814c29-e412-4332-ae43-b5f8ce4f0783",
"name": "🔎 조건: 오픈률 ≥30% & CTR <10%?",
"type": "n8n-nodes-base.if",
"position": [
1100,
0
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "d5c41a60-cadf-47a6-9685-9bead865346d",
"operator": {
"type": "number",
"operation": "gte"
},
"leftValue": "={{ $json.open_rate }}",
"rightValue": 20
},
{
"id": "7a251b0b-a122-418d-8b0c-6714ebfa6018",
"operator": {
"type": "number",
"operation": "lt"
},
"leftValue": "={{ $json.ctr }}",
"rightValue": 130
}
]
}
},
"typeVersion": 2.2
},
{
"id": "b77a5854-6882-47ac-8dba-9af0bdcc0e1f",
"name": "📧 후속 참여 이메일 발송",
"type": "n8n-nodes-base.gmail",
"position": [
1340,
-100
],
"webhookId": "0fd0b382-f827-4262-a3de-4df28f33fb10",
"parameters": {
"sendTo": "shahkar.genai@gmail.com",
"message": "Hi [First Name], \nWe noticed you opened our recent email — thank you for staying connected! \n🙌 But we think you might have missed the best part… \n👉 [Big Benefit or Offer — e.g., “Get 20% off your next order — today only!”] \nWe don’t want you to miss out — just click below and grab your exclusive [deal / resource / upgrade]. \n[CTA Button: “Claim Your Offer”] Still not sure? We’re here to help if you have any questions. Just hit reply — we love hearing from you! Talk soon, [Your Name] [Your Company]",
"options": {},
"subject": "Did you miss this? Here’s something special for you!",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"id": "AQDSl75AdzK3vmqJ",
"name": "Gmail account"
}
},
"typeVersion": 2.1
},
{
"id": "1259660d-e04c-4708-9319-22749360bdc3",
"name": "🚫 건너뛰기 — 조치 불필요",
"type": "n8n-nodes-base.noOp",
"position": [
1340,
100
],
"parameters": {},
"typeVersion": 1
},
{
"id": "6e673900-d27b-4aba-be1d-8d9149fa6ceb",
"name": "메모지",
"type": "n8n-nodes-base.stickyNote",
"position": [
-120,
-1180
],
"parameters": {
"color": 6,
"width": 420,
"height": 1360,
"content": "## 🎯 **🔹 SECTION 1: Schedule & Prepare Inputs**\n\n### ✅ **Nodes in this Section**\n\n| Node | Name |\n| ---- | -------------------------------- |\n| ⏰ | **Daily Campaign Check Trigger** |\n| ✏️ | **Set Campaign Input Fields** |\n\n---\n\n### 💡 **What Happens Here**\n\n* **⏰ Daily Campaign Check Trigger:**\n This node automatically **starts the workflow on a schedule** — for example, every morning at 9 AM.\n It makes sure you **don’t have to run it manually** every time. The goal is to check your email campaign performance **regularly and consistently**.\n\n* **✏️ Set Campaign Input Fields:**\n This node **defines any input values** that your Agent needs.\n For example:\n\n * Campaign ID\n * ESP URL\n * Date range\n * Any dynamic variables\n\n It acts like **filling in a form** that the rest of the workflow will use.\n You can **edit it easily** without changing the whole workflow.\n\n---\n\n### 🎯 **Why It’s Important**\n\n✅ Automates the whole thing on autopilot.\n✅ Ensures the Agent always has the **right data**.\n✅ Makes the workflow easy to maintain for non-tech users — just change a value in **Edit Fields**, done!\n\n---\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "d722faa7-9304-4145-9e22-f90b71b02053",
"name": "메모지1",
"type": "n8n-nodes-base.stickyNote",
"position": [
440,
-1300
],
"parameters": {
"color": 3,
"width": 420,
"height": 1480,
"content": "## 🤖 **🔹 SECTION 2: Scrape & Analyze with AI Agent**\n\n### ✅ **Nodes in this Section**\n\n| Node | Name |\n| ---- | ------------------------------------------------ |\n| 🤖 | **Agent: Scrape & Analyze Campaign Performance** |\n| 🧠 | **LLM: Summarize & Format** |\n| 🌐 | **Bright Data MCP: Scrape Report** |\n| 🗂️ | **Parse Scrape Output** |\n\n---\n\n### 💡 **What Happens Here**\n\n* **🤖 Agent: Scrape & Analyze Campaign Performance**\n This is your **AI Agent** — it does the smart part:\n\n * Talks to the **Bright Data MCP Tool** to scrape the ESP report page.\n * Uses an **LLM** (OpenAI Chat Model) to process the scraped data.\n * Passes the result to an **Output Parser** to turn messy text into clean, structured data.\n\n* **🌐 Bright Data MCP: Scrape Report**\n Bright Data logs in, navigates to your campaign report page, and **scrapes live open/click numbers**.\n\n* **🧠 LLM: Summarize & Format**\n The Chat Model turns raw scraped info into easy-to-read Markdown or JSON.\n This is like having a mini data analyst!\n\n* **🗂️ Parse Scrape Output**\n This node extracts the final numbers (open rate, CTR, bounces) so the logic can understand them.\n\n---\n\n### 🎯 **Why It’s Important**\n\n✅ You don’t have to log in manually to get reports.\n✅ The AI cleans up messy scraped data.\n✅ Makes follow-up decisions possible without human effort.\n✅ Works for **any ESP** — if the layout changes, just adjust the scraper.\n\n---\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "031503cb-3fa4-46b6-9b57-529b10553ec2",
"name": "메모지2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1060,
-840
],
"parameters": {
"color": 5,
"width": 420,
"height": 1100,
"content": "## 📈 **🔹 SECTION 3: Decide & Act Automatically**\n\n### ✅ **Nodes in this Section**\n\n| Node | Name |\n| ---- | ----------------------------------- |\n| 🔎 | **IF: Open ≥30% & CTR <10%?** |\n| 📧 | **Send Follow-Up Engagement Email** |\n| 🚫 | **Skip — No Action Needed** |\n\n---\n\n### 💡 **What Happens Here**\n\n* **🔎 IF: Open ≥30% & CTR <10%?**\n This node checks:\n\n * Is the open rate good? (≥30%)\n * But is the click-through rate low? (<10%)\n If **true**, it triggers follow-up to re-engage the audience.\n\n* **📧 Send Follow-Up Engagement Email**\n If the condition is true, this node sends a **personalized follow-up email** automatically.\n For example: “Hey, you opened but didn’t click — here’s your special offer!”\n\n* **🚫 Skip — No Action Needed**\n If the condition is **false** (e.g. CTR is healthy), do nothing. The workflow ends safely.\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "4502ee4c-219e-4495-b4ff-c8b3beec55e8",
"name": "메모지5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1560,
-920
],
"parameters": {
"color": 7,
"width": 380,
"height": 240,
"content": "## I’ll receive a tiny commission if you join Bright Data through this link—thanks for fueling more free content!\n\n### https://get.brightdata.com/1tndi4600b25"
},
"typeVersion": 1
},
{
"id": "07751162-2ade-4591-93bc-a3dc2414553d",
"name": "메모지9",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1980,
-1180
],
"parameters": {
"color": 4,
"width": 1300,
"height": 320,
"content": "=======================================\n WORKFLOW ASSISTANCE\n=======================================\nFor any questions or support, please contact:\n Yaron@nofluff.online\n\nExplore more tips and tutorials here:\n - YouTube: https://www.youtube.com/@YaronBeen/videos\n - LinkedIn: https://www.linkedin.com/in/yaronbeen/\n=======================================\n"
},
"typeVersion": 1
},
{
"id": "6c9e1f76-b6d0-4915-8f05-ada92abfcd89",
"name": "메모지4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1980,
-840
],
"parameters": {
"color": 4,
"width": 1289,
"height": 3118,
"content": "# Dynamic Email Re-Engagement Automation\n---\n\n## 🎯 **🔹 SECTION 1: Schedule & Prepare Inputs**\n\n### ✅ **Nodes in this Section**\n\n| Node | Name |\n| ---- | -------------------------------- |\n| ⏰ | **Daily Campaign Check Trigger** |\n| ✏️ | **Set Campaign Input Fields** |\n\n---\n\n### 💡 **What Happens Here**\n\n* **⏰ Daily Campaign Check Trigger:**\n This node automatically **starts the workflow on a schedule** — for example, every morning at 9 AM.\n It makes sure you **don’t have to run it manually** every time. The goal is to check your email campaign performance **regularly and consistently**.\n\n* **✏️ Set Campaign Input Fields:**\n This node **defines any input values** that your Agent needs.\n For example:\n\n * Campaign ID\n * ESP URL\n * Date range\n * Any dynamic variables\n\n It acts like **filling in a form** that the rest of the workflow will use.\n You can **edit it easily** without changing the whole workflow.\n\n---\n\n### 🎯 **Why It’s Important**\n\n✅ Automates the whole thing on autopilot.\n✅ Ensures the Agent always has the **right data**.\n✅ Makes the workflow easy to maintain for non-tech users — just change a value in **Edit Fields**, done!\n\n---\n\n---\n\n## 🤖 **🔹 SECTION 2: Scrape & Analyze with AI Agent**\n\n### ✅ **Nodes in this Section**\n\n| Node | Name |\n| ---- | ------------------------------------------------ |\n| 🤖 | **Agent: Scrape & Analyze Campaign Performance** |\n| 🧠 | **LLM: Summarize & Format** |\n| 🌐 | **Bright Data MCP: Scrape Report** |\n| 🗂️ | **Parse Scrape Output** |\n\n---\n\n### 💡 **What Happens Here**\n\n* **🤖 Agent: Scrape & Analyze Campaign Performance**\n This is your **AI Agent** — it does the smart part:\n\n * Talks to the **Bright Data MCP Tool** to scrape the ESP report page.\n * Uses an **LLM** (OpenAI Chat Model) to process the scraped data.\n * Passes the result to an **Output Parser** to turn messy text into clean, structured data.\n\n* **🌐 Bright Data MCP: Scrape Report**\n Bright Data logs in, navigates to your campaign report page, and **scrapes live open/click numbers**.\n\n* **🧠 LLM: Summarize & Format**\n The Chat Model turns raw scraped info into easy-to-read Markdown or JSON.\n This is like having a mini data analyst!\n\n* **🗂️ Parse Scrape Output**\n This node extracts the final numbers (open rate, CTR, bounces) so the logic can understand them.\n\n---\n\n### 🎯 **Why It’s Important**\n\n✅ You don’t have to log in manually to get reports.\n✅ The AI cleans up messy scraped data.\n✅ Makes follow-up decisions possible without human effort.\n✅ Works for **any ESP** — if the layout changes, just adjust the scraper.\n\n---\n\n---\n\n## 📈 **🔹 SECTION 3: Decide & Act Automatically**\n\n### ✅ **Nodes in this Section**\n\n| Node | Name |\n| ---- | ----------------------------------- |\n| 🔎 | **IF: Open ≥30% & CTR <10%?** |\n| 📧 | **Send Follow-Up Engagement Email** |\n| 🚫 | **Skip — No Action Needed** |\n\n---\n\n### 💡 **What Happens Here**\n\n* **🔎 IF: Open ≥30% & CTR <10%?**\n This node checks:\n\n * Is the open rate good? (≥30%)\n * But is the click-through rate low? (<10%)\n If **true**, it triggers follow-up to re-engage the audience.\n\n* **📧 Send Follow-Up Engagement Email**\n If the condition is true, this node sends a **personalized follow-up email** automatically.\n For example: “Hey, you opened but didn’t click — here’s your special offer!”\n\n* **🚫 Skip — No Action Needed**\n If the condition is **false** (e.g. CTR is healthy), do nothing. The workflow ends safely.\n\n---\n\n### 🎯 **Why It’s Important**\n\n✅ Takes action **only when needed**, saving time.\n✅ Boosts click rates without extra manual work.\n✅ Protects your audience from spam by not sending unnecessary follow-ups.\n\n---\n\n## 🌟 **✨ Why This Whole Flow is Powerful**\n\n* Runs daily — **no manual checks**.\n* Scrapes live data — **no API? No problem!**\n* Uses AI to process messy data — **no coding required!**\n* Makes smart decisions — **no human micromanagement**.\n* Sends the right email to the right audience at the right time — **better engagement, better ROI!**\n\n---\n\n"
},
"typeVersion": 1
},
{
"id": "237aeaf4-64f1-411b-a013-9209f46fa320",
"name": "자동 수정 출력 파서",
"type": "@n8n/n8n-nodes-langchain.outputParserAutofixing",
"position": [
840,
300
],
"parameters": {
"options": {}
},
"typeVersion": 1
},
{
"id": "f86d1724-c0c3-4820-9699-44f2d4101054",
"name": "OpenAI 채팅 모델",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
800,
560
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-4o-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "8sEyPDkC5p4w4Jha",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "41e646ea-effa-40c0-8513-7fecd83762ee",
"name": "구조화된 출력 파서",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
980,
560
],
"parameters": {
"jsonSchemaExample": "{\n \"campaign_name\": \"Summer Promo Blast\",\n \"campaign_id\": \"123456789\",\n \"date_sent\": \"2025-06-29\",\n \"unique_opens\": 1230,\n \"total_opens\": 1590,\n \"open_rate\": 47,\n \"unique_clicks\": 530,\n \"total_clicks\": 670,\n \"ctr\": 20,\n \"soft_bounces\": 25,\n \"hard_bounces\": 10,\n \"bounce_rate\": 1.8,\n \"unsubscribed\": 15,\n \"unsubscribe_rate\": 0.6\n}\n"
},
"typeVersion": 1.2
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "226f422b-33c6-4834-8653-5f7a501d9955",
"connections": {
"f86d1724-c0c3-4820-9699-44f2d4101054": {
"ai_languageModel": [
[
{
"node": "237aeaf4-64f1-411b-a013-9209f46fa320",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"41e646ea-effa-40c0-8513-7fecd83762ee": {
"ai_outputParser": [
[
{
"node": "237aeaf4-64f1-411b-a013-9209f46fa320",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"237aeaf4-64f1-411b-a013-9209f46fa320": {
"ai_outputParser": [
[
{
"node": "197f6678-606d-4e9d-91b9-2ed48fe6799c",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"0fa379ec-3e22-4f69-97dc-c45e244121c6": {
"ai_languageModel": [
[
{
"node": "197f6678-606d-4e9d-91b9-2ed48fe6799c",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"75f14163-7400-49fe-aeb9-1f983dfe0c5e": {
"main": [
[
{
"node": "3d85c239-8871-48ce-aecc-581a4a4be75c",
"type": "main",
"index": 0
}
]
]
},
"3d85c239-8871-48ce-aecc-581a4a4be75c": {
"main": [
[
{
"node": "197f6678-606d-4e9d-91b9-2ed48fe6799c",
"type": "main",
"index": 0
}
]
]
},
"fb814c29-e412-4332-ae43-b5f8ce4f0783": {
"main": [
[
{
"node": "b77a5854-6882-47ac-8dba-9af0bdcc0e1f",
"type": "main",
"index": 0
}
],
[
{
"node": "1259660d-e04c-4708-9319-22749360bdc3",
"type": "main",
"index": 0
}
]
]
},
"d1a27651-f1b3-412e-8452-563eba14c7d0": {
"ai_tool": [
[
{
"node": "197f6678-606d-4e9d-91b9-2ed48fe6799c",
"type": "ai_tool",
"index": 0
}
]
]
},
"197f6678-606d-4e9d-91b9-2ed48fe6799c": {
"main": [
[
{
"node": "fb814c29-e412-4332-ae43-b5f8ce4f0783",
"type": "main",
"index": 0
}
]
]
}
}
}자주 묻는 질문
이 워크플로우를 어떻게 사용하나요?
위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.
이 워크플로우는 어떤 시나리오에 적합한가요?
고급 - 소셜 미디어, AI 요약
유료인가요?
이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.
관련 워크플로우 추천
23 고객 생애 가치 분석
GPT-4와 Bright Data MCP를 사용하여 고객 가치 고객 분석 및 타겟팅
If
Set
Code
+
If
Set
Code
20 노드Yaron Been
시장 조사
17 재고 수준 추적
자동화된 Amazon 재고 수준 추적, Bright Data MCP 및 OpenAI 사용
If
Set
Gmail
+
If
Set
Gmail
17 노드Yaron Been
엔지니어링
4 경쟁사 웹사이트 업데이트 추적
Bright Data MCP와 OpenAI를 사용한 자동 경쟁사 가격 모니터링
If
Set
Google Sheets
+
If
Set
Google Sheets
18 노드Yaron Been
시장 조사
지역별 성과 분석
Bright Data MCP 및 GPT-4o를 사용하여 판매 지역 성과 분석
Set
Code
Gmail
+
Set
Code
Gmail
17 노드Yaron Been
고객관계관리
16 경쟁사 가격 모니터링
Bright Data MCP 및 Google Sheets 기반 경쟁사 가격 자동 모니터링
Set
Code
Gmail
+
Set
Code
Gmail
18 노드Yaron Been
시장 조사
경쟁사 제품 출시 모니터링
Bright Data와 OpenAI를 기반으로 실시간 경쟁사 제품 출시 모니터링, 이메일/테이블로 발송
Set
Code
Gmail
+
Set
Code
Gmail
18 노드Yaron Been
시장 조사
워크플로우 정보
난이도
고급
노드 수17
카테고리2
노드 유형11
저자
Yaron Been
@yaron-nofluffBuilding AI Agents and Automations | Growth Marketer | Entrepreneur | Book Author & Podcast Host If you need any help with Automations, feel free to reach out via linkedin: https://www.linkedin.com/in/yaronbeen/ And check out my Youtube channel: https://www.youtube.com/@YaronBeen/videos
외부 링크
n8n.io에서 보기 →
이 워크플로우 공유