X Ads · External Guide · 2026.06

Pixel & Conversion API한국어 구현 가이드

브라우저 Pixel과 서버 Conversion API를 함께 쓰면 전환 시그널이 살아납니다. 개념, 이벤트 설계, Ads Manager 토큰 발급, 요청 스펙까지 외부 공유용으로 정리했습니다.

00 — 개요

브라우저만으로는 전환의 절반이 사라집니다.

이 문서는 X Ads의 웹 전환 측정 도구인 Pixel과 Conversion API(CAPI)를 광고주·대행사·개발 팀이 바로 적용할 수 있도록 정리한 실무 가이드입니다.

2026년 6월부터 Ads Manager에서 Conversion API 액세스 토큰을 직접 발급하고, OAuth 1.0 없이 서버에서 이벤트를 보낼 수 있습니다. 구현은 쉬워졌지만 어트리뷰션 로직 자체는 바뀌지 않습니다. 이미 Pixel과 CAPI가 건강하게 동작 중이라면 설정을 바꿀 필요는 없습니다.

대상

웹 성과를 측정·최적화하는 광고주, 대행사, 개발 담당자

범위

Pixel vs CAPI 개념, 이벤트 설계, Direct CAPI 구현, 중복 제거

권장

대부분의 광고주는 Pixel + CAPI를 함께 운영하는 것이 업계 표준입니다

01 — 왜 시그널이 중요한가

성과 광고는 전환 시그널로 학습합니다.

Pixel이 놓친 전환은 리포트만 빠지는 것이 아닙니다. 입찰 알고리즘이 잘못된 사용자에게 예산을 쓰게 만들고, 실제로는 수익이 나던 캠페인을 끄게 만듭니다.

~25%

iOS 광고 추적 옵트인

ATT 이후 아이폰 사용자 4명 중 3명은 브라우저 Pixel에 보이지 않습니다. 소셜 앱에서는 전 세계 옵트인이 13.85%까지 떨어집니다. (Singular / Purchasely, 2024)

29.5%

글로벌 광고 차단 사용률

전 세계 17.7억 명이 광고 차단 도구를 사용합니다. 퍼포먼스 광고의 핵심 타깃인 18–34세가 차단 사용자의 61%를 차지합니다. (GWI, 2025 Q2)

50%+

브라우저 전환 누락

Safari ITP와 Firefox는 이미 서드파티 쿠키를 차단합니다. Pixel만 쓰는 스토어의 어트리뷰션 정확도는 실제 전환의 약 40% 수준까지 떨어질 수 있습니다. (Meta Transparency Report, 2025)

세 흐름은 모두 구조적이고 더 심해지는 추세입니다. 해결책은 브라우저를 거치지 않는 퍼스트파티 측정, 즉 광고주 서버에서 플랫폼으로 직접 보내는 데이터입니다.

시그널이 깨지면 일어나는 일

  1. 1. 브라우저 Pixel이 전환을 전송iOS / 광고 차단 / ITP가 시그널을 가로챕니다.
  2. 2. 플랫폼이 불완전한 데이터를 수신알고리즘이 왜곡된 시그널로 학습합니다.
  3. 3. 잘못된 오디언스에 입찰CPA가 오르고 ROAS가 떨어집니다.
  4. 4. 캠페인을 멈추거나 이탈실제로는 잘 되던 세트를 끄게 됩니다.

보이지 않는 승자

Ads Manager에서 ROAS 0.9배로 보여 세트를 종료했습니다. 실제로는 Pixel이 보지 못한 전환까지 포함하면 2.7배였을 수 있습니다.

허상의 패자

Pixel이 과대 귀속한 숫자를 보고 스케일했더니, 지출이 늘수록 실제 이익은 줄었습니다. 허구의 시그널을 최적화한 것입니다.

02 — 동작 방식

같은 전환, 전혀 다른 두 개의 파이프라인.

Pixel은 고객의 브라우저가 심부름을 보냅니다. CAPI는 광고주 서버가 플랫폼 서버에 직접 전화를 겁니다.

Pixel · 클라이언트 사이드

브라우저 → 플랫폼

  1. 01 사용자가 광고를 클릭하고 사이트에 도착
  2. 02 브라우저가 JavaScript Pixel을 로드
  3. 03 행동이 발생하면 브라우저가 이벤트를 전송
  4. 04 플랫폼이 전환을 기록

