인셔셔RSS 관심 있는 블로그, 뉴스, 기술 정보를 효율적으로 추적하고 읽으세요
원문 읽기 InertiaRSS에서 열기

추천 피드

博客园 - 司徒正美
V
V2EX
T
Tailwind CSS Blog
有赞技术团队
有赞技术团队
aimingoo的专栏
aimingoo的专栏
Apple Machine Learning Research
Apple Machine Learning Research
IT之家
IT之家
Blog — PlanetScale
Blog — PlanetScale
A
About on SuperTechFans
月光博客
月光博客
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Martin Fowler
Martin Fowler
博客园 - 聂微东
The GitHub Blog
The GitHub Blog
V
Visual Studio Blog
WordPress大学
WordPress大学
酷 壳 – CoolShell
酷 壳 – CoolShell
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant Common SOC 2 Failures (Real World) Stop Vibe-Checking Your AI App: A Practical Guide to Evals How to Use SonarQube and SonarScanner Locally to Level Up Your Code Quality Your Next To-Do App Is Dead — I Replaced Mine with an OpenClaw AI Sign a Nostr event in 60 lines of Python using coincurve — no nostr-sdk, no nbxplorer, no rust toolchain ITGC Audit Explained Like You’re in Big 4 Patch Tuesday abril 2026: Microsoft parcha 163 vulnerabilidades y un zero-day en SharePoint Stop scraping everything: a better way to track competitor price changes Listing on MCPize + the Official MCP Registry while routing payments OUTSIDE the marketplace — how I kept 100% of my x402 revenue Building an AI-Powered Risk Intelligence System Using Serverless Architecture Why We Ripped Function Overloading Out of Our AI Toolchain Testing AI-Generated Code: How to Actually Know If It Works SaaS Churn Is Killing Your Business. Here Is What to Do About It (Without a Support Team) The Speed of AI Is No Longer Linear - And Self-Improving Models Are Why How to Implement RBAC for MCP Tools: A Practical Guide for Engineering Teams From Standard Quote to Persuasive Proposal: AI Automation for Arborists I built a CLI that scaffolds complete multi-tenant SaaS apps Axios CVE-2025–62718: The Silent SSRF Bug That Could Be Hiding in Your Node.js App Right Now The dashboard that ended our friendship Data Pipelines Explained Simply (and How to Build Them with Python)
데이터 추출 대비 데이터 뷰: SFMC에서 데이터를 가져오세요
SapotaCorp · 2026-05-24 · via DEV Community

고객은 그들의 분석팀이 데이터 웨어하우스에 모든 추적 이벤트를 가지고 싶어 합니다. 각 발송마다 추적에서 CSVЭкспорт를 클릭하는 것은 확장성이 없습니다. 두 개의 SFMC 네이티브 도구는 대량 추적Экспорт를 처리합니다:

  1. 추적 데이터 추출 - 일정에 따른 자동 Экспорт를 SFTP로
  2. 데이터 뷰에 대한 SQL 쿼리 활동 - SFMC 내에서 추적을 직접 쿼리합니다

두 가지 방법 모두 작동합니다. 어떤 방법을 사용할지는 데이터가 어디에 저장되어야 하는지에 따라 달라집니다.

옵션 1: 추적 데이터 추출

Automation Studio > 데이터 추출 활동 > 추적 추출 유형. 데이터 유형과 날짜 범위를 선택하면 SFMC가 CSV 파일을 Safehouse에 작성합니다. 그런 다음 File Transfer 활동이 이를 클라이언트의 SFTP로 전송합니다.

지원 타입:

  • 발송
  • 열림
  • 클릭
  • 튀어나감
  • 구독 취소
  • 불만 (스팸 신고)
  • 발송 안됨

표준 자동화:

Schedule (daily or weekly)
  -> Data Extract Activity (Tracking Extract, date range: yesterday)
  -> File Transfer Activity (push CSV to client SFTP)

전체 화면 모드 입력 전체 화면 모드 종료

출력은 각 사건마다 한 줄로 된 평평한 CSV 형식입니다. 분석가들은 이를 창고에 로드하고 쿼리합니다.

유지 우위: 추적 추출은 만료되지 않은 경우 몇 년간의 데이터를 가져올 수 있습니다. 일부 사건은 SFMC에서 2년 동안 유지되므로, 만료되기 전에 추출하세요.

옵션 2: 데이터 뷰에 대한 SQL 쿼리 활동

데이터 뷰는 SFMC의 시스템 테이블로 추적 데이터를 저장합니다. SQL 쿼리 활동으로 쿼리하고 결과를 DE에 작성합니다.

데이터 뷰

에는

_Sent

모든 이메일 시도

_Open

모든 열기 이벤트

_Click

모든 클릭 이벤트

_Bounce

모든 반송, 반송 유형

_Unsubscribe

모든 구독 취소

_Complaint

모든 스팸 보고서

_Job

작업 메타데이터 전송

_Subscribers

모든 구독자 목록

예: 지난 30일간 이메일을 열었던 구독자들:

SELECT DISTINCT SubscriberKey, EmailAddress
FROM _Open
WHERE EventDate >= DATEADD(DAY, -30, GETDATE())

