픽셀 하나, 몰은 둘 — 데이터 오염 없이 멀티몰을 운영하는 Meta 추적 구조

픽셀 하나, 몰은 둘 — 데이터 오염 없이 멀티몰을 운영하는 Meta 추적 구조

핵심 요약 — 브랜드 픽셀 하나로 여러 쇼핑몰의 구매 데이터를 동시에 수집하면 광고 최적화가 오염됩니다. fbclid 크로스도메인 소실, 픽셀 전체 Purchase 이벤트로 인한 광고세트 혼선이 핵심 원인입니다. 해결 구조는 세 가지입니다: ① fbclid 크로스도메인 연동, ② 몰별 맞춤전환 생성, ③ 서버사이드 CAPI 보강. 이 구조를 완성하면 픽셀 수를 늘리지 않고도 각 몰의 캠페인이 해당 몰 구매자 패턴으로 독립 학습합니다.

Soulpapamarketing(소울파파마케팅)의 브랜딩&마케팅 이야기.


픽셀을 여러 몰에서 공유할 때 광고 최적화가 오염되는 이유

많은 D2C 브랜드가 본몰 외에 서브몰, 체험몰, 이벤트 전용 도메인을 함께 운영합니다. 초기 세팅에서 흔히 범하는 실수는 동일한 Meta 픽셀 코드를 모든 도메인에 그대로 심는 것입니다.

픽셀은 정상 작동하고, 이벤트도 들어옵니다. 문제는 광고 최적화 레이어에 있습니다. 광고세트가 “구매 최적화”로 설정되어 있을 때, 메타 알고리즘은 해당 픽셀의 모든 Purchase 이벤트를 학습 신호로 사용합니다. 서브몰 A의 구매자와 메인몰 B의 구매자가 완전히 다른 상품, 다른 가격대, 다른 구매 여정을 가지더라도 알고리즘 입장에서는 같은 “구매자” 풀로 학습됩니다.

서브몰 전용 캠페인을 운영 중이라면 상황은 더 심각합니다. 광고세트가 메인몰 구매자 패턴으로 학습하면서 서브몰 실제 구매자와 무관한 오디언스를 찾아 나섭니다. 광고비는 집행되는데 서브몰 전환은 0에 수렴하는 구조가 만들어집니다. 실제로 이 상태에서 운영된 캠페인을 보면 픽셀 이벤트는 수천 건 유입되는데 광고 귀속 전환은 한 자리 수인 경우가 많습니다.

fbclid 크로스도메인 소실 — 어트리뷰션이 끊기는 정확한 지점

두 번째 문제는 fbclid(Facebook Click ID)입니다. 유저가 Meta 광고를 클릭하면 URL에 fbclid 파라미터가 붙습니다. 이 값이 픽셀을 통해 메타 시스템으로 전달되어야 클릭과 구매가 정확히 매칭됩니다. 어트리뷰션의 핵심 연결고리입니다.

문제는 도메인이 바뀔 때 발생합니다. 메인몰에서 상품 페이지를 보다가 서브몰 도메인으로 이동하는 순간, fbclid 파라미터가 URL에서 사라집니다. 브라우저는 외부 도메인으로 이동할 때 쿼리스트링을 그대로 전달하지 않기 때문입니다. 이 시점부터 서브몰에서의 구매는 해당 광고 클릭과 연결되지 않습니다.

광고 관리자에서 “구매 0건”이 떠도, 실제로는 그 광고를 통해 유저가 들어와 서브몰에서 결제를 완료했을 수 있습니다. fbclid가 소실되어 추적이 끊겼기 때문에 보이지 않는 것입니다. 이 상태에서 광고 성과를 판단하면 잘 작동하는 캠페인을 끄는 실수를 반복하게 됩니다.

해결 1 — fbclid 크로스도메인 연동 코드

fbclid 크로스도메인 문제는 두 가지 방법으로 해결합니다.

방법 A: 링크에 fbclid 명시 전달

도메인 간 이동 링크를 생성할 때 현재 URL의 fbclid 값을 추출해 대상 URL에 삽입합니다.

// 현재 URL에서 fbclid 추출 후 크로스도메인 링크에 삽입
function appendFbclid(targetUrl) {
  const urlParams = new URLSearchParams(window.location.search);
  const fbclid = urlParams.get('fbclid');
  if (!fbclid) return targetUrl;

  const url = new URL(targetUrl);
  url.searchParams.set('fbclid', fbclid);
  return url.toString();
}

// 적용 예시 — 서브몰로 이동하는 모든 링크에 적용
document.querySelectorAll('a[href*="subdomain.co.kr"]').forEach(link => {
  link.href = appendFbclid(link.href);
});

방법 B: Meta 픽셀 crossDomain 설정