iOS ATT · 광고 차단기 · Safari ITP · 네트워크 이슈에 막힐 수 있습니다.

CAPI · 서버 사이드

서버 → 플랫폼

  1. 01 사이트에서 사용자 행동이 발생
  2. 02 광고주 서버가 이벤트 데이터를 수집
  3. 03 해시된 이벤트를 Conversion API로 직접 전송
  4. 04 브라우저를 거치지 않고 플랫폼이 수신

브라우저, 광고 차단기, iOS 제한에 막히지 않습니다.

CAPI는 이메일·전화번호 같은 개인정보를 SHA-256으로 해시한 뒤 보냅니다. 플랫폼은 원문을 보지 않고도 사용자를 매칭할 수 있습니다. 설계상 프라이버시 친화적입니다.

다른 플랫폼에서의 같은 개념

플랫폼클라이언트 사이드서버 사이드
XX PixelConversion API (CAPI)
MetaMeta PixelConversions API (CAPI)
GoogleGoogle Tag / gtag.jsEnhanced Conversions / 서버 사이드 GTM
TikTokTikTok PixelEvents API (CAPI)

03 — 항목별 비교

성과 광고주에게 중요한 차원만 나란히 봅니다.

CAPI가 대부분의 핵심 지표에서 앞섭니다. 다만 Pixel의 실시간 행동 시그널은 서버만으로는 대체하기 어렵습니다. 그래서 정답은 보통 둘 다입니다.

항목Pixel (클라이언트)CAPI (서버)우위
데이터 흐름브라우저 → 플랫폼서버 → 플랫폼CAPI
구현 난이도간단 (JS 태그)중간 (서버/API 설정)Pixel
iOS에 막히는가예 — 옵트아웃 약 75%아니오 — 브라우저를 우회CAPI
광고 차단에 막히는가예 — 전 세계 29.5%아니오 — 서버 간 전송CAPI
실시간 시그널강함 — 즉시 발생양호 — 서버 지연이 있을 수 있음Pixel
데이터 완전성실제 전환의 40–70%중복 제거 시 90–98%CAPI
PII / 매칭제한적해시된 이메일, 전화, 주소 등CAPI
프라이버시 대응정책 변화에 취약퍼스트파티, GDPR 친화CAPI
알고리즘 입력부분 시그널완전한 시그널CAPI

04 — 의사결정

대부분은 둘 다 운영해야 합니다.

우선순위와 긴급도는 트래픽 구성, 개발 리소스, 프라이버시 정책에 따라 달라집니다. 아래 세 가지 중 어디에 해당하는지 먼저 고르면 됩니다.

선택 A

Pixel만

이제 막 시작할 때 · 트래픽이 적을 때 · 빠른 설치가 필요할 때 · 데스크톱 비중이 높을 때

  • 빠르게 설치할 수 있습니다
  • 스크롤, 체류 시간 등 행동 데이터가 좋습니다
  • iOS 트래픽이 적으면 당분간 충분할 수 있습니다
  • 전환의 30–60%를 놓칩니다
  • 차단기와 iOS에 취약합니다
  • 알고리즘 최적화가 점점 약해집니다

단기에는 가능합니다. 업그레이드 계획을 세우세요.

선택 B

CAPI만

프라이버시 우선 · JS를 심을 수 없을 때 · B2B / 오프라인 전환

  • 어떤 브라우저 도구에도 막히지 않습니다
  • 매칭 품질이 높은 PII를 실을 수 있습니다
  • 앞으로의 정책 변화에 강합니다
  • 실시간 행동 시그널이 빠집니다
  • 설정이 더 어렵습니다
  • Pixel 없이는 유사 오디언스 시드가 약해집니다

드뭅니다. 보통 핵심 시그널이 빠집니다.

선택 C · 권장

Pixel + CAPI

이커머스 · 리드젠 · 앱 광고주 · 모바일 비중이 높은 모든 계정

  • 이벤트 수집률 90–98%
  • 실시간 + 서버 시그널을 모두 확보
  • AI 입찰에 가장 좋은 입력값
  • 중복 제거(conversion_id) 설정이 필요합니다
  • 기술 작업량이 조금 더 있습니다

업계 표준입니다. 강하게 권장합니다.

