n8n과 Google Sheets를 활용한 자동 이메일 캠페인 성과 보고서 구축: Mailchimp, SendGrid, 및 API 데이터 통합 자동화
수동으로 이메일 캠페인 성과 데이터를 취합하고 보고서를 작성하는 데 지치셨나요? n8n을 사용하여 Mailchimp, SendGrid, 기타 API에서 데이터를 자동으로 가져와 Google Sheets에 통합하는 워크플로우를 구축하여 시간을 절약하고 데이터 기반 의사 결정을 내릴 수 있습니다. 이제 번거로운 수작업 없이 이메일 캠페인의 효과를 정확하게 파악하세요.
1. The Challenge / Context
많은 기업과 개인 사용자들이 이메일 마케팅을 통해 고객과의 소통을 유지하고, 새로운 제품이나 서비스를 홍보합니다. 하지만 캠페인의 성과를 정확하게 측정하고 분석하는 것은 쉽지 않습니다. Mailchimp, SendGrid와 같은 이메일 마케팅 플랫폼은 자체적인 분석 도구를 제공하지만, 여러 플랫폼을 사용하는 경우 데이터를 통합하고 사용자 정의 보고서를 생성하는 데 어려움이 따릅니다. 또한, 실시간으로 성과를 추적하고 즉각적으로 대응하기 어렵다는 문제점도 존재합니다. 이러한 문제를 해결하기 위해 자동화된 데이터 통합 및 보고 시스템이 필요합니다.
2. Deep Dive: n8n
n8n은 노드 기반의 로우코드 자동화 플랫폼입니다. 웹훅, API, 다양한 서비스 통합을 지원하여 복잡한 워크플로우를 시각적으로 구축하고 실행할 수 있습니다. n8n의 핵심은 노드입니다. 각 노드는 특정 작업을 수행하며, 노드들을 연결하여 전체 워크플로우를 정의합니다. Mailchimp, SendGrid, Google Sheets 등 다양한 서비스를 위한 노드가 제공되어 있어, 코드를 거의 작성하지 않고도 강력한 자동화 기능을 구현할 수 있습니다. 또한, n8n은 자체 서버에 설치하거나 클라우드 서비스를 이용하여 실행할 수 있어 유연성이 뛰어납니다.
3. Step-by-Step Guide / Implementation
이제 n8n을 사용하여 Mailchimp, SendGrid 데이터, 그리고 임의의 API 데이터를 Google Sheets에 자동으로 통합하는 워크플로우를 구축하는 방법을 단계별로 설명하겠습니다. 이 예제에서는 Mailchimp와 SendGrid 데이터를 통합하는 것을 보여주지만, 유사한 방식으로 다른 API 데이터도 통합할 수 있습니다.
Step 1: n8n 설치 및 설정
n8n을 실행할 환경을 설정합니다. 로컬 환경에 Docker를 사용하여 설치하거나, n8n Cloud와 같은 클라우드 서비스를 이용할 수 있습니다. Docker를 사용하는 경우 다음 명령어를 실행합니다.
docker run -d -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n
n8n 웹 인터페이스(일반적으로 http://localhost:5678)에 접속하여 초기 설정을 완료합니다. 사용자 계정을 생성하고 데이터 저장소를 설정합니다.
Step 2: Mailchimp 노드 설정
n8n 워크플로우에 Mailchimp 노드를 추가합니다. Mailchimp API 키가 필요합니다. Mailchimp 계정에서 API 키를 생성하고, n8n Mailchimp 노드에 해당 키를 입력합니다. 작업(operation)을 선택하여 캠페인 데이터, 목록 데이터 등을 가져올 수 있습니다. 예를 들어, 모든 캠페인 목록을 가져오려면 "List" 작업을 선택하고, "Resource"를 "Campaigns"로 설정합니다.
// 예시: Mailchimp 노드 설정 (n8n 인터페이스에서 수행)
{
"name": "Mailchimp",
"type": "n8n-nodes-mailchimp",
"config": {
"apiKey": "YOUR_MAILCHIMP_API_KEY",
"version": "v3",
"region": "us1"
},
"operation": "list",
"resource": "campaigns"
}
Step 3: SendGrid 노드 설정
Mailchimp와 마찬가지로 SendGrid 노드를 추가합니다. SendGrid API 키가 필요합니다. SendGrid 계정에서 API 키를 생성하고, n8n SendGrid 노드에 해당 키를 입력합니다. "Get Statistics" 작업을 선택하여 이메일 전송 통계 데이터를 가져올 수 있습니다. 시작 날짜와 종료 날짜를 설정하여 특정 기간 동안의 데이터를 필터링할 수 있습니다.
// 예시: SendGrid 노드 설정 (n8n 인터페이스에서 수행)
{
"name": "SendGrid",
"type": "n8n-nodes-sendgrid",
"config": {
"apiKey": "YOUR_SENDGRID_API_KEY"
},
"operation": "getStatistics",
"query": {
"start_date": "{{$now(-'7d').format('YYYY-MM-DD')}}",
"end_date": "{{$now().format('YYYY-MM-DD')}}"
}
}
Step 4: API 노드 설정 (필요한 경우)
필요에 따라 다른 API로부터 데이터를 가져오기 위해 HTTP Request 노드를 사용할 수 있습니다. API 엔드포인트, 인증 방식, 요청 헤더 등을 설정합니다. JSON 데이터 파싱을 위해 JSON Parse 노드를 연결하여 사용합니다.
// 예시: HTTP Request 노드 설정 (n8n 인터페이스에서 수행)
{
"name": "API Request",
"type": "n8n-nodes-http-request",
"config": {
"method": "GET",
"url": "YOUR_API_ENDPOINT",
"authentication": "headerAuth",
"headerParameters": [
{
"name": "Authorization",
"value": "Bearer YOUR_API_TOKEN"
}
]
}
}
Step 5: 데이터 변환 노드 설정 (Function 노드)
Mailchimp, SendGrid, API 데이터는 각각 다른 형식을 가질 수 있습니다. Function 노드를 사용하여 데이터를 Google Sheets에 저장하기 적합한 형식으로 변환합니다. JavaScript 코드를 사용하여 필요한 데이터 필드를 추출하고, 이름을 변경하고, 형식을 변경할 수 있습니다.
// 예시: Function 노드 코드 (JavaScript)
const mailchimpData = $input.item[0].json;
const sendgridData = $input.item[1].json;
const transformedData = [];
// Mailchimp 데이터 변환
mailchimpData.campaigns.forEach(campaign => {
transformedData.push({
source: 'Mailchimp',
campaign_id: campaign.id,
campaign_name: campaign.settings.title,
emails_sent: campaign.emails_sent,
opens: campaign.report_summary.opens,
clicks: campaign.report_summary.subscriber_clicks
});
});
// SendGrid 데이터 변환
sendgridData.forEach(dayData => {
transformedData.push({
source: 'SendGrid',
date: dayData.date,
requests: dayData.requests,
delivered: dayData.delivered,
opens: dayData.opens,
clicks: dayData.clicks
});
});
return transformedData.map(item => ({json: item}));
Step 6: Google Sheets 노드 설정
Google Sheets 노드를 추가하고 Google 계정을 연결합니다. 연결을 위해서는 Google Sheets API에 대한 권한이 필요합니다. Google Cloud Platform에서 API를 활성화하고, 자격 증명을 생성하여 n8n에 제공합니다. 스프레드시트 ID와 시트 이름을 지정하고, "Append" 작업을 선택하여 데이터를 추가합니다. Google Sheets 노드는 Function 노드에서 변환된 데이터를 받아 Google Sheets에 저장합니다.
// 예시: Google Sheets 노드 설정 (n8n 인터페이스에서 수행)
{
"name": "Google Sheets",
"type": "n8n-nodes-google-sheets",
"config": {
"spreadsheetId": "YOUR_SPREADSHEET_ID",
"sheetName": "Sheet1",
"authentication": "oAuth2",
"oAuth2CredentialType": "serviceAccount",
"serviceAccountAuth": {
"email": "YOUR_SERVICE_ACCOUNT_EMAIL",
"privateKey": "YOUR_PRIVATE_KEY"
}
},
"operation": "append",
"options": {
"insertDataOption": "INSERT_ROWS",
"valueInputOption": "USER_ENTERED"
}
}
Step 7: 트리거 설정
워크플로우를 실행할 트리거를 설정합니다. "Cron" 트리거를 사용하여 주기적으로(예: 매일 자정) 워크플로우를 실행하거나, 웹훅 트리거를 사용하여 특정 이벤트가 발생했을 때 워크플로우를 실행할 수 있습니다. Cron 트리거를 사용하는 경우, Cron 표현식을 사용하여 실행 시간을 정의합니다. 매일 자정에 실행하려면 "0 0 * * *"를 입력합니다.
// 예시: Cron 트리거 설정 (매일 자정 실행)
{
"name": "Cron",
"type": "n8n-nodes-trigger",
"config": {
"cronExpression": "0 0 * * *"
}
}
4. Real-world Use Case / Example
저는 이 워크플로우를 사용하여 매주 금요일 아침 9시에 지난 한 주 동안의 이메일 캠페인 성과 보고서를 자동으로 생성합니다. 이전에는 Mailchimp와 SendGrid에 각각 로그인하여 데이터를 다운로드하고, 엑셀에서 데이터를 수동으로 합쳐야 했습니다. 이 작업에 2시간 이상 소요되었지만, n8n 워크플로우를 구축한 후에는 완전히 자동화되어 매주 2시간을 절약하고 있습니다. 또한, 데이터가 Google Sheets에 자동으로 업데이트되므로 실시간으로 캠페인 성과를 모니터링하고, 필요에 따라 즉시 전략을 수정할 수 있습니다. 특히 A/B 테스트 결과를 분석하고, 성과가 좋은 콘텐츠를 빠르게 파악하여 다음 캠페인에 적용하는 데 매우 유용합니다.
5. Pros & Cons / Critical Analysis
- Pros:
- 자동화된 데이터 통합으로 시간과 노력을 절약
- 실시간 데이터 모니터링 및 분석
- 사용자 정의 보고서 생성 용이
- 로우코드 플랫폼으로 개발 지식 없이도 구축 가능
- 다양한 서비스 및 API 통합 지원
- Cons:
- 초기 설정 및 학습 곡선 존재
- Google Sheets API 사용량 제한에 따른 성능 저하 가능성
- 복잡한 워크플로우 구축 시 디버깅 어려움
- n8n 서버 유지 관리 필요 (자체 호스팅 시)
6. FAQ
- Q: n8n은 무료로 사용할 수 있나요?
A: n8n은 오픈 소스 프로젝트이며, 자체 서버에 설치하여 무료로 사용할 수 있습니다. n8n Cloud와 같은 클라우드 서비스는 유료 플랜을 제공하지만, 무료 플랜도 제공하여 제한적인 기능과 사용량을 사용할 수 있습니다. - Q: Google Sheets API 사용량 제한은 어떻게 해결할 수 있나요?
A: Google Sheets API 사용량 제한을 피하기 위해 데이터를 일괄 처리하거나, Google Sheets API 대신 다른 데이터 저장소를 사용하는 것을 고려할 수 있습니다. 또한, API 사용량을 최적화하기 위해 필요한 데이터만 요청하도록 워크플로우를 수정할 수 있습니다. - Q: n8n 워크플로우 디버깅은 어떻게 해야 하나요?
A: n8n은 워크플로우 실행 기록을 제공하며, 각 노드의 입력 및 출력을 확인할 수 있습니다. 이를 통해 오류가 발생한 노드를 식별하고, 문제 해결을 위한 정보를 얻을 수 있습니다. 또한, n8n 커뮤니티 포럼에서 다른 사용자와 경험을 공유하고 도움을 받을 수 있습니다.
7. Conclusion
n8n과 Google Sheets를 활용한 자동 이메일 캠페인 성과 보고서 구축은 이메일 마케팅 담당자, 솔로프레너, 개발자에게 매우 유용한 솔루션입니다. 수동 작업에 소요되는 시간을 줄이고, 실시간 데이터 기반 의사 결정을 지원하여 캠페인 성과를 극대화할 수 있습니다. 지금 바로 n8n을 설치하고 이 워크플로우를 구축하여 이메일 마케팅 효율성을 향상시키세요. n8n 공식 문서 (https://n8n.io/docs/) 에서 더 자세한 정보를 확인할 수 있습니다.