전체 화면 모드 입력 전체 화면 모드 종료

DE에 쓰기. DE를 다음과 같이 사용:

  • 재참여 캠페인 대상
  • 추가 SQL 분석의 원천
  • 파일 드롭 인풋 외부 시스템용

언제 어떤 것을 선택할까요

필요합니다

도구

클라이언트의 데이터 웨어하우스로 내보내기

트래킹 데이터 추출 + 파일 전송

트래킹을 통해 내부 SFMC 구성 요소를 만드세요

SQL 쿼리 활동

단기적인 역사적 추세

데이터 추적 추출

참여 기반의 지속적인 분할

SQL 쿼리 활동

SFMC 외 분석가용 데이터

추적 데이터 추출

모든 것을 SFMC 내에 유지

SQL 쿼리 활동

보존 한도

  • 데이터 뷰 기본 보존 기간: 6개월
  • 일부 이벤트 데이터 : 최대 2년 (계약에 따라 다름)
  • 추적 데이터 추출 범위 : 보관된 내용에 제한 - 삭제된 내용을 꺼낼 수 없음

규칙: 참여 초기에 아카이브 자동화를 설정하세요. 주간 _Open, _Click, _Sent, _Bounce을 고객의 창고나 아카이브 DE에 추출하세요. 6개월이 지나면 모든 데이터가 백업됩니다.

아카이브 패턴

고객이 SFMC 내에서 2년 이상 추적하고 싶을 경우:

Weekly archive automation:
  Schedule (Monday 2am)
  -> SQL Query Activity: SELECT * FROM _Open WHERE EventDate BETWEEN X AND Y INTO Archive_Open DE
  -> SQL Query Activity: Same for _Click, _Sent, _Bounce

전체 화면 모드 입력 전체 화면 모드 종료

아카이브 DE는 시간이 지남에 따라 성장하지만 노후화하지 않습니다. 아카이브와 실시간 데이터를 통해 무제한 보존이 가능합니다.

창고 아카이브 (SFMC 외부):

Daily export:
  Schedule (daily 1am)
  -> Data Extract Activity (each tracking type, yesterday's data)
  -> File Transfer Activity (push to client SFTP)

전체 화면 모드 입력 전체 화면 모드 종료

두 패턴 모두 작동합니다. downstream analysis가 일어나는 위치에 따라 선택하세요.

일반적인 실수

초기 보관 미실시

클라이언트가 지난해 캠페인 데이터를 10번째 월에 요청합니다. 데이터는 사라졌습니다. 데이터 뷰 보관 기간은 6번째 월에 종료되었습니다.

수정: 첫 날부터 보관을 시작하세요, 요청할 때 시작하지 마세요.

SFMC 외부에서 데이터 뷰를 쿼리하려고 시도 중

데이터 뷰는 내부 SFMC 시스템 테이블입니다. BI 도구를 직접 연결할 수 없습니다. 먼저 내보내야 합니다.

모든 데이터 뷰가 동일하게 유지된다고 가정

_Sent_Open와 다르게 유지되며, 두 가지 모두 _Subscribers와 다릅니다. 특정 계정의 유지 기간에 대한 문서를 읽고 날짜 범위를 보장하기 전에.

데이터 뷰에 인덱스 없이 조인하기

데이터 뷰에 대한 SQL 쿼리 활동은 쿼리가 지원되는 조인 패턴을 사용하지 않으면 백만 개의 행과 같은 대량의 데이터를 처리할 때 시간 초과가 발생할 수 있습니다. 쿼리를 간단하게 유지하고 필터링하세요; 가능한 한 핵심 키를 사용하세요.

패턴: 데이터 뷰에서의 재참여 캠페인

일반적인 사용 사례 - 90일 이내에 열람하지 않은 구독자를 찾고 재참여 여정에 포함하십시오:

SELECT s.SubscriberKey, s.EmailAddress
FROM _Subscribers s
LEFT JOIN (
  SELECT DISTINCT SubscriberKey
  FROM _Open
  WHERE EventDate >= DATEADD(DAY, -90, GETDATE())
) o ON s.SubscriberKey = o.SubscriberKey
WHERE s.Status = 'Active' AND o.SubscriberKey IS NULL
INTO ReEngagement_Candidates_DE

전체 화면 모드 입력 전체 화면 모드 종료

매주 예약합니다. Journey Builder는 ReEngagement_Candidates_DE에서 읽고 재참여 시리즈를 트리거합니다.

요약

클라이언트 창고 및 외부 시스템으로의 xuất khẩu을 위한 추적 데이터 추출. 데이터 뷰에 대한 SQL 쿼리 활동은 내부 분할 및 SFMC 분석에 사용됩니다. 대부분의 프로젝트에서 두 작업은 서로 협력합니다. 아카이브 자동화를 일찍 설정하세요 - 대안은 클라이언트에게 그들의 오래된 캠페인 데이터가 사라졌다고 알리는 것입니다.


SFMC 데이터 xuất khẩu 및 아카이브 전략 설계? 우리 Salesforce 팀은 생산 환경 프로젝트에서 추적 데이터 파이프라인을 배포하며 보존 계획을 수립합니다. 연락하기 ->

저희의 전체 플랫폼 서비스를 확인하세요.