05 — 전환 이벤트

위는 볼륨, 아래는 가치. 퍼널을 그대로 매핑합니다.

표준 이벤트를 쓰세요. 플랫폼 알고리즘은 표준 이벤트 데이터로 학습합니다. 커스텀 이벤트는 최적화 지능이 약합니다. 핵심 이벤트는 5–10개면 충분합니다.

이벤트단계우선순위왜 필요한가볼륨
PageView인지필수오디언스와 리타깃팅 풀의 기준. 모든 페이지에서 발생해야 합니다.높음
ViewContent*고려유용의도 시그널. 상품 페이지 리타깃팅과 유사 오디언스 시드.높음
Search*고려유용적극적 관심. 검색 의도 오디언스에 유용합니다.중간
AddToCart의도필수강한 구매 의도. 중간 퍼널 최적화와 이탈 복귀에 핵심.중간
InitiateCheckout*의도유용구매 직전 시그널. 체크아웃 완료 최적화에 도움이 됩니다.중·저
AddPaymentInfo의도유용결제 의사가 확인된 상태. 후반 넛지 리타깃팅에 강합니다.낮음
Purchase전환핵심북극성. 반드시 value와 currency를 넣으세요. 주 최적화 이벤트.낮음
Lead전환핵심리드젠의 주 이벤트. 폼 제출, 데모 요청, 가입에 매핑합니다.낮음

* Ads Manager에 없는 항목은 Custom 이벤트로 대체할 수 있습니다. 가능하면 표준 이벤트를 우선하세요.

이커머스

Purchase (value 포함)

보조: AddToCart, InitiateCheckout, ViewContent. 상품 ID와 금액을 항상 넘기세요. 결제사 리다이렉트에서 Pixel이 자주 끊깁니다. 구매 확정은 CAPI가 담당해야 합니다.

리드 생성

Lead (폼 제출)

보조: CompleteRegistration, ViewContent, Search. 고마의향 폼마다 Lead를 매핑하세요. B2B는 CRM 적격 리드를 오프라인 전환으로 되돌리면 품질 최적화가 가능해집니다.

SaaS / 구독

CompleteRegistration / Subscribe

보조: Lead(트라이얼 시작), ViewContent, Search. 트라이얼은 Lead, 유료 구독은 Purchase로 매핑하세요. CAPI로 LTV 시그널을 보내면 구독 최적화가 강해집니다.

06 — Direct 구현

Ads Manager에서 토큰을 발급하고, 서버에서 POST 합니다.

자체 웹 서버에 Conversion API를 직접 붙이는 경로입니다. 개발자 포털 승인이나 OAuth 1.0이 더 이상 필요하지 않습니다.

이 경로는 커스텀 테크 스택, 데이터 통제가 중요한 계정, 사내 엔지니어링 팀이 있는 경우, 매장 구매·CRM 이벤트 같은 오프라인 전환이 많은 경우에 맞습니다.

  1. 01

    ads.x.com에 광고 계정으로 로그인합니다.

    측정 도구는 광고 계정 단위로 동작합니다. 올바른 계정을 선택했는지 확인하세요.
  2. 02

    Tools(도구)에서 Events Manager를 엽니다.

    Tools 탭이 보이지 않으면 계정에 결제 수단이 없는 경우가 많습니다. 결제 수단을 추가한 뒤 다시 확인하세요.
  3. 03

    Install Pixel에서 Conversion API를 선택합니다.

    화면 구성에 따라 Install Pixel → Conversion API, 또는 Install Pixel → Manual → Conversion API 경로로 들어갑니다. 여기서 Pixel ID와 Event ID를 확인할 수 있습니다.
  4. 04

    액세스 토큰을 생성합니다.

    Generate Access Token으로 토큰을 발급하고 바로 복사하세요. 이후 모든 API 호출의 X-Pixel-Token HTTP 헤더에 이 값을 넣습니다. 토큰은 서버에만 보관하고 브라우저나 공개 저장소에 두지 마세요.
  5. 05

    엔드포인트로 이벤트를 POST 합니다.

    POST https://ads-api.x.com/12/measurement/conversions/:pixel_id로 JSON 바디를 보냅니다. HTTP 200과 conversions_processed를 확인한 뒤, Conversion Diagnostics에서 수신 여부를 검증하세요.

