8
n8n 한국어amn8n.com

자동화된 마케팅 성과 이메일 보고서

중급

이것은Document Extraction, Multimodal AI분야의자동화 워크플로우로, 13개의 노드를 포함합니다.주로 Merge, Summarize, GoogleSheets, ManualTrigger, MicrosoftOutlook 등의 노드를 사용하며. Google Sheets 및 Outlook을 사용한 마케팅 성과 이메일 보고서 자동 생성

사전 요구사항
  • Google Sheets API 인증 정보
워크플로우 미리보기
노드 연결 관계를 시각적으로 표시하며, 확대/축소 및 이동을 지원합니다
워크플로우 내보내기
다음 JSON 구성을 복사하여 n8n에 가져오면 이 워크플로우를 사용할 수 있습니다
{
  "meta": {
    "instanceId": "ad0113c344ee237399e44e9f11798b05baeb83a6196d514a9ae9d2ad71c3b5c9",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "dd0fb46b-c0ce-4499-a000-8a16fe234969",
      "name": "워크플로우 실행 시",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -3088,
        1232
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "67ca251f-bd65-4707-b807-9353033e205c",
      "name": "Google Sheets 데이터 가져오기",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        -2848,
        1264
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 365710158,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/19aUQYZq02qHsCelO4eeV4sx_MTJJupC5qe0gDLQBtRA/edit#gid=365710158",
          "cachedResultName": "Data"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "19aUQYZq02qHsCelO4eeV4sx_MTJJupC5qe0gDLQBtRA",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/19aUQYZq02qHsCelO4eeV4sx_MTJJupC5qe0gDLQBtRA/edit?usp=drivesdk",
          "cachedResultName": "Sample Marketing Data"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "HlBW2puZbuCCq8jJ",
          "name": "Google Sheets account 3"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "363322ba-a8f0-4269-afa2-6cc13f7f36b3",
      "name": "고유 고객 수 계산",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -2144,
        688
      ],
      "parameters": {
        "options": {},
        "fieldsToSummarize": {
          "values": [
            {
              "field": "Customer ID",
              "aggregation": "countUnique"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "d8d0162f-305a-4359-bdd6-ebf917202265",
      "name": "고유 캠페인 수 계산",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -2144,
        864
      ],
      "parameters": {
        "options": {},
        "fieldsToSummarize": {
          "values": [
            {
              "field": "Campaign",
              "aggregation": "countUnique"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "de8c8386-8fd7-49ed-bf90-88980ceb90f2",
      "name": "총 클릭 수 합계",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -2144,
        1072
      ],
      "parameters": {
        "options": {},
        "fieldsToSummarize": {
          "values": [
            {
              "field": "Clicks",
              "aggregation": "sum"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "6618e8fb-8eb2-43b8-bd5f-b00b7306c8c5",
      "name": "총 전환 수 합계",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -2144,
        1232
      ],
      "parameters": {
        "options": {},
        "fieldsToSummarize": {
          "values": [
            {
              "field": "Conversions",
              "aggregation": "sum"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "c9a81add-1ec5-4db5-8f55-076cdc1db97a",
      "name": "총 지출액 합계",
      "type": "n8n-nodes-base.summarize",
      "position": [
        -2128,
        1408
      ],
      "parameters": {
        "options": {},
        "fieldsToSummarize": {
          "values": [
            {
              "field": "Spend ($)",
              "aggregation": "sum"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "cf7b8d92-15fa-46fd-a63f-0d1b2792f282",
      "name": "이메일 보고서 발송1",
      "type": "n8n-nodes-base.microsoftOutlook",
      "position": [
        -1472,
        1328
      ],
      "webhookId": "6a18e4a8-04ce-49a9-a2ad-451b8daf2df8",
      "parameters": {
        "subject": "Daily Marketing Performance",
        "bodyContent": "=<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <title>Marketing Campaign Performance Report</title>\n    <style>\n        body {\n            font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\n            line-height: 1.6;\n            color: #1a1a1a;\n            max-width: 650px;\n            margin: 0 auto;\n            padding: 30px 20px;\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n            min-height: 100vh;\n        }\n        .container {\n            background: rgba(255, 255, 255, 0.95);\n            backdrop-filter: blur(20px);\n            padding: 40px;\n            border-radius: 24px;\n            box-shadow: \n                0 20px 40px rgba(0, 0, 0, 0.1),\n                0 8px 32px rgba(0, 0, 0, 0.08),\n                inset 0 1px 0 rgba(255, 255, 255, 0.4);\n            border: 1px solid rgba(255, 255, 255, 0.2);\n            position: relative;\n            overflow: hidden;\n        }\n        .container::before {\n            content: '';\n            position: absolute;\n            top: 0;\n            left: 0;\n            right: 0;\n            height: 4px;\n            background: linear-gradient(90deg, #667eea, #764ba2, #f093fb, #f5576c);\n            background-size: 400% 400%;\n            animation: gradient 8s ease infinite;\n        }\n        @keyframes gradient {\n            0% { background-position: 0% 50%; }\n            50% { background-position: 100% 50%; }\n            100% { background-position: 0% 50%; }\n        }\n        h1 {\n            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n            -webkit-background-clip: text;\n            -webkit-text-fill-color: transparent;\n            background-clip: text;\n            font-size: 32px;\n            font-weight: 800;\n            margin-bottom: 40px;\n            text-align: center;\n            letter-spacing: -0.02em;\n        }\n        h2 {\n            color: #2d3748;\n            margin-bottom: 30px;\n            font-size: 24px;\n            font-weight: 700;\n            text-align: center;\n            position: relative;\n        }\n        h2::after {\n            content: '';\n            position: absolute;\n            bottom: -8px;\n            left: 50%;\n            transform: translateX(-50%);\n            width: 60px;\n            height: 3px;\n            background: linear-gradient(90deg, #667eea, #764ba2);\n            border-radius: 2px;\n        }\n        .summary-grid {\n            display: grid;\n            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));\n            gap: 24px;\n            margin-bottom: 40px;\n        }\n        .metric-card {\n            background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);\n            padding: 28px 24px;\n            border-radius: 16px;\n            border: 1px solid rgba(226, 232, 240, 0.8);\n            box-shadow: \n                0 4px 16px rgba(0, 0, 0, 0.08),\n                0 1px 4px rgba(0, 0, 0, 0.04);\n            transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);\n            position: relative;\n            overflow: hidden;\n        }\n        .metric-card::before {\n            content: '';\n            position: absolute;\n            top: 0;\n            left: 0;\n            right: 0;\n            height: 3px;\n            background: linear-gradient(90deg, #667eea, #764ba2);\n            opacity: 0;\n            transition: opacity 0.3s ease;\n        }\n        .metric-card:hover {\n            transform: translateY(-4px);\n            box-shadow: \n                0 12px 32px rgba(0, 0, 0, 0.12),\n                0 4px 16px rgba(0, 0, 0, 0.08);\n        }\n        .metric-card:hover::before {\n            opacity: 1;\n        }\n        .metric-label {\n            font-weight: 600;\n            color: #64748b;\n            font-size: 13px;\n            margin-bottom: 8px;\n            text-transform: uppercase;\n            letter-spacing: 0.5px;\n        }\n        .metric-value {\n            font-size: 28px;\n            font-weight: 800;\n            background: linear-gradient(135deg, #1e293b 0%, #475569 100%);\n            -webkit-background-clip: text;\n            -webkit-text-fill-color: transparent;\n            background-clip: text;\n            letter-spacing: -0.02em;\n        }\n        .footer {\n            margin-top: 50px;\n            padding-top: 30px;\n            border-top: 1px solid rgba(226, 232, 240, 0.6);\n            text-align: center;\n            color: #64748b;\n            font-size: 13px;\n            font-weight: 500;\n        }\n        .footer p {\n            margin: 6px 0;\n        }\n        .footer p:first-child {\n            font-weight: 600;\n            color: #475569;\n        }\n        @media (max-width: 600px) {\n            body {\n                padding: 20px 15px;\n            }\n            .container {\n                padding: 30px 24px;\n                border-radius: 20px;\n            }\n            .summary-grid {\n                grid-template-columns: 1fr;\n                gap: 20px;\n            }\n            h1 {\n                font-size: 28px;\n                margin-bottom: 30px;\n            }\n            .metric-value {\n                font-size: 24px;\n            }\n        }\n    </style>\n</head>\n<body>\n    <div class=\"container\">\n        <h1>Marketing Campaign Performance Report</h1>\n        \n        <h2>Campaign Summary</h2>\n        <div class=\"summary-grid\">\n            <div class=\"metric-card\">\n                <div class=\"metric-label\">Total Campaigns</div>\n                <div class=\"metric-value\">{{ $json.unique_count_Campaign }}</div>\n            </div>\n            <div class=\"metric-card\">\n                <div class=\"metric-label\">Total Customers Reached</div>\n                <div class=\"metric-value\">{{ $json.unique_count_Customer_ID }}</div>\n            </div>\n            <div class=\"metric-card\">\n                <div class=\"metric-label\">Total Clicks</div>\n                <div class=\"metric-value\">{{ $json.sum_Clicks }}</div>\n            </div>\n            <div class=\"metric-card\">\n                <div class=\"metric-label\">Total Conversions</div>\n                <div class=\"metric-value\">{{ $json.sum_Conversions }}</div>\n            </div>\n            <div class=\"metric-card\">\n                <div class=\"metric-label\">Total Spend</div>\n                <div class=\"metric-value\">{{ $json['sum_Spend_($)'] }}</div>\n            </div>\n        </div>\n        <div class=\"footer\">\n            <p>Report generated automatically via n8n automation</p>\n            <p>Last updated: {{ $json.lastUpdated }}</p>\n        </div>\n    </div>\n</body>\n</html>",
        "toRecipients": "rbreen@ynteractive.com",
        "additionalFields": {
          "bodyContentType": "html"
        }
      },
      "credentials": {
        "microsoftOutlookOAuth2Api": {
          "id": "9z1nG9ReKLXU309r",
          "name": "Microsoft Outlook account 4"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "d9d8fce2-da0f-4ba4-be18-445f5c71a466",
      "name": "병합",
      "type": "n8n-nodes-base.merge",
      "position": [
        -1776,
        1296
      ],
      "parameters": {
        "mode": "combine",
        "options": {},
        "combineBy": "combineByPosition",
        "numberInputs": 5
      },
      "typeVersion": 3.2
    },
    {
      "id": "446a50f7-8d42-40f9-9323-790ea93a4aa5",
      "name": "스티커 메모17",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3136,
        480
      ],
      "parameters": {
        "width": 1984,
        "height": 128,
        "content": "## 📬 Need Help or Want to Customize This?\n📧 [robert@ynteractive.com](mailto:robert@ynteractive.com)  \n🔗 [LinkedIn](https://www.linkedin.com/in/robert-breen-29429625/)"
      },
      "typeVersion": 1
    },
    {
      "id": "08007788-b10a-45c2-8d8e-44b31d0679cc",
      "name": "스티커 메모2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -3136,
        624
      ],
      "parameters": {
        "color": 4,
        "width": 480,
        "height": 928,
        "content": "### Step 1: Set Up Your Google Sheets Data Source\n\n**Copy the Sample Data Template:**\n1. Access the template: [Marketing Performance Data Template](https://docs.google.com/spreadsheets/d/19aUQYZq02qHsCelO4eeV4sx_MTJJupC5qe0gDLQBtRA/edit?usp=sharing)\n2. Click \"File\" → \"Make a copy\" to create your own version\n3. Rename it (e.g., \"My Marketing Performance Data\")\n\n**Set Up Your Data Structure:**\nYour Google Sheet should have a \"Data\" tab with these columns:\n- **Customer ID** - Unique identifier for each customer\n- **Campaign** - Name of the marketing campaign\n- **Clicks** - Number of clicks generated\n- **Conversions** - Number of conversions achieved  \n- **Spend ($)** - Amount spent on the campaign\n\n**Configure Google Sheets API Access:**\n- Go to [Google Cloud Console](https://console.cloud.google.com/)\n- Create a project or select existing one\n- Enable \"Google Sheets API\"\n- Create OAuth2 credentials or use service account\n- Share your sheet with the service account email (if using service account)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "6020cd74-f930-4e34-bcf4-8bb51caaffcf",
      "name": "스티커 메모3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1920,
        624
      ],
      "parameters": {
        "color": 3,
        "width": 768,
        "height": 928,
        "content": "\n#### Node 8: \"Merge\"\n- **Purpose**: Combines all calculated metrics into one data object\n- **Configuration**: Pre-configured to merge by position\n- **No setup required**\n\n#### Node 9: \"Send Email Report\" (Microsoft Outlook)\n- **Purpose**: Sends the formatted HTML email report\n- **Setup Required**:\n  1. Click on the node\n  2. Set up Microsoft Outlook OAuth2 credentials:\n     - Click \"Create New Credential\"\n     - Follow OAuth2 setup for your Microsoft account\n     - Grant necessary email permissions\n  3. **Configure Email Settings**:\n     - **To Recipients**: Change from \"rbreen@ynteractive.com\" to your recipient email(s)\n     - **Subject**: Modify \"Daily Marketing Performance\" as needed\n     - **Body Content**: Pre-configured with professional HTML template\n  4. **Email Template Features**:\n     - Modern glassmorphic design\n     - Responsive layout for mobile devices\n     - Animated gradient accents\n     - Hover effects on metric cards\n     - Professional typography\n\n*Specializing in AI-powered workflow automation, business process optimization, and custom integration solutions.*"
      },
      "typeVersion": 1
    },
    {
      "id": "babb9445-8793-4b44-8447-0ed788ca53a0",
      "name": "스티커 메모4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -2624,
        624
      ],
      "parameters": {
        "color": 5,
        "width": 672,
        "height": 928,
        "content": " #### Node 3-7: Data Analysis Nodes\n\n**\"Count Unique Customers\"**\n- **Purpose**: Counts how many unique customers were reached\n- **Configuration**: Pre-configured to count unique \"Customer ID\" values\n- **No setup required**\n\n**\"Count Unique Campaigns\"**\n- **Purpose**: Counts total number of campaigns run\n- **Configuration**: Pre-configured to count unique \"Campaign\" values\n- **No setup required**\n\n**\"Sum Total Clicks\"**\n- **Purpose**: Adds up all clicks across campaigns\n- **Configuration**: Pre-configured to sum \"Clicks\" column\n- **No setup required**\n\n**\"Sum Total Conversions\"**\n- **Purpose**: Totals all conversions achieved\n- **Configuration**: Pre-configured to sum \"Conversions\" column\n- **No setup required**\n\n**\"Sum Total Spend\"**\n- **Purpose**: Calculates total marketing spend\n- **Configuration**: Pre-configured to sum \"Spend ($)\" column\n- **No setup required**\n\n"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "d9d8fce2-da0f-4ba4-be18-445f5c71a466": {
      "main": [
        [
          {
            "node": "cf7b8d92-15fa-46fd-a63f-0d1b2792f282",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "c9a81add-1ec5-4db5-8f55-076cdc1db97a": {
      "main": [
        [
          {
            "node": "d9d8fce2-da0f-4ba4-be18-445f5c71a466",
            "type": "main",
            "index": 4
          }
        ]
      ]
    },
    "de8c8386-8fd7-49ed-bf90-88980ceb90f2": {
      "main": [
        [
          {
            "node": "d9d8fce2-da0f-4ba4-be18-445f5c71a466",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "cf7b8d92-15fa-46fd-a63f-0d1b2792f282": {
      "main": [
        []
      ]
    },
    "6618e8fb-8eb2-43b8-bd5f-b00b7306c8c5": {
      "main": [
        [
          {
            "node": "d9d8fce2-da0f-4ba4-be18-445f5c71a466",
            "type": "main",
            "index": 3
          }
        ]
      ]
    },
    "d8d0162f-305a-4359-bdd6-ebf917202265": {
      "main": [
        [
          {
            "node": "d9d8fce2-da0f-4ba4-be18-445f5c71a466",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "363322ba-a8f0-4269-afa2-6cc13f7f36b3": {
      "main": [
        [
          {
            "node": "d9d8fce2-da0f-4ba4-be18-445f5c71a466",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "67ca251f-bd65-4707-b807-9353033e205c": {
      "main": [
        [
          {
            "node": "363322ba-a8f0-4269-afa2-6cc13f7f36b3",
            "type": "main",
            "index": 0
          },
          {
            "node": "d8d0162f-305a-4359-bdd6-ebf917202265",
            "type": "main",
            "index": 0
          },
          {
            "node": "de8c8386-8fd7-49ed-bf90-88980ceb90f2",
            "type": "main",
            "index": 0
          },
          {
            "node": "6618e8fb-8eb2-43b8-bd5f-b00b7306c8c5",
            "type": "main",
            "index": 0
          },
          {
            "node": "c9a81add-1ec5-4db5-8f55-076cdc1db97a",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "dd0fb46b-c0ce-4499-a000-8a16fe234969": {
      "main": [
        [
          {
            "node": "67ca251f-bd65-4707-b807-9353033e205c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
자주 묻는 질문

이 워크플로우를 어떻게 사용하나요?

위의 JSON 구성 코드를 복사하여 n8n 인스턴스에서 새 워크플로우를 생성하고 "JSON에서 가져오기"를 선택한 후, 구성을 붙여넣고 필요에 따라 인증 설정을 수정하세요.

이 워크플로우는 어떤 시나리오에 적합한가요?

중급 - 문서 추출, 멀티모달 AI

유료인가요?

이 워크플로우는 완전히 무료이며 직접 가져와 사용할 수 있습니다. 다만, 워크플로우에서 사용하는 타사 서비스(예: OpenAI API)는 사용자 직접 비용을 지불해야 할 수 있습니다.

관련 워크플로우 추천

Google 스프레드시트에서 사용자 정의 피벗 테이블 및 VLOOKUP을 사용한 마케팅 지출 데이터 집계
在Google Sheets中사용自定义透视表및VLOOKUP聚合마케팅支出데이터
Merge
Summarize
Google Sheets
+
Merge
Summarize
Google Sheets
10 노드Robert Breen
문서 추출
GPT-4 통찰력과 PDF.co를 사용하여 Google Sheets에서 마케팅 보고서 생성
GPT-4 통찰력과 PDF.co를 사용하여 Google Sheets에서 마케팅 보고서 생성
Code
Merge
Aggregate
+
Code
Merge
Aggregate
15 노드Robert Breen
문서 추출
데이터 셋 결합을 사용하여 Google Drive와 Sheets를 통해 다중 시트 엑셀 워크시트 생성
데이터 셋 결합을 통해 Google Drive와 Sheets를 통해 다중 시트 엑셀 워크북 생성
Code
Merge
Google Drive
+
Code
Merge
Google Drive
12 노드Robert Breen
문서 추출
초보자 데이터 분석: GPT-4o를 사용하여 Google Sheets에서 결합, 필터링, 요약
시작자 데이터 분석: GPT-4o를 사용하여 Google Sheets에서 결합, 필터링 및 요약
If
Set
Code
+
If
Set
Code
21 노드Robert Breen
문서 추출
Google Sheets, GPT-4o, 이메일을 사용하여 마케팅 활동 ROI 보고서 생성
Google Sheets, GPT-4o, 이메일을 사용하여 마케팅 활동 ROI 보고서 생성
Code
Merge
Aggregate
+
Code
Merge
Aggregate
16 노드Robert Breen
AI 요약
새 Gmail 이메일을 Google Sheets에 자동으로 기록
새 Gmail 이메일을 자동으로 Google Sheets에 기록
Code
Gmail
Merge
+
Code
Gmail
Merge
11 노드Robert Breen
고객관계관리
워크플로우 정보
난이도
중급
노드 수13
카테고리2
노드 유형6
난이도 설명

일정 경험을 가진 사용자를 위한 6-15개 노드의 중간 복잡도 워크플로우

저자
Robert Breen

Robert Breen

@rbreen

Professional services consultant with over 10 years of experience solving complex business problems across industries. I specialize in n8n and process automation—designing custom workflows that integrate tools like Google Calendar, Airtable, GPT, and internal systems. Whether you need to automate scheduling, sync data, or streamline operations, I build solutions that save time and drive results.

외부 링크
n8n.io에서 보기

이 워크플로우 공유

카테고리

카테고리: 34