픽셀 초기화 시 crossDomain 옵션을 활성화합니다. 두 도메인을 Meta 픽셀이 동일 세션으로 인식하게 합니다.

fbq('init', 'PIXEL_ID', {}, {
  crossDomain: {
    enabled: true,
    domains: ['maindomain.co.kr', 'subdomain.co.kr']
  }
});

두 방법을 모두 적용하는 것이 가장 안정적입니다. fbclid 명시 전달로 브라우저 레벨에서 파라미터를 보존하고, crossDomain 설정으로 픽셀이 세션 연속성을 유지합니다.

해결 2 — 메타 맞춤전환으로 몰별 Purchase 데이터 분리하는 법

fbclid 연동으로 추적 연결은 해결했습니다. 그러나 광고세트 최적화 오염 문제는 여전히 남아 있습니다. 픽셀 전체 Purchase를 최적화 이벤트로 쓰는 한, 알고리즘은 두 몰의 구매자를 구분하지 못합니다.

맞춤전환(Custom Conversion)이 이 문제의 해법입니다. 맞춤전환은 픽셀 이벤트에 URL 조건이나 파라미터 조건을 추가해 특정 전환만 독립 집계하는 기능입니다. 서브몰 도메인의 구매 완료 URL에서 발생한 Purchase 이벤트만 별도 카운트하는 맞춤전환을 만들면 됩니다.

이렇게 만들어진 맞춤전환을 광고세트의 최적화 이벤트로 지정하면, 알고리즘은 서브몰 구매자 패턴만 학습합니다. 메인몰 구매자 수천 건이 픽셀에 흘러 들어와도 서브몰 캠페인 최적화에는 영향을 주지 않습니다.

Meta 광고 관리자에서 맞춤전환 생성 경로:
이벤트 관리자 → 맞춤전환 → 맞춤전환 만들기 → 이벤트: Purchase → URL 조건: 서브몰 도메인 포함

맞춤전환이 생성되면 즉시 활성화되지 않습니다. 조건을 충족하는 Purchase 이벤트가 최소 1건 이상 수신되어야 활성화되고, 이후 광고세트 최적화 이벤트로 선택할 수 있게 됩니다. 데이터가 충분히 쌓인 후(주 50건 이상) 광고세트 최적화를 전환하는 것이 학습 안정성 측면에서 유리합니다.

해결 3 — CAPI 서버사이드 연동으로 픽셀 누락분 보강하는 방법

브라우저 픽셀만으로는 데이터가 누락됩니다. iOS 14+ 개인정보 정책, 브라우저 쿠키 차단, 광고 차단 확장 프로그램 등으로 실제 구매의 20~40%가 픽셀에 잡히지 않는 것이 현실입니다.

Conversions API(CAPI)는 서버에서 직접 Meta로 전환 이벤트를 전송하는 방식입니다. 브라우저를 우회하기 때문에 광고 차단이나 쿠키 문제에 영향받지 않습니다.

import requests
import hashlib

def send_purchase_to_capi(pixel_id, access_token, event_data):
    url = f"https://graph.facebook.com/v19.0/{pixel_id}/events"

    payload = {
        "data": [{
            "event_name": "Purchase",
            "event_time": event_data['timestamp'],
            "event_source_url": event_data['url'],
            "action_source": "website",
            "event_id": event_data['order_id'],  # 픽셀 중복 제거용
            "user_data": {
                "em": hashlib.sha256(event_data['email'].lower().encode()).hexdigest(),
                "ph": hashlib.sha256(event_data['phone'].encode()).hexdigest(),
                "client_ip_address": event_data['ip'],
                "client_user_agent": event_data['user_agent'],
                "fbc": event_data.get('fbc_cookie'),   # _fbc 쿠키값 (fbclid 기반)
                "fbp": event_data.get('fbp_cookie'),   # _fbp 쿠키값
            },
            "custom_data": {
                "value": event_data['amount'],
                "currency": "KRW",
                "order_id": event_data['order_id'],
            }
        }],
        "access_token": access_token
    }

    return requests.post(url, json=payload).json()

서브몰이 정기구독 상품을 판매한다면 CAPI의 중요도는 더 높아집니다. 정기 결제는 결제 PG에서 서버 대 서버로 일어나기 때문에 유저의 브라우저가 없는 상태입니다. 픽셀로는 이 이벤트를 절대 잡을 수 없습니다. CAPI만이 정기구독 결제를 Meta 광고 시스템으로 전달할 수 있는 유일한 경로입니다.

픽셀과 CAPI를 동시에 운영할 때는 반드시 event_id를 동일한 주문번호로 설정해야 합니다. Meta가 양쪽에서 동일한 event_id를 받으면 중복 집계를 자동으로 제거합니다.

완성된 데이터 구조 — 1픽셀 + N몰 맞춤전환 + CAPI 시너지

