Marketing Theory — 마케팅 개념 정리/마케팅 개념

"개발자님, 이 리스트 좀..." 이제 그만! SQL로 5분 만에 타겟팅 리스트 뽑기

채지해 2026. 4. 10. 21:01

01. 개요: 왜 마케터가 SQL을 배워야 하는가?

SQL(Structured Query Language)은 데이터베이스와 소통하기 위한 체계적인 언어다.

마케터는 데이터의 생성(Create)이나 삭제(Delete)보다는, 필요한 데이터를 불러오는 조회(Read) 기능을 주로 사용한다.

마케터에게 SQL이 필요한 이유

  • GA4와 빅쿼리의 연동: 기본 콘솔 리포트에서 확인할 수 없는 세밀한 원천 데이터를 분석하기 위해 빅쿼리 활용이 필수적이다.
  • 직접적인 데이터 추출: 이벤트 발송 대상자(이메일, 푸시 알림) 리스트업을 개발팀 요청 없이 마케터가 직접 수행함으로써 업무 속도를 높인다.
  • 성과 분석의 고도화: 여러 채널의 데이터를 병합하여 입체적인 마케팅 성과를 파악할 수 있다.

02. 실습 환경 구축: 구글 빅쿼리(BigQuery)

구글 클라우드 콘솔에서 카드 등록 없이 무료로 시작할 수 있는 샌드박스 환경이다.
구글 클라우드 콘솔에서 카드 등록 없이 무료로 시작할 수 있는 샌드박스 환경이다.

별도의 설치 없이 브라우저에서 바로 사용 가능한 '빅쿼리 샌드박스'를 활용한다.

구글 시트 등 타 도구와의 호환성이 뛰어나 마케터가 접근하기 가장 좋은 환경이다.

 

데이터 구축 순서:

  1. 구글 검색창에 '빅쿼리 샌드박스' 검색 후 이동한다.
  2. 새 프로젝트를 생성하고, 데이터세트(Dataset)를 만든다.
  3. 외부 소스(Google Sheets)를 연결하여 테이블을 생성한다. 이때 스키마는 '자동 감지'를 선택하고, 고급 옵션에서 '건너뛸 헤더 행'을 1로 설정한다.

03. 핵심 문법: SELECT, FROM, WHERE

데이터의 위치를 지정하고 원하는 조건만 필터링하는 단계다.

  • SELECT / FROM: "어느 테이블에서 어떤 컬럼을 가져올 것인가?"
  • WHERE: "어떤 조건에 맞는 데이터만 보여줄 것인가?"

SQL

/* 예시: 구매 금액이 10만 원 이상인 고객의 이름과 이메일 추출 */

SELECT user_name, email

FROM `my_project.marketing_data.order_info`

WHERE total_purchase >= 100000


04. 데이터 정렬과 제한: ORDER BY, LIMIT

빅쿼리 콘솔에서 SQL 쿼리를 실행한 화면. ORDER BY로 데이터를 정렬하고 LIMIT로 출력 개수를 제한하여 원하는 결과만 빠르게 확인한다.
빅쿼리 콘솔에서 SQL 쿼리를 실행한 화면.  ORDER BY 로 데이터를 정렬하고  LIMIT 로 출력 개수를 제한하여 원하는 결과만 빠르게 확인한다.

추출된 데이터의 순서를 정하거나 필요한 양만큼만 끊어서 확인한다.

SQL

/* 예시: 포인트 보유량이 많은 순서대로 상위 50명만 확인 */

SELECT user_name, user_point

FROM `my_project.marketing_data.user_info`

ORDER BY user_point DESC

LIMIT 50

  • 쿼리 실행 후 하단에 나타나는 결과 창을 통해 필터링된 데이터를 실시간으로 확인할 수 있다.

05. 데이터 집계와 그룹화: GROUP BY

GROUP BY와 집계 함수(COUNT)를 사용하여 데이터를 그룹화한 결과. 성별이나 MBTI별 유형 등 카테고리별 통계를 산출할 수 있다.

특정 기준에 따라 데이터를 묶어서 통계를 산출한다. 마케팅 성과 측정의 핵심이다.

SQL

/* 예시: 유입 채널별 가입자 수와 평균 구매 금액 계산 */

SELECT utm_source, COUNT(user_id) as user_cnt, AVG(order_price) as avg_price

FROM `my_project.marketing_data.sales_log`

GROUP BY utm_source

ORDER BY user_cnt DESC

  • 채널별(FB, Google, IG 등)로 가입자 수가 정렬되어 마케팅 효율을 한눈에 비교할 수 있다.

06. 테이블 합치기: JOIN

두 개의 데이터 테이블이 JOIN되는 원리를 시각화한 개념도. 서로 다른 테이블의 공통 컬럼(Key)을 기준으로 정보를 합쳐 새로운 데이터셋을 만든다.
두 개의 데이터 테이블이  JOIN 되는 원리를 시각화한 개념도. 서로 다른 테이블의 공통 컬럼(Key)을 기준으로 정보를 합쳐 새로운 데이터셋을 만든다.

서로 다른 테이블에 흩어져 있는 정보를 하나로 합친다. 예를 들어, '주문 테이블'에는 이름이 없고 '회원 테이블'에는 주문 내역이 없을 때 사용한다.

SQL

/* 예시: VIP 등급 회원들의 최근 주문 상품명 조회 */

SELECT T1.user_name, T1.membership, T2.product_name

FROM `my_project.user_table` as T1

JOIN `my_project.order_table` as T2

  ON T1.user_id = T2.user_id

WHERE T1.membership = 'VIP'


LEFT JOIN 활용법: 미구매자 대상 프로모션을 위해 '회원 테이블'에는 있지만 '주문 테이블'에는 없는 유저를 찾을 때 유용하다.

SQL

/* 예시: 가입 후 아직 구매 이력이 없는 유저 리스트 */

SELECT T1.user_name, T1.email

FROM `my_project.user_table` as T1

LEFT JOIN `my_project.order_table` as T2

  ON T1.user_id = T2.user_id

WHERE T2.order_id IS NULL

[이미지 4: 두 테이블의 JOIN 개념도]

  • 공통 분모인 user_id를 기준으로 서로 다른 정보를 결합하여 완전한 데이터셋을 만드는 과정이다.

오늘의 인사이트

SQL 마케터의 기획에 데이터를 입혀주는 강력한 도구다. 복잡한 수식보다는 데이터의 구조를 이해하고 필요한 조건을 논리적으로 구성하는 연습이 중요하다. 지금 바로 빅쿼리에서 쿼리를 실행해 보길 권장한다.