07 — 요청 스펙

한 번의 POST로 전환을 전달합니다.

인증은 액세스 토큰 한 개입니다. 본문에는 conversions 배열을 넣습니다.

구분
메서드 / URLPOST https://ads-api.x.com/12/measurement/conversions/:pixel_id
헤더X-Pixel-Token: {token}
Content-Type: application/json
경로 파라미터pixel_id — Events Manager의 X Pixel 이벤트 소스 ID
성공 응답HTTP 200, conversions_processed, debug_id
한도계정당 15분 구간 60,000 이벤트. 실패 시 재시도와 로그를 구현하세요.

conversions[] 필드

필드필수설명
conversion_time필수ISO 8601 시각. 예: 2026-06-01T12:34:56.000Z
event_id필수Events Manager의 Event ID. 예: tw-yyyyy-xxxxx
identifiers필수최소 하나. twclid, hashed_email, hashed_phone_number, 또는 ip_address + user_agent 쌍
conversion_id권장Pixel과 중복 제거할 고유 키. 주문번호 등을 사용합니다.
event_source_url선택전환이 발생한 페이지 URL
value권장전환 금액. Purchase에는 반드시 넣으세요.
number_items선택구매 수량
description선택추가 설명
contents[]선택content_id, content_name, content_type, content_price, num_items, content_group_id. DPA·상품 단위 측정에 필요합니다.
curl · Conversion API Direct
curl -X POST "https://ads-api.x.com/12/measurement/conversions/PIXEL_ID" \
  -H "X-Pixel-Token: YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "conversions": [
    {
      "conversion_time": "2026-06-01T12:34:56.000Z",
      "event_id": "tw-yyyyy-xxxxx",
      "event_source_url": "https://www.example.com/checkout",
      "conversion_id": "order-9f8b7c6d",
      "value": "89000",
      "number_items": 1,
      "identifiers": [
        {
          "twclid": "23opevjt88psuo13lu8d020qkn",
          "hashed_email": "64hexchars_sha256",
          "hashed_phone_number": "64hexchars_sha256",
          "ip_address": "192.0.2.1",
          "user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)"
        }
      ]
    }
  ]
}'
성공 응답 예시
{
  "request": {
    "params": { "account_id": "18ce552mlaq" },
    "data": {
      "conversions_processed": 1,
      "debug_id": "ff02e052-36e4-47d6-bdf0-6d8986446562"
    }
  }
}

08 — 식별자

매칭 품질은 식별자 품질입니다.

식별자가 하나도 없으면 이벤트는 사용자에게 붙지 않습니다. twclid와 해시된 이메일을 함께 보내는 것이 가장 안정적입니다.

필드형식해시메모
twclidX가 생성한 클릭 ID없음랜딩 URL 쿼리의 twclid를 파싱해 저장합니다.
hashed_email앞뒤 공백 제거SHA-256솔트 없이 해시합니다. 원문을 보내지 마세요.
hashed_phone_numberE.164SHA-256한국 번호 010-1234-5678 → +821012345678 후 해시.
ip_address점 표기 IPv4없음user_agent와 반드시 함께 보냅니다.
user_agent브라우저 UA 문자열없음ip_address와 쌍입니다. 단독 사용 불가.

twclid 저장

사용자가 X 광고를 클릭하면 랜딩 URL에 twclid가 붙습니다. 결제 완료 페이지까지 쿼리가 유지되지 않는 경우가 많으므로, 도착 즉시 저장해 두었다가 전환 시 CAPI에 실어 보내세요.

브라우저 · twclid 보관
const params = new URLSearchParams(window.location.search);
const twclid = params.get("twclid");
if (twclid) {
  localStorage.setItem("twclid", twclid);
}
서버 · SHA-256 해시
import { createHash } from "node:crypto";

function sha256(value) {
  return createHash("sha256").update(value).digest("hex");
}

// 이메일: 앞뒤 공백만 제거 후 해시 (솔트 없음)
const hashedEmail = sha256("[email protected]".trim());
// d360d510a224510f373931ce2d6215a799f5a9c1cef221b0149b6b6b50cced62

// 전화번호: E.164 형식(+국가번호, 국내 0 제거) 후 해시
const hashedPhone = sha256("+821012345678");