세 가지 해결책을 합치면 다음 구조가 만들어집니다.

브랜드 픽셀 (1개)
├── 메인몰 Purchase → 픽셀 전체 집계 (브랜드 ROAS 모니터링용)
├── 서브몰 A Purchase → 맞춤전환 A (서브몰 A 캠페인 최적화 이벤트)
└── 서브몰 B Purchase → 맞춤전환 B (서브몰 B 캠페인 최적화 이벤트)

서버사이드 CAPI
├── 메인몰 결제 완료 → CAPI 전송 (event_id로 픽셀 중복 제거)
└── 서브몰 정기결제 → CAPI 전송 (브라우저 없는 결제 = CAPI 필수)

fbclid 크로스도메인
└── 메인몰 → 서브몰 이동 시 fbclid 유지 → 어트리뷰션 연결

이 구조의 핵심은 수집은 통합, 분석은 분리입니다.

브랜드 픽셀 하나가 모든 몰의 데이터를 수집합니다. 이 통합 데이터는 브랜드 전체 퍼널 분석, Lookalike 오디언스 시드 구축, 리타겟팅에 활용합니다. 동시에 맞춤전환이 몰별 구매를 독립 집계하기 때문에 캠페인별 최적화 이벤트를 정확히 지정할 수 있습니다.

결과적으로 픽셀을 여러 개 쪼개지 않아도, 각 몰의 캠페인이 해당 몰 구매자 패턴으로 독립 학습합니다. CAPI가 브라우저 누락분을 보강하면서 알고리즘 학습 신호의 품질이 올라갑니다. 여러 몰을 운영할수록 브랜드 픽셀에 쌓이는 오디언스 데이터가 커지고, 이것이 각 서브몰 신규 캠페인의 Lookalike 기반으로 환원됩니다. 멀티몰 구조가 단순히 채널 분리가 아니라 데이터 자산 확장으로 작동하는 구조입니다.

메인몰과 서브몰은 무관하지 않다 — 통합과 분리가 동시에 필요한 이유

한 가지 오해를 짚고 넘어가야 합니다. 맞춤전환으로 몰별 데이터를 분리한다는 것이 두 몰을 완전히 독립된 별개의 사업으로 운영한다는 뜻이 아닙니다. 오히려 반대입니다.

메인몰과 서브몰은 같은 브랜드 세계관 안에 있습니다. 메인몰을 통해 브랜드를 접한 유저가 서브몰의 특화 상품으로 이동하기도 하고, 서브몰에서 먼저 구매한 신규 고객이 메인몰의 다른 라인업으로 교차 구매하는 경로도 존재합니다. 두 몰의 구매자 데이터는 서로 완전히 다른 집단이 아니라, 한 브랜드를 서로 다른 접점에서 경험하는 같은 고객군의 스펙트럼입니다.

바로 이 지점이 멀티몰 구조의 진짜 가치입니다. 브랜드 픽셀 하나에 두 몰의 데이터가 통합 수집되기 때문에, 메인몰 방문자를 서브몰 캠페인의 Lookalike 시드로 쓸 수 있습니다. 서브몰 구매자 풀을 메인몰 리타겟팅 오디언스로 활용하는 것도 가능합니다. 픽셀이 분리되어 있었다면 불가능한 교차 활용입니다.

그러나 통합 수집만으로는 부족합니다. 광고세트 최적화 이벤트가 분리되지 않으면 알고리즘이 두 몰의 구매 신호를 뒤섞어 학습하고, 각 캠페인이 엉뚱한 오디언스를 찾아 나섭니다. fbclid 크로스도메인이 연결되지 않으면 두 몰 사이의 실제 이동 경로가 어트리뷰션에서 사라집니다. 통합된 데이터가 있어도 분석 레이어에서 몰별로 분리되지 않으면 전체가 노이즈로 전락합니다.

여기서 fbclid 크로스도메인 연동과 맞춤전환이 함께 작동할 때 유기적 시너지가 발생합니다. 메인몰에서 시작된 광고 클릭의 fbclid가 서브몰 전환까지 이어지면, 알고리즘은 메인몰 노출에서 서브몰 구매까지의 전체 여정을 하나의 전환 경로로 학습합니다. 맞춤전환이 서브몰 구매만 독립 집계하면서, 이 학습 신호는 정확히 서브몰 구매자 패턴에 맞춰 최적화됩니다. CAPI가 브라우저 누락분을 보강하면서 이 신호의 완결성이 올라갑니다.

결과적으로 메인몰의 오디언스 자산이 서브몰 캠페인의 학습 기반이 되고, 서브몰의 구매 신호가 메인몰 전체 픽셀의 품질을 높이는 순환 구조가 만들어집니다. 픽셀을 쪼개지 않고 하나로 유지하면서 맞춤전환으로 분리 분석하는 것이 단순한 기술 설정이 아닌 이유입니다. 통합과 분리를 동시에 실현하는 것이 멀티몰 데이터 구조의 핵심이고, 그것이 폭발적인 광고 시너지의 기반입니다.