공식 예시: [email protected] → d360d510a224510f373931ce2d6215a799f5a9c1cef221b0149b6b6b50cced62 / +11234567890 → 1fa6b8d986d9b9cd01bf36951815158bbde9f520c0567c835dfe34783d0a4231

09 — 중복 제거

Pixel과 CAPI를 같이 쓰면, 같은 전환을 두 번 세지 않아야 합니다.

두 파이프라인을 켜는 것 자체가 업계 표준입니다. 중복 키가 없으면 전환이 부풀어 오르고, 성과처럼 보이는 인플레이션이 생깁니다.

같은 전환에 대해 Pixel 스니펫과 CAPI 요청에 동일한 conversion_id를 넣으세요. 주문번호, 예약번호처럼 한 건을 유일하게 가리키는 값을 쓰는 것이 가장 안전합니다.

Pixel · 동일 conversion_id
twq('event', 'tw-PIXEL_ID-EVENT_ID', {
  value: 89000,
  currency: 'KRW',
  conversion_id: 'order-9f8b7c6d'
});

10 — 체크리스트

좋은 구현의 기준입니다.

브라우저에 진행 상태가 저장됩니다. 구현 리뷰나 핸드오프 때 그대로 쓰세요.

0 / 14 완료

기반

데이터 품질

이벤트 커버리지

컴플라이언스

11 — 검증

보낸 다음, 한 화면에서 Pixel과 CAPI를 같이 봅니다.

Conversion Diagnostics는 Pixel과 CAPI의 실시간 이벤트 볼륨을 한곳에서 보여 줍니다. 구현이 끝났다면 이 화면으로 건강도를 확인하세요.

  1. 01

    Ads Manager 왼쪽 메뉴에서 Tools를 엽니다.

    Events Manager 아래에 Conversion Diagnostics가 있습니다.
  2. 02

    실시간 그래프와 이벤트 테이블을 확인합니다.

    이벤트 유형, 태그 ID, 마지막 활동 시각이 보입니다. 누락된 파라미터, 중복 제거 문제, 볼륨 급감을 여기서 먼저 찾으세요.
  3. 03

    테스트 전환을 한 건 발생시킨 뒤 raw 이벤트를 대조합니다.

    conversion_id, 식별자, value가 기대한 값으로 들어왔는지 확인합니다.

12 — FAQ

구현 전에 자주 나오는 질문입니다.

지금 Pixel만으로 사이트 방문 캠페인이 잘 나옵니다. 바꿔야 하나요?+

잘 동작하는 설정을 교체할 필요는 없습니다. Diagnostics로 건강도만 확인하고, 아직 CAPI가 없다면 서버 경로를 레이어로 추가하는 것을 검토하세요.

법적·정책 이유로 Pixel을 심을 수 없습니다.+

이 경우 Conversion API가 대안입니다. 브라우저 스크립트 없이 서버에서 전환을 전달할 수 있습니다.

개발 팀이 없습니다. Direct CAPI를 해야 하나요?+

아닙니다. Google Tag Manager를 쓰고 있다면 Events Manager의 GTM 연동으로 Pixel과 서버 사이드 CAPI를 배포할 수 있습니다. Direct는 자체 서버와 커스텀 로직이 있을 때 선택하세요.

Direct CAPI 연동에 얼마나 걸리나요?+

토큰 발급은 Ads Manager에서 수 분이면 됩니다. 서버 이벤트 매핑은 스택에 따라 15–30분에서 수 시간까지 달라집니다. 배포 직후 Diagnostics로 수신을 확인하세요.

Pixel과 CAPI를 같이 쓰면 전환이 두 번 잡히나요?+

conversion_id로 중복 제거를 하지 않으면 그렇습니다. 양쪽 요청에 같은 키를 넣는 것은 광고주 구현의 일부입니다.

서드파티로 CAPI를 붙일 수 있나요?+

X는 Tealium, Datahash, Metarouter 등 서버 사이드 파트너 연동을 지원합니다. 자체 서버 Direct와 GTM 경로도 함께 사용할 수 있습니다.

참고: X Ads Events Manager, Conversion API Direct Implementation Guide (2026년 6월), X Ads API Web Conversions 문서. 이 가이드는 광고주 공유용 구현 설명서이며, 캠페인 어트리뷰션 정책을 변경하지 않습니다.