자주 묻는 질문

메타 픽셀 하나로 여러 쇼핑몰을 운영할 수 있나요?

가능합니다. 단, 픽셀 전체 Purchase 이벤트를 그대로 광고세트 최적화 이벤트로 사용하면 여러 몰의 구매자 데이터가 섞여 알고리즘 학습이 오염됩니다. 몰별 맞춤전환을 생성하고 캠페인별 최적화 이벤트를 분리 지정해야 각 캠페인이 올바른 구매자 패턴으로 학습합니다.

fbclid가 도메인 이동 시 사라지는 이유는 무엇인가요?

브라우저가 외부 도메인으로 이동할 때 URL 쿼리스트링을 자동으로 전달하지 않기 때문입니다. fbclid 파라미터가 소실되면 광고 클릭과 구매의 어트리뷰션 연결이 끊겨, 실제로 발생한 구매가 광고 관리자에서 0건으로 표시될 수 있습니다. JavaScript로 fbclid를 추출해 이동 링크에 삽입하거나, 픽셀 crossDomain 설정으로 해결합니다.

CAPI를 픽셀과 함께 써야 하는 이유는 무엇인가요?

iOS 14+ 정책과 쿠키 차단으로 인해 브라우저 픽셀만으로는 실제 구매의 20~40%가 누락됩니다. CAPI는 서버에서 직접 메타로 이벤트를 전송하기 때문에 브라우저 환경에 영향받지 않습니다. 특히 정기구독처럼 브라우저 없이 서버에서 결제가 일어나는 경우, CAPI 없이는 전환 추적 자체가 불가능합니다. 픽셀과 CAPI를 동시에 운영할 때는 event_id를 동일 주문번호로 설정해 중복 집계를 방지해야 합니다.

맞춤전환은 생성 즉시 광고세트 최적화 이벤트로 쓸 수 있나요?

아닙니다. 맞춤전환 생성 후 해당 조건을 충족하는 Purchase 이벤트가 최소 1건 이상 수신되어야 활성화됩니다. 활성화 이후에야 광고세트 최적화 이벤트로 선택할 수 있습니다. 데이터가 충분히 쌓인 후(주 50건 이상) 광고세트 최적화 이벤트를 전환하는 것이 학습 안정성 측면에서 유리합니다. 전환 직후 학습 초기화 기간(학습 단계)이 발생하므로 시기를 전략적으로 선택해야 합니다.

메타 픽셀 하나를 여러 쇼핑몰에 공유하면 광고 최적화가 왜 망가지나요?

메타 알고리즘은 픽셀에 수집된 모든 Purchase 이벤트를 단일 학습 신호로 사용하기 때문입니다. 메인몰·서브몰의 상품가·구매여정이 달라도 알고리즘은 같은 ‘구매자 풀’로 인식해 캠페인별 타겟 패턴이 뒤섞이고, 서브몰 전용 캠페인의 실제 전환율이 0에 수렴하는 사태가 발생합니다.

멀티몰 운영 시 fbclid 크로스도메인 연동을 안 하면 어떤 문제가 생기나요?

사용자가 광고를 클릭해 A도메인에서 B도메인으로 이동하는 순간 fbclid 파라미터가 소실되어 메타가 해당 구매를 광고 클릭과 연결하지 못합니다. 결과적으로 실제 발생한 구매가 픽셀에 기록되더라도 광고 기여 전환으로 집계되지 않아 ROAS가 실제보다 낮게 측정되고 예산 배분 판단이 왜곡됩니다.

픽셀 수를 늘리지 않고 몰별로 독립적인 광고 학습을 만들 수 있나요?

가능합니다. 픽셀은 공유하되 ① 몰별 도메인 URL 조건으로 맞춤전환(Custom Conversion)을 각각 생성하고, ② 각 캠페인의 최적화 이벤트를 해당 몰의 맞춤전환으로 지정하면 알고리즘이 몰별 구매자 패턴을 독립적으로 학습합니다. 여기에 서버사이드 CAPI를 보강하면 브라우저 차단으로 누락되는 이벤트까지 커버해 학습 신호 정확도를 높일 수 있습니다.

관련 글
→ 소울파파마케팅이 하는 일: 소재 제작부터 월간 보고서까지
→ 지금 광고를 켜도 되는 상태인지 확인하기

아티클 구독하기

구독을 신청하면 최신 게시물을 이메일로 받아볼 수 있습니다.


바로 문의하기

아래 폼에 궁금하신 내용을 자세히 적어주세요.

← 뒤로

응답해 주셔서 감사합니다. ✨


카카오톡 채널 상담하기