> ## Documentation Index
> Fetch the complete documentation index at: https://generaltranslation.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 웹 전환

export const Button = ({href, children}) => {
  return <div className="not-prose group">
    <a href={href}>
      <button className="flex items-center space-x-2.5 py-1 px-4 bg-primary-dark dark:bg-white text-white dark:text-gray-950 rounded-full group-hover:opacity-[0.9] font-medium">
        <span>
          {children}
        </span>
        <svg width="3" height="24" viewBox="0 -9 3 24" class="h-6 rotate-0 overflow-visible"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>
      </button>
    </a>
  </div>;
};

<div id="conversion-api-set-up">
  ## Conversion API 설정
</div>

<div id="prerequisites">
  ### 사전 준비 사항
</div>

<div id="ads-api-access-new-applications">
  #### **Ads API Access - New Applications**
</div>

* Conversion API의 기본 요구 사항은 [Developer Account](https://developer.x.com/en/portal/dashboard)와 [Ads API Access](https://developer.x.com/en/docs/twitter-ads-api/getting-started)를 보유하고 있는 것입니다. 자세한 절차는 [Ads API Getting Started](https://developer.x.com/en/docs/twitter-ads-api/getting-started) 가이드에 설명되어 있습니다. 아래 사항을 참고하세요:

**Step 1: Developer Account**

* [Developer Account](https://developer.x.com/en/portal/dashboard)를 신청할 때, 즉시 승인을 받으려면 구독 [plans](https://developer.x.com/en/portal/products/) 중 하나를 함께 신청하세요. 
* **Note**: 모범 사례로, 공식 회사 X 핸들을 사용해 개발자 계정을 생성하고 Ads API 접근 권한을 신청할 것을 강력히 권장합니다. 개발자 계정이 개인 개발자 핸들과 연계되어 있으면, 필요 시에도 해당 자격 증명을 이전할 방법이 없습니다. 지속적인 관리를 위해 회사 계정으로 운영하고, 필요에 따라 [Multi-user login](https://business.x.com/en/help/troubleshooting/multi-user-login-faq.html)을 활용하는 것이 가장 좋습니다. 그렇지 않은 경우에도 최소한 계정은 기본값이 아닌 설정(헤더 이미지, 아바타, 프로필 설명, 프로필 URL)으로 구성되어야 하며, 2단계 인증을 사용해야 합니다.

**Step 2: Ads API Application**

* Ads API Application을 위해 올바른 **App** **ID**를 준비했는지 확인하세요. App ID는 [Developer Console](https://developer.x.com/en/portal/dashboard)의 Projects & Apps 섹션에서 확인할 수 있습니다. 예시: 16489123
* X 담당자에게 연락하여 Ads API 접근 권한을 요청하세요.

<div id="ads-api-access-existing-applications">
  #### **Ads API Access - Existing Applications**
</div>

* 이미 현재 사용 중인 Ads API App이 있는 경우, 해당 App과 기존 액세스 토큰을 모두 Conversion API에 사용할 수 있습니다.

<div id="access-tokens">
  #### **액세스 토큰**
</div>

* Ads API 애플리케이션을 소유한 사용자 핸들의 User Access Token은 개발자 콘솔에서 바로 생성하고 조회할 수 있습니다. 이는 본인의 X 핸들에 사용하도록 되어 있기 때문에 “personal access token”이라고 부릅니다. 인증 및 개발자 콘솔에 대한 전반적인 정보는 [여기](/ko/resources/fundamentals/authentication/overview)에서 확인할 수 있습니다.
* Ads API 애플리케이션을 소유한 핸들이 아닌 다른 사용자 핸들의 User Access Token은 3-legged OAuth 플로우로 생성해야 합니다. 3-legged OAuth를 사용해 Access Token을 생성하는 방법은 다음과 같습니다.
  * [twurl 유틸리티를 이용한 웹 기반 인증의 커맨드라인 방식](https://github.com/twitter/twurl#getting-started)
  * [PIN 기반 인증의 커맨드라인 방식](https://developer.x.com/resources/fundamentals/authentication/pin-based-oauth)
  * [3-legged OAuth 패턴을 구현한 사용자 정의 웹 플로우](https://developer.x.com/resources/fundamentals/authentication/obtaining-user-access-tokens)
* Conversion API에서 사용되는 모든 사용자 토큰은 AD\_MANAGER 또는 ACCOUNT\_ADMIN 액세스 레벨을 가진 사용자에 대한 것이어야 하며, 이는 [authenticated\_user\_access](https://developer.x.com/en/docs/twitter-ads-api/campaign-management/api-reference/authenticated-user-access) 엔드포인트를 통해 확인할 수 있습니다.
* **참고:** 위와 같이 생성된 토큰 자체는 사용 목적으로 AD\_MANAGER 또는 ACCOUNT\_ADMIN 액세스 레벨이 없는 사용자와도 공유할 수 있습니다.

<div id="steps">
  ### **단계**
</div>

<div id="creating-the-conversion-api-event">
  ### Conversion API 이벤트 생성
</div>

Conversion API를 사용하려면 Ads Manager에서 새 전환 이벤트를 생성하거나, 이미 생성되어 X Pixel과 함께 사용 중인 기존 전환 이벤트를 사용해야 합니다. Pixel 이벤트와 Conversion API 이벤트 간에 중복 제거(deduplication)를 하려는 경우, Pixel용으로 이미 생성해 둔 기존 전환 이벤트를 사용해야 합니다. 

<div id="option-1-using-an-existing-conversion-event-in-ads-manager">
  ##### 옵션 1: Ads Manager에서 기존 전환 이벤트 사용
</div>

이미 X 픽셀과 함께 사용 중인 기존 이벤트를 사용하려면, 해당 이벤트에서 Event ID를 가져오면 됩니다. 동일한 이벤트에 대해 픽셀과 Conversion API를 모두 사용하는 경우, 같은 이벤트에 대해 Pixel과 Conversion API 간 이벤트를 중복 제거할 수 있도록 Pixel 코드 스니펫과 Conversion API 요청 모두에서 `conversion_id`를 중복 제거 키로 사용해야 합니다. 자세한 내용은 d. 이벤트 테스트 및 중복 제거 섹션을 참조하세요. 

<div id="option-2-creating-a-new-conversion-event-in-ads-manager">
  ##### 옵션 2: Ads Manager에서 새 전환 이벤트 생성:
</div>

이벤트를 생성하기 전에 Events Manager에서 Event Source가 먼저 생성되어 있어야 합니다. 계정에 Event Source(X Pixel)가 추가되어 있는지 확인하려면 Events Manager로 이동한 후, 왼쪽 메뉴에 X Pixel이 있는지 확인하세요. 

아직 Event Source가 추가되어 있지 않다면, 아래 단계를 따라 Event Source를 생성하세요.

1. ads.x.com으로 이동합니다.
2. 왼쪽 상단의 **Tools** 섹션으로 이동한 후 **Events Manager**를 클릭합니다.
3. 왼쪽 사이드바에 X Pixel Event Source가 아직 없다면, 오른쪽 상단에서 **Add event source**를 선택해 **Add an event source**를 진행합니다.
   1. X Pixel Event Source의 ID가 바로 **Pixel ID**입니다.

이제 Event Source와 Pixel ID가 준비되었습니다. 추적하려는 전환 이벤트를 위해 Event Source 안에 이벤트를 생성해야 합니다.

1. X Pixel Event Source 안에서 오른쪽에 있는 **Add events**를 선택합니다.
2. **Conversion API**로 설치(**Install with Conversion API**)를 선택합니다.
3. 이 이벤트에 대해 API에서 사용될 **Pixel ID**와 **Event ID**를 확인할 수 있습니다.
   1. 이 이벤트의 ID가 Event ID입니다.
4. **Save**를 클릭하면 전환 이벤트가 생성되며 사용할 준비가 완료됩니다.

<div id="preparing-identifiers-for-conversion-events">
  ### 전환 이벤트용 식별자 준비
</div>

현재 Click ID(`twclid`), 이메일 주소, 전화번호와 같은 식별자 중 최소 하나를 전달해야 합니다. IP 주소나 User Agent를 사용하는 경우, 정확한 전환 매칭을 위해 두 번째 식별자를 함께 전송해야 합니다.

더 많은 식별자를 전달할수록 전환 매칭 비율이 높아집니다.

|            |                                                                                                                                  |             |
| :--------- | :------------------------------------------------------------------------------------------------------------------------------- | :---------- |
| 고객 매칭 필드   | 형식                                                                                                                               | 해시 처리 필요 여부 |
| X Click ID | X에서 생성됨([자세히 알아보기](https://business.x.com/en/help/campaign-measurement-and-analytics/conversion-tracking-for-websites.html#faq)) | 아니요         |
| 이메일 주소     | 앞뒤 공백 제거                                                                                                                         | 필수 (SHA256) |
| 전화번호       | [E164 표준](https://en.wikipedia.org/wiki/E.164)                                                                                   | 필수 (SHA256) |

|            |          |     |
| :--------- | :------- | :-- |
| IP 주소      | 앞뒤 공백 제거 | 아니요 |
| User Agent | 앞뒤 공백 제거 | 아니요 |

<div id="1-prepare-x-click-id-identifier">
  #### 1. X 클릭 ID 식별자 준비
</div>

전환 요청에 항상 Click ID를 포함하는 것을 권장합니다.

사용자가 목적지 웹사이트로 이동한 후, 사용할 수 있는 경우 쿼리 문자열 파라미터 `twclid`에서 Click ID를 파싱해야 합니다. 

기본 JavaScript 코드 예시:

```js theme={null}
var queryString = document.location.search;
if (queryString.has('twclid') {
  twitterClickID = getParam(queryString, 'twclid');
  // 권장 다음 단계: 로깅, 로컬 스토리지에 삽입
}
```

다음을 권장합니다: 

1. URL 쿼리 매개변수에 `twclid` 값이 포함되어 있을 경우 항상 해당 값을 파싱합니다.

2. 관련 양식 필드나 전환 이벤트 정보와 함께 해당 데이터를 저장합니다.

Click ID를 전환 이벤트 및 워크플로 정보에 연결하면, 일괄 처리, 여러 웹사이트 탐색 흐름을 기반으로 전환 이벤트를 분석하고 생성하는 알고리즘, 대량 업로드와 같은 시나리오를 구현할 수 있습니다.

Event Source URL은 [URL 인코딩](https://en.wikipedia.org/wiki/Percent-encoding)되어야 하며, 이벤트를 트리거한 웹 페이지를 나타내도록 설계되었습니다.

<div id="2-prepare-email-identifier">
  #### 2. 이메일 식별자 준비
</div>

지원되는 고객 매칭 필드는 전송할 수 있으나, 정규화해야 하며 필요할 경우 개인정보 보호를 위해 해시 처리해야 합니다.

해당 정보는 솔트 없이 SHA256으로 해시되어야 합니다. 

예를 들어, 이메일 주소 [test@x.com](mailto:test@x.com)의 경우 다음과 같은 해시 형식으로 전송해야 합니다: d360d510a224510f373931ce2d6215a799f5a9c1cef221b0149b6b6b50cced62.

<div id="3-prepare-phone-identifier">
  #### 3. 전화번호 식별자 준비
</div>

전화번호는 [E164 표준](https://en.wikipedia.org/wiki/E.164) 형식으로 전달해야 하며, 해당 정보는 솔트 없이 SHA256으로 해시해야 합니다. 

예를 들어 미국 전화번호 +11234567890의 경우, 다음과 같이 해시된 형식으로 X에 전송되어야 합니다: 1fa6b8d986d9b9cd01bf36951815158bbde9f520c0567c835dfe34783d0a4231.

<div id="4-prepare-ip-address-identifier">
  #### 4. IP 주소 식별자 준비
</div>

IP 주소는 다른 식별자(twclid, 이메일 주소, 전화번호 또는 user agent)와 함께 전송해야 합니다. 이 식별자에는 해싱이 필요하지 않습니다.

이 값은 마침표로 구분된 네 개의 숫자로 이루어진 점 구분 10진 표기(dotted-decimal notation)로 작성됩니다. 예를 들어, 사용자의 IP 주소는 8.25.197.25일 수 있습니다.

<div id="5-prepare-user-agent-identifier">
  #### 5. User Agent 식별자 준비
</div>

User Agent는 다른 식별자(twclid, 이메일 주소, 전화번호 또는 IP 주소)와 함께 전달해야 합니다. 이 식별자에는 해싱이 필요하지 않습니다.

이 식별자는 서버가 요청을 보내는 user agent의 애플리케이션, 운영 체제, 벤더 및/또는 버전을 식별할 수 있도록 합니다. 예를 들어, 이 값은 Mozilla/5.0 (Macintosh; Intel Mac OS X 10\_15\_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36와 같이 전달할 수 있습니다.

<div id="constructing-the-conversion-event-request">
  ### 전환 이벤트 요청 구성
</div>

`POST: version/measurement/conversions/:pixel_id`

특정 광고 계정에 대한 전환 이벤트를 전송합니다. 응답 코드를 확인하여 요청이 성공했는지(HTTP 200 OK) 반드시 확인해야 합니다. 오류 코드가 반환되는 경우를 대비해 재시도 메커니즘과 기본 로깅을 구현하는 것이 권장됩니다.

엔드포인트의 URL 및 POST 본문 매개변수에 대한 자세한 내용은 [API 참조 문서](https://developer.x.com/en/docs/twitter-ads-api/measurement/api-reference/conversions) 섹션을 참조하세요. 

<div id="example-request-formatted-for-readability">
  ### 예시 요청(가독성을 위해 서식을 정리함)
</div>

```json theme={null}

    twurl -H 'ads-api.x.com' -X POST '/12/measurement/conversions/oka17' --data '
    {
      "conversions":[
         {
            "conversion_time":"2022-02-18T01:14:00.603Z",
            "event_id":"ol288",
            "identifiers":[
               {
                  "twclid":"23opevjt88psuo13lu8d020qkn"
               },
               {
                  "hashed_email":"d360d510a224510f373931ce2d6215a799f5a9c1cef221b0149b6b6b50cced62"
               },
               {
                  "hashed_phone_number":"1fa6b8d986d9b9cd01bf36951815158bbde9f520c0567c835dfe34783d0a4231"
               },
               {
                  "ip_address":"1.0.0.0",
                  "user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36"
               }
            ],
            "value":"20.00",
            "number_items":3,
            "conversion_id":"23294827",
            "description":"Pet supply purchases",
            "contents":[
               {
                  "content_id":"1",
                  "content_name":"Blankets",
                  "content_type":"Pet supplies",
                  "content_price":100.99,
                  "num_items":1,
                  "content_group_id":"123"
               }
            ]
         }
      ]
    }' --header 'Content-Type: application/json'

```

### 응답 예시

```json theme={null}
{"request": {
 "params": {
     "account_id":"18ce552mlaq"}
 },
 "data": {
    "conversions_processed":1,
     "debug_id":"ff02e052-36e4-47d6-bdf0-6d8986446562"}
}
```

<div id="rate-limit">
  ### Rate Limit
</div>

레이트 리밋은 계정당 15분 간격마다 이벤트 60,000개입니다.

이 요청 호출 외부에서 다음과 같은 로직을 서버 코드에 구현해야 할 수도 있습니다:

1. 각 이벤트마다 올바른 전환 데이터를 전송할 수 있도록 사용자 행동을 계측(로그 기록)하는 작업

2. 관련 프라이버시 선택권을 행사한 사용자의 전환 이벤트를 필터링하기 위한 모든 필요한 로직 — 예를 들어, 광고주의 웹사이트에서 추적 또는 개인 정보 판매를 거부(opt-out)한 경우

3. 이벤트를 포착하고 전환을 전송하기 위한 이벤트 트리거 및 페이지와의 통합

<div id="testing-events-and-deduplication">
  ### 이벤트 테스트 및 중복 방지
</div>

<div id="testing-events">
  ### 이벤트 테스트
</div>

이벤트가 전환 이벤트를 성공적으로 수신하면, 12\~24시간 이내에 Ads Manager의 Conversion Tracking 페이지에서 ‘Single event web tag’의 상태가 TRACKING으로 표시되어야 합니다. Conversion API를 통해 전환을 전송해도 진행 중인 캠페인에는 영향을 주지 않습니다. 

다음 방법으로 태그 ID별 전환 이벤트의 분석 결과를 확인할 수도 있습니다.

* Ads Manager에서 데이터 내보내기([웹사이트 전환 측정을 위한 Analytics 도움말 페이지](https://business.x.com/en/help/campaign-measurement-and-analytics/conversion-tracking-for-websites.html))

* Ads API를 통해 데이터 내보내기(segmentation\_type=CONVERSION\_TAGS) 

<div id="duplication-between-pixel-and-conversion-api">
  ### Pixel과 Conversion API 간 중복 처리
</div>

Pixel과 Conversion API 요청 간 전환을 중복 제거(deduplicate)하려는 경우, `conversion\_id`를 중복 제거 키로 사용할 수 있습니다. 중복 제거는 이벤트 수준에서만 수행됩니다. 다시 말해, Pixel과 CAPI 요청 간 중복 제거를 하려면 광고주는 동일한 `conversion\_id`를 사용하는 것뿐 아니라 Pixel과 CAPI 요청 모두에서 동일한 이벤트를 사용해야 합니다. 중복 제거는 48시간 이내에 수신된 이벤트에만 적용될 수 있습니다.

<div id="conversion-tracking-overview">
  ## 전환 추적(개요)
</div>

<div id="summary">
  ### 요약
</div>

전환 추적을 사용하면 X에서 광고를 노출·상호작용한 이후에 원하는 행동을 수행한 X 사용자의 수를 측정할 수 있습니다. 이를 통해 어떤 캠페인이 사이트 방문, 가입, 구매와 같은 행동을 유도하는지 측정할 수 있습니다. 이는 광고주가 X 외부에서 다이렉트 리스폰스 광고의 성과를 파악해 비용 효율적으로 고객을 확보할 수 있도록 해 줍니다.

전환 태그를 사용하면 광고주는 사용자 전환을 추적하고 이를 X 상의 광고 캠페인과 연계할 수 있습니다. 이를 통해 캠페인을 최적화하여 CPA(획득당 비용) 목표를 달성할 수 있는 가시성을 확보할 수 있습니다.

광고주는 전환 추적을 통해 다양한 웹사이트 행동을 측정할 수 있습니다. 광고 캠페인을 통해 유도하고자 하는 행동에 따라 다음 중 하나 이상을 선택할 수 있습니다.

* 사이트 방문: 사용자가 광고주의 사이트 내 랜딩 페이지를 방문
* 구매: 사용자가 광고주의 사이트에서 상품 또는 서비스를 구매 완료
* 다운로드: 사용자가 광고주의 사이트에서 백서나 소프트웨어 패키지와 같은 파일을 다운로드
* 가입: 사용자가 광고주의 서비스, 뉴스레터 또는 이메일 수신에 가입
* 사용자 정의: 위 범주에 속하지 않는 사용자 정의 행동을 위한 포괄적인 범주

X의 전환 추적은 광고주가 전환 기여도를 전체적으로 파악할 수 있도록 해 줍니다. 고유 클릭 URL과 서드 파티 추적 태그를 조합하는 방식과 같이, 기존에 X의 자체 전환 추적 기능 대신 사용되었을 수 있는 서드 파티 측정 시스템과 비교했을 때, X의 전환 태그는 광고주가 Tweet 확장, 리트윗, 좋아요, 답글, 팔로우뿐만 아니라 노출(impression)과 같이 퍼널 중·상단의 참여에 기여된 전환까지 추적할 수 있는 기능을 제공합니다.

<div id="faq">
  ### FAQ
</div>

<AccordionGroup>
  <Accordion title="전환 추적 태그는 어떻게 작동하나요?">
    먼저, 광고주는 X에서 제공하는 코드 스니펫인 전환 태그를 생성해 자신의 웹사이트에 설치합니다. 그러면 사용자가 지정된 행동을 완료할 때 전환을 측정할 준비가 완료됩니다.

    그다음 사용자는 X 클라이언트에서 광고주의 광고에 노출되고, 이를 통해 광고주의 웹사이트로 이동해 태깅된 행동을 수행하게 됩니다. 사용자가 태그 설정 시 광고주가 지정한 어트리뷰션 윈도(기간) 내에 그 행동을 완료하면, 태그는 해당 사용자가 이전에 X 광고와 상호작용했다는 점을 인식합니다. 이후 태그가 “발화(fire)”되어 X 서버로 알림을 전송하고, 이를 통해 해당 전환을 발생시킨 광고에 전환이 귀속됩니다.
  </Accordion>

  <Accordion title="캠페인 설정 과정에서, 특정 캠페인에 어떤 추적 픽셀이 연관되는지 선택할 수 있는 방법이 있나요?">
    아니요. 현재 제품은 특정 전환 태그를 특정 캠페인에 개별적으로 연결하는 방식으로 구성되어 있지 않습니다. 대신 태그가 한 번 설정되면, 시스템이 자동으로 어떤 광고가 해당 태그에서 전환을 유도했는지 추적합니다.
  </Accordion>

  <Accordion title="전환 태그에 대한 기본 어트리뷰션 윈도 설정은 어떻게 되나요?">
    기본 노출(post-view) 기준 어트리뷰션 윈도: 1일

    기본 참여(post-engagement) 기준 어트리뷰션 윈도: 14일

    이 기본값은 전환 태그 설정 시 또는 태그 생성 이후 언제든지 변경할 수 있습니다. 참여 기준 어트리뷰션 윈도 옵션은 1, 7, 14, 30, 60, 90일입니다. 노출 기준 어트리뷰션 윈도 옵션은 없음, 1, 7, 14, 30, 60, 90일입니다.
  </Accordion>

  <Accordion title="전환을 효과적으로 유도하는 DR 크리에이티브와 전략에는 어떤 것들이 있나요?">
    각 광고주의 목표, 상황, 전략은 모두 다르지만, 전환 추적 알파 또는 베타에 참여한 광고주에게 효과가 있었던 몇 가지 아이디어는 다음과 같습니다.

    **크리에이티브:**

    * **혜택 제공**: 행동에 대한 관심을 더 끌어내기 위해 할인, 프로모션, 무료 배송과 같은 혜택을 Promoted Tweet과 함께 제공
    * **경품 행사 및 콘테스트**: 특히 유명 브랜드의 경우, 경품 행사와 콘테스트가 전환을 유도함
    * **Tweet 카피 실험**: 대문자와 소문자 비교 테스트 (예: FREE vs free, NOW vs now)
    * **마감 기한 제시**: “12월 12일 종료”와 같이, 즉각적인 행동을 유도하기 위한 마감 기한 제시
    * **매력적인 사진 추가**: 시각적으로 매력적인 사진을 Tweet 크리에이티브에 추가하는 것이 전환 유도에 효과적인지 테스트해 볼 가치가 있습니다. 결과는 광고주의 제공 상품에 따라 다를 수 있습니다.

    **타게팅:**

    * @handle 타게팅과 관심사 카테고리 타게팅: Tweet 카피와 @handle을 Tweet이 도달하고자 하는 타깃 오디언스와 긴밀하게 일치시키는 것이 전환을 유도함
    * 틈새지만 검색량이 높은 키워드 사용: 콘서트 관련 캠페인에서는 아티스트/뮤지션(예: 이름)과 관련된 키워드 사용이 효과적인 것으로 나타남
    * Tailored audiences: TA 웹과 전환 추적을 함께 사용하는 광고주는 다른 타게팅을 사용하는 대조군보다 더 낮은 CPA를 기록함

    캠페인 세분화가 세밀할수록 보고되는 전환 결과를 더 실행 가능하게 활용할 수 있습니다. 예를 들어, 50개의 키워드를 사용하는 캠페인보다 4개의 키워드를 사용하는 캠페인이 훨씬 최적화하기 쉽습니다.
  </Accordion>
</AccordionGroup>

<div id="troubleshooting-and-support-for-conversion-api">
  ## Conversion API 문제 해결 및 지원
</div>

API 호출 후 오류 코드 관련 문의가 있으시면 아래 섹션을 참고하세요. 그 외 모든 문의에 대해서는 언제든지 Twitter 담당자에게 연락해 주세요. 가능한 한 신속히 해결할 수 있도록 지원하겠습니다. 

<div id="error-handling-and-explanation">
  ### 오류 처리 및 설명
</div>

단일 요청은 그 안에 포함된 모든 전환에 대해 `errors`가 하나도 없을 때에만 성공합니다. 개별 전환에 어떤 오류라도 발생하면, 엔드포인트는 해당 전환에 대해 적용 가능한 모든 `errors` 목록을 반환합니다.

<div id="x-ads-api-error-codes-overview">
  ### X Ads API 오류 코드 개요
</div>

다음은 Ads API 오류 코드에 대한 포괄적인 목록입니다:

[https://developer.x.com/en/docs/twitter-ads-api/response-codes](https://developer.x.com/en/docs/twitter-ads-api/response-codes)

성공한 Conversion API 응답은 200번대 HTTP 상태 코드와 요청한 객체를 포함하는 JSON 기반 페이로드로 나타납니다.

<div id="when-there-is-a-500-series-http-code-its-related-to-a-server-issue-instead-of-your-request-or-account-set-up-please-check-the-x-api-status-page-or-the-developer-community-forum-in-case-others-are-having-similar-issues">
  #### **500번대 HTTP 코드가 발생하는 경우**, 이는 요청이나 계정 설정 문제가 아니라 서버 측 문제입니다. 다른 사용자들도 비슷한 문제를 겪고 있는지 [X API 상태 페이지](https://api.twitterstat.us/)나 [개발자 커뮤니티 포럼](https://devcommunity.x.com/)을 확인해 보세요.
</div>

<div id="when-there-is-a-400-series-http-code-the-common-cases-are">
  #### 400번대 HTTP 코드가 발생하는 일반적인 경우는 다음과 같습니다
</div>

* 400 Bad Request (요청이 표준/형식에 맞지 않음)

* 401 Unauthorized (인증 관련 문제)

* 403 Forbidden (해당 개발자 계정과 연관된 API 접근 권한 문제)

* 404 Not Found (해당 엔드포인트에 대해 URL 또는 매개변수가 올바르지 않을 수 있음)

<div id="conversion-api-error-codes">
  ### Conversion API 오류 코드
</div>

<div id="400-bad-request-scenarios">
  #### 400 잘못된 요청 시나리오
</div>

| **Reason**                                | **Type**        | **Error Message**                              |
| :---------------------------------------- | :-------------- | :--------------------------------------------- |
| 식별자 누락 오류 (현재 해시된 이메일 또는 X 클릭 ID(twclid)) | 400 Bad Request | 사용자 식별자는 최소 한 개 이상 제공해야 합니다                    |
| 잘못된 해시된 이메일                               | 400 Bad Request | Hashed\_email이 올바른 SHA-256 해시가 아닙니다            |
| event\_id의 type이 단일 이벤트 태그(SET)가 아님       | 400 Bad Request | Event\_id (\<event\_id>)가 단일 이벤트 태그(SET)가 아닙니다 |
| 요청한 전환 이벤트 수가 제한(현재 요청당 500개)을 초과함        | 400 Bad Request | 전환 이벤트 수 제한은 500개입니다                           |
| 이벤트 ID 누락                                 | 400 Bad Request | 이벤트 ID를 찾을 수 없습니다                              |

<div id="json-error-code-example">
  #### JSON 오류 코드 예시
</div>

<div id="request">
  ##### 요청:
</div>

`POST '/11/measurement/conversions/o6dkt'  --data '{"conversions":[{"conversion_time": "2022-06-16T01:14:00.603Z", "event_id":"o6dkt", "identifiers": [{"twclid": "23opevjt88psuo13lu8d020qkn"}]}]}' --header 'Content-Type: application/json`

<div id="error-message">
  #### 오류 메시지:
</div>

`{"errors":[{"code":"INVALID_PARAMETER","message":"event_id (o6dkt) is not a single event tag (SET)","parameter":"event_id"}],"request":{"params":{"account_id":"18ce552mlaq"}}}`

#### 요청:

`twurl_ads -X POST '/11/measurement/conversions/o6dkt'  --data '{"conversions":[{"conversion_time": "2022-06-16T01:14:00.603Z", "event_id":"o6dl3", "identifiers": [{"twclid": ""}]}]}' --header 'Content-Type: application/json' `

<div id="error-message">
  #### 오류 메시지:
</div>

`{"errors":[{"code":"INVALID_PARAMETER","message":"At least one user identifier must be provided","parameter":""}],"request":{"params":{"account_id":"18ce552mlaq"}}}`

#### 요청:

`twurl_ads -X POST '/11/measurement/conversions/o6dkt'  --data '{"conversions":[{"conversion_time": "2022-06-16T01:14:00.603Z", "event_id":"o6dl3", "identifiers": [{"hashed_email": "abc"}]}]}' --header 'Content-Type: application/json'`

<div id="error-message">
  #### 오류 메시지:
</div>

`{"errors":[{"code":"INVALID_PARAMETER","message":"hashed_email (abc) is not a valid SHA-256 hash","parameter":"hashed_email"}],"request":{"params":{"account_id":"18ce552mlaq"}}}`

#### 요청:

`twurl_ads -X POST '/11/measurement/conversions/o6dkt'  --data '{"conversions":[{"conversion_time": "2022-06-16T01:14:00.603", "event_id":"o6dl3", "identifiers": [{"twclid": "23opevjt88psuo13lu8d020qkn"}]}]}' --header 'Content-Type: application/json'`

<div id="error-message">
  #### 오류 메시지:
</div>

`{"errors":[{"code":"INVALID_PARAMETER","message":"Expected Time in yyyy-MM-ddTHH:mm:ss.SSSZ, got \"2022-06-16T01:14:00.603\" for conversion_time","parameter":"conversion_time"}],"request":{"params":{"account_id":"18ce552mlaq"}}}`

<div id="401-unauthorized">
  ### 401 Unauthorized
</div>

**이유**: 인증 자격 증명이 없거나 올바르지 않음 

**해결 방법**: 다음 3가지 인증 방법 중 하나를 사용하여 [Set Up 문서](https://developer.x.com/en/docs/twitter-ads-api/measurement/guides/conversion-api)에 있는 인증 단계를 따르세요:

Ads API 애플리케이션을 소유한 핸들이 아닌 다른 사용자 핸들에 대한 User Access Token은 3-legged OAuth 플로우로 생성해야 합니다. 3-legged OAuth를 사용하여 Access Token을 생성하는 옵션은 다음과 같습니다.

* [twurl 유틸리티를 사용한 웹 기반 승인 방식의 명령줄](https://github.com/twitter/twurl#getting-started)

* [PIN 기반 승인 방식의 명령줄](https://developer.x.com/resources/fundamentals/authentication/pin-based-oauth)

* [3-legged OAuth 패턴을 구현하는 커스텀 웹 플로우](https://developer.x.com/resources/fundamentals/authentication/obtaining-user-access-tokens)

Conversion API와 함께 사용되는 모든 사용자 토큰은 AD\_MANAGER 또는 ACCOUNT\_ADMIN 액세스 레벨을 가진 사용자에 대한 것이어야 하며, 이는 [authenticated\_user\_access](https://developer.x.com/en/docs/twitter-ads-api/campaign-management/api-reference/authenticated-user-access) 엔드포인트를 통해 확인할 수 있습니다.

<div id="403-access-forbidden">
  ### 403 접근 금지
</div>

| 이유                                                                                                             | 유형                      | 오류 메시지                                                                                                                                                                                       |
| :------------------------------------------------------------------------------------------------------------- | :---------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 사용 중인 개발자 계정에는 Ads API 액세스 권한이 없습니다. [여기에서 액세스를 신청하세요](https://developer.x.com/en/docs/twitter-ads-api/apply). | 403 Unauthorized Client | 이 요청을 보내는 id가 \<>인 클라이언트 애플리케이션에는 X Ads API에 대한 액세스 권한이 없습니다. 애플리케이션에 advertiser-api 액세스 권한이 있는지 확인하세요. 사용 중인 애플리케이션을 변경하려면 'twurl accounts'와 'twurl set default \<username> \<key>'를 사용하세요. |

<div id="404-not-found">
  ### 404 Not Found
</div>

| 이유                                                       | 유형                  | 오류 메시지                                                                                                                                                                                                                   |
| :------------------------------------------------------- | :------------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 요청 URL 또는 매개변수가 해당 엔드포인트에 대해 올바르지 않습니다                   | 404 Route Not Found | The requested resource could not be found                                                                                                                                                                                |
| pixel\_id/Universal Website Tag를 소유한 계정에 대한 액세스 권한이 없습니다 | 404 Not Found       | User \<user\_id> does not have access to account \<account\_id>. Type 'sn \<user\_id>' to get the handle of the user. Use 'twurl accounts' and 'twurl set default \u003Cusername\u003E' to change the user you're using. |
| event id가 pixel ID(UWT ID)와 연결된 제공된 계정에 속해 있지 않습니다       | 404 Not Found       | event\_id \<event\_id> does not belong to provided account                                                                                                                                                               |

### JSON 오류 코드 예시

#### 요청:

`twurl_ads -X POST '/11/measurement/conversions/o8z6j'  --data '{"conversions":[{"conversion_time": "2022-06-16T01:14:00.603Z", "event_id":"abc", "identifiers": [{"twclid": "23opevjt88psuo13lu8d020qkn"}]}]}' --header 'Content-Type: application/json'`

**오류 메시지:**

`{"errors":[{"code":"NOT_FOUND","message":"event_id (abc) does not belong to provided account","parameter":"event_id"},{"code":"INVALID_PARAMETER","message":"event_id (abc) is not a single event tag (SET)","parameter":"event_id"}],"request":{"params":{"account_id":"18ce55gze09"}}}`

<div id="api-reference-index">
  ## API 참조 문서 색인
</div>

전체 API 참조 문서를 보려면 목록에서 엔드포인트를 선택하세요:

<div id="web-conversions">
  ### 웹 전환
</div>

|          |                                                                                                                                              |
| :------- | :------------------------------------------------------------------------------------------------------------------------------------------- |
| 전환 API   | [measurement/conversions/:pixel\_id](https://developer.x.com/en/docs/x-ads-api/measurement/web-conversions/api-reference/conversions)        |
| 웹 이벤트 태그 | [accounts/:account\_id/web\_event\_tags](https://developer.x.com/en/docs/x-ads-api/measurement/web-conversions/api-reference/web-event-tags) |

<div id="web-conversions">
  ### 웹 전환
</div>

<Button href="https://app.getpostman.com/run-collection/1d12b9fc623b8e149f87">
  Postman에서 실행
</Button>

`POST version/measurement/conversions/:pixel_id`

단일 이벤트 태그 ID에 대한 웹사이트 전환 이벤트를 전송합니다.

응답 코드를 확인하여 성공(HTTP 200 OK)인지 검사해야 합니다. 오류 코드가 반환될 경우를 대비해 재시도 메커니즘과 기본 로깅을 구현할 것을 권장합니다.

레이트 리밋은 계정당 15분 간격마다 요청 100,000건이며, 각 요청에는 최대 500개의 이벤트를 포함할 수 있습니다.

<div id="resource-url">
  ##### 리소스 URL
</div>

`https://ads-api.x.com/12/measurement/conversions/:pixel_id`

<div id="request-url-parameters">
  ##### Request URL Parameters
</div>

| Name                          | Description                                                                                                                                                                                                                                                                                                                     |
| :---------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| pixel\_id  <br />*required*   | 광고 계정의 Base Tag ID입니다. 이는 광고 계정의 Base Tag ID를 base36으로 인코딩한 값입니다.<br /><br />Type: string<br /><br />Example: `o8z6j`                                                                                                                                                                                                           |
| conversions  <br />*required* | API 요청의 POST 요청 본문에 포함되는 객체입니다. 전환 이벤트 목록입니다. 전환 이벤트는 최대 500개까지 제공할 수 있습니다. 지원되는 필드에 대해서는 아래 표를 참고하세요.<br /><br />Type: array<br /><br />Example: `"conversions":[{"conversion_time": "2022-02-18T01:14:00.603Z", "event_id":"o87ne", "identifiers": [{"twclid": "23opevjt88psuo13lu8d020qkn"}], "conversion_id": "23294827"}]` |

<div id="conversions-object">
  ###### conversions object
</div>

| Name                               | Description                                                                                                                                                                                                                                                                                                                                                                 |
| :--------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| conversion\_time  <br />*required* | [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) 형식으로 표현된 시간입니다.<br /><br />Type: string<br /><br />Example: `2017-10-05T00:00:00Z`                                                                                                                                                                                                                                       |
| event\_id  <br />*required*        | 특정 이벤트의 base-36 ID 값입니다. 이 광고 계정에 포함된 사전 구성된 이벤트와 매칭됩니다. 이는 Events Manager의 해당 이벤트에서 ID로 표시됩니다.<br /><br />Type: string<br /><br />Example: `o87ne` 또는 `tw-o8z6j-o87ne` (`tw-pixel_id-event-id`) 둘 다 허용됩니다                                                                                                                                                                  |
| identifiers  <br />*required*      | 전환 이벤트를 매칭하기 위한 식별자 객체(identifier object) 목록입니다. 지원되는 필드는 아래 표에 나열되어 있습니다. 식별자 객체 중 최소 하나는 필수입니다.<br /><br />IP 주소 또는 user agent를 사용하는 경우, 올바른 전환 매칭을 위해 두 번째 식별자를 함께 전송해야 합니다.<br /><br />Type: array<br /><br />Example: `"identifiers": [{"twclid": "23opevjt88psuo13lu8d020qkn"},{"hashed_email": "e586883b2b4faf78d48300a79e0e15138d664cdf796ffb86e533170a9893eda8"}]` |
| number\_items  <br />*optional*    | 이벤트에서 구매되는 항목의 개수입니다. 0보다 큰 양수여야 합니다.<br /><br />Type: integer<br /><br />Example: `4`                                                                                                                                                                                                                                                                                      |
| price\_currency  <br />*optional*  | 이벤트에서 구매되는 항목의 통화 단위로, [ISO-4217](https://en.wikipedia.org/wiki/ISO_4217) 형식으로 표현됩니다. 자세한 정보는 [Currency](https://developer.x.com/en/docs/twitter-ads-api/currency)를 참고하세요.<br /><br />Type: string<br /><br />Default: `USD`<br /><br />Example: `JPY`                                                                                                                      |
| value  <br />*optional*            | 이벤트에서 구매되는 항목의 가격 값으로, `price_currency` 통화로 표현됩니다.<br /><br />Type: double<br /><br />Example: `100.00`                                                                                                                                                                                                                                                                     |
| conversion\_id  <br />*optional*   | 픽셀과 Conversion API 전환 간 중복 제거를 위한 값입니다. 동일한 *event tag* 내에서 Web Pixel 및 Conversion API 전환 간 중복 제거에 사용할 수 있는 전환 이벤트 식별자입니다. 자세한 내용은 [Conversions Guide](https://developer.x.com/en/docs/twitter-ads-api/measurement/guides/conversion-api)의 Testing Events and Deduplication 섹션을 참고하세요.<br /><br />Type: string<br /><br />Example: `23294827`                               |
| description  <br />*optional*      | 전환에 대한 추가 정보를 포함할 수 있는 설명입니다.<br /><br />Type: string<br /><br />Example: `test conversion`                                                                                                                                                                                                                                                                                 |
| contents  <br />*optional*         | 세부 정보를 제공하기 위해 특정 상품/콘텐츠와 관련된 상세 정보 목록입니다. 지원되는 필드는 아래 표를 참고하세요.<br /><br />Type: array<br /><br />Example: `contents": [{"content_id": "1", "content_name": "Blankets", "content_type": "home improvement", "content_price": 100.99, "num_items": 1, "content_group_id": "123"}, {"content_id": "2"}]`                                                                     |

<div id="identifiers-object">
  ###### identifiers object
</div>

| Name                                                              | Description                                                                                                                                                                                                                                                                                                           |
| :---------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ********twclid********  <br />*sometimes required*                | 클릭 유입 URL에서 파싱된 Click ID입니다. 다른 식별자가 추가되지 않은 경우 필수입니다.<br /><br />Type: string<br /><br />Example: `26l6412g5p4iyj65a2oic2ayg2`                                                                                                                                                                                       |
| ********hashed\_email********  <br />*sometimes required*         | [SHA256](https://en.wikipedia.org/wiki/SHA-2)으로 해시된 이메일 주소입니다. 해싱 전에 모든 문자를 소문자로 변환하고, 앞뒤 공백을 제거해야 합니다. 다른 식별자가 추가되지 않은 경우 필수입니다.<br /><br />Type: string<br /><br />Example: `test-email@test.com`의 경우 = `e586883b2b4faf78d48300a79e0e15138d664cdf796ffb86e533170a9893eda8`                                          |
| ********hashed\_phone\_number********  <br />*sometimes required* | [E164](https://en.wikipedia.org/wiki/E.164) 형식의 전화번호를 [SHA256](https://en.wikipedia.org/wiki/SHA-2)으로 해시한 값입니다. 해싱 전에 전화번호는 반드시 E164 형식이어야 합니다. 다른 식별자가 추가되지 않은 경우 필수입니다.<br /><br />Type: string<br /><br />Example: `+11234567890`의 경우 = `1fa6b8d986d9b9cd01bf36951815158bbde9f520c0567c835dfe34783d0a4231 `        |
| **ip\_address**  <br />*sometimes required*                       | 마침표로 구분된 네 개의 숫자로 구성된 점-10진수 표기법으로 작성된 값입니다.<br /><br />IP 주소는 다른 식별자(twclid, 이메일 주소, 전화번호 또는 user agent)와 함께 전달되어야 합니다.<br /><br />Type: string<br /><br />Example: 8.25.197.25                                                                                                                                      |
| \*\*user\_agent \*\*  <br />*sometimes required*                  | 이 식별자는 서버가 요청하는 user agent의 애플리케이션, 운영체제, 벤더 및/또는 버전을 식별할 수 있도록 합니다.<br /><br />User Agent는 다른 식별자(twclid, 이메일 주소, 전화번호 또는 IP 주소)와 함께 전달되어야 합니다.<br /><br />Type: string<br /><br />Example: Mozilla/5.0 (Macintosh; Intel Mac OS X 10\_15\_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36. |

<div id="contents-object">
  ###### contents 객체
</div>

| Name                                 | Description                                                                          |
| :----------------------------------- | :----------------------------------------------------------------------------------- |
| content\_id  <br />*optional*        | SKU 또는 GTIN; 콘텐츠를 나타내는 식별자입니다.<br /><br />Type: string<br /><br />Example: `jhp`     |
| content\_group\_id  <br />*optional* | 제품 옵션(variant) 그룹과 연결된 ID입니다.<br /><br />Type: integer<br /><br />Example: `group 1` |
| content\_name  <br />*optional*      | 제품 또는 서비스의 이름입니다.<br /><br />Type: string<br /><br />Example: `radio flyer`          |
| content\_price  <br />*optional*     | 제품 또는 서비스의 가격입니다.<br /><br />Type: double<br /><br />Example: `5.00`                 |
| content\_type  <br />*optional*      | 구매한 제품의 카테고리입니다.<br /><br />Type: string<br /><br />Example: `clothes`               |
| num\_items  <br />*optional*         | 구매한 제품 수입니다.<br /><br />Type: integer<br /><br />Example: `1`                        |

<div id="response-parameters">
  ##### 응답 매개변수
</div>

| 이름                     | 설명                                                                                                           |
| :--------------------- | :----------------------------------------------------------------------------------------------------------- |
| conversions\_processed | 성공적으로 처리된 전환(conversion) 수<br /><br />Type: integer<br /><br />Example: `1`                                  |
| debug\_id              | 후속 분석에 사용할 수 있는 디버그용 UUID<br /><br />Type: string<br /><br />Example: `ff02e052-36e4-47d6-bdf0-6d8986446562` |

<div id="example-request">
  ##### 요청 예시
</div>

```json theme={null}
    twurl -H 'ads-api.x.com' -X POST '/12/measurement/conversions/oka17' --data '
    {
      "conversions":[
         {
            "conversion_time":"2022-02-18T01:14:00.603Z",
            "event_id":"ol288",
            "identifiers":[
               {
                  "twclid":"23opevjt88psuo13lu8d020qkn"
               },
               {
                  "hashed_email":"d360d510a224510f373931ce2d6215a799f5a9c1cef221b0149b6b6b50cced62"
               },
               {
                  "hashed_phone_number":"1fa6b8d986d9b9cd01bf36951815158bbde9f520c0567c835dfe34783d0a4231"
               },
               {
                  "ip_address":"1.0.0.0",
                  "user_agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.36"
               }
            ],
            "value":"20.00",
            "number_items":3,
            "conversion_id":"23294827",
            "description":"Pet supply purchases",
            "contents":[
               {
                  "content_id":"1",
                  "content_name":"Blankets",
                  "content_type":"Pet supplies",
                  "content_price":100.99,
                  "num_items":1,
                  "content_group_id":"123"
               }
            ]
         }
      ]
    }' --header 'Content-Type: application/json'
```

##### 요청 예제

```json theme={null}
    {
       "request":{
          "params":{
             "account_id":"18ce552mlaq"
          }
       },
       "data":{
          "conversions_processed":1,
          "debug_id":"ff02e052-36e4-47d6-bdf0-6d8986446562"
       }
    }
```

<div id="web-event-tags">
  ### 웹 이벤트 태그
</div>

<Button href="https://app.getpostman.com/run-collection/1d12b9fc623b8e149f87">
  Postman에서 실행
</Button>

`GET accounts/:account_id/web_event_tags`

현재 계정과 연결된 웹 이벤트 태그 일부 또는 전체에 대한 세부 정보를 조회합니다.

#### 리소스 URL

`https://ads-api.x.com/12/accounts/:account_id/web_event_tags`

#### Parameters

| Name                                   | Description                                                                                                                                                                                                                                                 |
| :------------------------------------- | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| account\_id  <br />*required*          | 레버리지 계정의 식별자입니다. 이 값은 리소스 경로에 포함되며, [GET accounts](/ko/x-ads-api/campaign-management#accounts)를 제외한 모든 Advertiser API 요청에서 일반적으로 필수 매개변수입니다. 지정된 계정은 인증된 사용자와 연계되어 있어야 합니다.<br /><br />Type: string<br /><br />Example: `18ce54d4x5t`                       |
| count  <br />*optional*                | 각 요청마다 가져올 레코드 수를 지정합니다.<br /><br />Type: int<br /><br />Default: `200`  <br />Min, Max: `1`, `1000`                                                                                                                                                        |
| cursor  <br />*optional*               | 다음 페이지의 결과를 가져오기 위한 커서를 지정합니다. 자세한 내용은 [Pagination](/ko/x-ads-api/introduction)을 참고하세요.<br /><br />Type: string<br /><br />Example: `8x7v00oow`                                                                                                             |
| sort\_by  <br />*optional*             | 지원되는 속성을 기준으로 오름차순 또는 내림차순으로 정렬합니다. 자세한 내용은 [Sorting](/ko/x-ads-api/fundamentals/sorting)을 참고하세요.<br /><br />Type: string<br /><br />Example: `created_at-asc`                                                                                              |
| web\_event\_tag\_ids  <br />*optional* | 쉼표로 구분된 식별자 목록을 지정하여, 응답을 원하는 웹 이벤트 태그로만 제한합니다. 최대 200개의 ID를 제공할 수 있습니다.<br /><br />Type: string<br /><br />Example: `o3bk1`                                                                                                                                |
| with\_deleted  <br />*optional*        | 삭제된 결과도 응답에 포함합니다.<br /><br />Type: boolean<br /><br />Default: `false`  <br />Possible values: `true`, `false`                                                                                                                                             |
| with\_total\_count  <br />*optional*   | `total_count` 응답 속성을 포함합니다.<br /><br />**Note**: 이 매개변수와 `cursor`는 상호 배타적입니다.<br /><br />**Note**: `total_count`를 포함하는 요청에는 더 낮은 요청 한도가 적용되며, 현재 15분당 200건입니다.<br /><br />Type: boolean<br /><br />Default: `false`  <br />Possible values: `true`, `false` |

#### 예시 요청

`GET https://ads-api.x.com/12/accounts/18ce54d4x5t/web_event_tags?web_event_tag_ids=o3bk1`

#### 예시 응답

```json theme={null}
    {
      "request": {
        "params": {
          "web_event_tag_ids": [
            "o3bk1"
          ],
          "account_id": "18ce54d4x5t"
        }
      },
      "next_cursor": null,
      "data": [
        {
          "name": "web event tag",
          "view_through_window": 7,
          "click_window": 7,
          "embed_code": "<script src="//platform.x.com/oct.js" type="text/javascript"></script><script type="text/javascript">twttr.conversion.trackPid('ny3od',  { tw_sale_amount: 0, tw_order_quantity: 0 });</script><noscript><img height="1" width="1" style="display:none;" alt=""  src="https://analytics.x.com/i/adsct?txn_id=ny3od&amp;p_id=Twitter&amp;tw_sale_amount=0&amp;tw_order_quantity=0" /><img height="1" width="1" style="display:none;" alt=""  src="//t.co/i/adsct?txn_id=ny3od&amp;p_id=Twitter&amp;tw_sale_amount=0&amp;tw_order_quantity=0" /></noscript>",
          "id": "o3bk1",
          "retargeting_enabled": false,
          "last_tracked_at": "2021-05-22T17:00:04Z",
          "status": "TRACKING",
          "type": "DOWNLOAD",
          "website_tag_id": "ny3od",
          "deleted": false
        }
      ]
    }
```

<div id="get-accountsaccount_idweb_event_tagsweb_event_tag_id">
  #### GET accounts/:account\_id/web\_event\_tags/:web\_event\_tag\_id
</div>

현재 계정에 연결된 특정 웹 이벤트 태그를 조회합니다.

<div id="resource-url">
  ##### 리소스 URL
</div>

`https://ads-api.x.com/12/accounts/:account_id/web_event_tags/:web_event_tag_id`

##### 매개변수

| Name                                  | Description                                                                                                                                                                                                                             |
| :------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| account\_id  <br />*required*         | 활용 중인 광고 계정의 식별자입니다. 리소스 경로에 포함되며, [GET accounts](/ko/x-ads-api/campaign-management#accounts)을(를) 제외한 모든 Advertiser API 요청에서 일반적으로 필수 매개변수입니다. 지정한 계정은 인증된 사용자와 연관되어 있어야 합니다.<br /><br />Type: string<br /><br />Example: `18ce54d4x5t` |
| web\_event\_tag\_id  <br />*required* | 요청에서 사용 중인 웹 이벤트 태그에 대한 참조입니다.<br /><br />Type: string<br /><br />Example: `o3bk1`                                                                                                                                                      |
| with\_deleted  <br />*optional*       | 요청 결과에 삭제된 항목을 포함할지 여부입니다.<br /><br />Type: boolean<br /><br />Default: `false`  <br />Possible values: `true`, `false`                                                                                                                 |

<div id="example-request">
  ##### 요청 예시
</div>

`GET https://ads-api.x.com/12/accounts/18ce54d4x5t/web_event_tags/o3bk1`

<div id="example-response">
  ##### 응답 예시
</div>

```json theme={null}
    {
      "request": {
        "params": {
          "web_event_tag_id": "o3bk1",
          "account_id": "18ce54d4x5t"
        }
      },
      "data": {
        "name": "web event tag",
        "view_through_window": 7,
        "click_window": 7,
        "embed_code": "<script src="//platform.x.com/oct.js" type="text/javascript"></script><script type="text/javascript">twttr.conversion.trackPid('ny3od',  { tw_sale_amount: 0, tw_order_quantity: 0 });</script><noscript><img height="1" width="1" style="display:none;" alt=""  src="https://analytics.x.com/i/adsct?txn_id=ny3od&amp;p_id=Twitter&amp;tw_sale_amount=0&amp;tw_order_quantity=0" /><img height="1" width="1" style="display:none;" alt=""  src="//t.co/i/adsct?txn_id=ny3od&amp;p_id=Twitter&amp;tw_sale_amount=0&amp;tw_order_quantity=0" /></noscript>",
        "id": "o3bk1",
        "retargeting_enabled": false,
        "last_tracked_at": "2021-05-22T17:00:04Z",
        "status": "TRACKING",
        "type": "DOWNLOAD",
        "website_tag_id": "ny3od",
        "deleted": false
      }
    }
```

<div id="post-accountsaccount_idweb_event_tags">
  #### POST accounts/:account\_id/web\_event\_tags
</div>

현재 계정에 연결된 새 웹 이벤트 태그를 생성합니다.

#### 리소스 URL

`https://ads-api.x.com/12/accounts/:account_id/web_event_tags`

#### 매개변수

| Name                                    | Description                                                                                                                                                                                                                                                                                                                                                        |
| :-------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| account\_id  <br />*required*           | 사용 중인 광고 계정의 식별자입니다. 리소스 경로 내에 포함되며, [GET accounts](/ko/x-ads-api/campaign-management#accounts)를 제외한 모든 Advertiser API 요청에서 일반적으로 필수 매개변수입니다. 지정한 계정은 인증된 사용자와 연결된 계정이어야 합니다.<br /><br />Type: string<br /><br />Example: `18ce54d4x5t`                                                                                                                            |
| click\_window  <br />*required*         | 이 웹 태그의 클릭 윈도우입니다.<br /><br />**참고**: 아래에 나열된 값만 허용됩니다.<br /><br />Type: int<br /><br />Possible values: `1`, `7`, `14`, `30`                                                                                                                                                                                                                                      |
| name  <br />*required*                  | 웹 태그의 이름입니다.<br /><br />Type: string<br /><br />Example: `Sample single conversion event`                                                                                                                                                                                                                                                                          |
| retargeting\_enabled  <br />*required*  | 이 웹 태그에 대해 리타게팅을 활성화할지 여부를 나타냅니다.<br /><br />Type: boolean<br /><br />Possible values: `true`, `false`                                                                                                                                                                                                                                                             |
| type  <br />*required*                  | 웹 태그의 유형(type)입니다.<br /><br />Type: enum<br /><br />Possible values: `ADDED_PAYMENT_INFO`, `ADD_TO_CART`, `ADD_TO_WISHLIST`, `CHECKOUT_INITIATED`, `CONTENT_VIEW`, `CUSTOM`, `DOWNLOAD`, `PRODUCT_CUSTOMIZATION`,`PURCHASE`, `SEARCH`, `SIGN_UP`, `SITE_VISIT`, `START_TRIAL`, `SUBSCRIBE`<br /><br />(UI에서는 `SITE_VISIT`이 “Page view”로, `SIGN_UP`은 “Lead”로 표시됩니다) |
| view\_through\_window  <br />*required* | 이 웹 태그의 뷰스루 윈도우입니다. 이 값은 항상 `click_window` 값보다 작거나 같아야 합니다.<br /><br />**참고**: 아래에 나열된 값만 허용됩니다.<br /><br />Type: int<br /><br />Possible values: `0`, `1`, `7`, `14`, `30`                                                                                                                                                                                        |

##### 예시 요청

`POST https://ads-api.x.com/12/accounts/18ce54d4x5t/web_event_tags?click_window=7&name=web event tag&retargeting_enabled=false&type=SITE_VISIT&view_through_window=7`

#### 응답 예시

```json theme={null}
    {
      "data": {
        "name": "web event tag",
        "view_through_window": 7,
        "click_window": 7,
        "embed_code": "<script src='"//platform.x.com/oct.js"' type='"text/javascript"'></script><script type='"text/javascript"'>twttr.conversion.trackPid('ny3od',  { tw_sale_amount: 0, tw_order_quantity: 0 });</script><noscript><img alt='""' height='"1"' src='"https://analytics.x.com/i/adsct?txn_id=ny3od&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0"' style='"display:none;"' width='"1"'/><img alt='""' height='"1"' src='"//t.co/i/adsct?txn_id=ny3od&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0"' style='"display:none;"' width='"1"'/></noscript>",
        "id": "o3bk1",
        "retargeting_enabled": false,
        "last_tracked_at": null,
        "status": "UNVERIFIED",
        "type": "SITE_VISIT",
        "website_tag_id": "ny3od",
        "deleted": false
      },
      "request": {
        "params": {
          "name": "web event tag",
          "view_through_window": 7,
          "click_window": 7,
          "retargeting_enabled": false,
          "account_id": "18ce54d4x5t",
          "type": "SITE_VISIT"
        }
      }
    }
```

<div id="put-accountsaccount_idweb_event_tagsweb_event_tag_id">
  #### PUT accounts/:account\_id/web\_event\_tags/:web\_event\_tag\_id
</div>

현재 계정에 연결된 웹 이벤트 태그를 업데이트합니다.

<div id="resource-url">
  ##### 리소스 URL
</div>

`https://ads-api.x.com/12/accounts/:account_id/web_event_tags/:web_event_tag_id`

#### 매개변수

| Name                                    | Description                                                                                                                                                                                                                                                                                                                                                  |
| :-------------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| account\_id  <br />*required*           | 레버리지 계정(leveraged account)의 식별자입니다. 리소스 경로에 포함되며, [GET accounts](/ko/x-ads-api/campaign-management#accounts)를 제외한 모든 Advertiser API 요청에서 일반적으로 필수 매개변수입니다. 지정한 계정은 인증된 사용자와 연관되어 있어야 합니다.<br /><br />Type: string<br /><br />Example: `18ce54d4x5t`                                                                                                          |
| web\_event\_tag\_id  <br />*required*   | 현재 계정의 웹 태그 식별자입니다.<br /><br />Type: string<br /><br />Example: `o3bk1`                                                                                                                                                                                                                                                                                      |
| click\_window  <br />*optional*         | 이 웹 태그의 클릭 윈도우(기간)입니다.<br /><br />**참고**: 아래에 나열된 값만 허용됩니다.<br /><br />Type: int<br /><br />Possible values: `1`, `7`, `14`, `30`                                                                                                                                                                                                                            |
| name  <br />*optional*                  | 웹 태그의 이름입니다.<br /><br />Type: string<br /><br />Example: `Sample single conversion event`                                                                                                                                                                                                                                                                    |
| retargeting\_enabled  <br />*optional*  | 이 웹 태그에 대해 리타게팅을 활성화할지 여부입니다.<br /><br />Type: boolean<br /><br />Possible values: `true`, `false`                                                                                                                                                                                                                                                           |
| type  <br />*optional*                  | 웹 태그의 유형입니다.<br /><br />Type: enum<br /><br />Possible values: `ADDED_PAYMENT_INFO`, `ADD_TO_CART`, `ADD_TO_WISHLIST`, `CHECKOUT_INITIATED`, `CONTENT_VIEW`, `CUSTOM`, `DOWNLOAD`, `PRODUCT_CUSTOMIZATION`,`PURCHASE`, `SEARCH`, `SIGN_UP`, `SITE_VISIT`, `START_TRIAL`, `SUBSCRIBE`<br /><br />(UI에서는 `SITE_VISIT`이 "Page view"로, `SIGN_UP`은 "Lead"로 표시됩니다) |
| view\_through\_window  <br />*optional* | 이 웹 태그의 뷰스루 윈도우(기간)입니다. 이 값은 항상 `click_window` 값보다 작거나 같아야 합니다.<br /><br />**참고**: 아래에 나열된 값만 허용됩니다.<br /><br />Type: int<br /><br />Possible values: `0`, `1`, `7`, `14`, `30`                                                                                                                                                                              |

#### 요청 예제

`PUT https://ads-api.x.com/12/accounts/18ce54d4x5t/web_event_tags/o3bk1?type=DOWNLOAD`

#### 예시 응답

```json theme={null}
    {
      "data": {
        "name": "web event tag",
        "view_through_window": 7,
        "click_window": 7,
        "embed_code": "<script src='"//platform.x.com/oct.js"' type='"text/javascript"'></script><script type='"text/javascript"'>twttr.conversion.trackPid('ny3od',  { tw_sale_amount: 0, tw_order_quantity: 0 });</script><noscript><img alt='""' height='"1"' src='"https://analytics.x.com/i/adsct?txn_id=ny3od&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0"' style='"display:none;"' width='"1"'/><img alt='""' height='"1"' src='"//t.co/i/adsct?txn_id=ny3od&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0"' style='"display:none;"' width='"1"'/></noscript>",
        "id": "o3bk1",
        "retargeting_enabled": false,
        "last_tracked_at": "2021-05-22T17:00:04Z",
        "status": "UNVERIFIED",
        "type": "DOWNLOAD",
        "website_tag_id": "ny3od",
        "deleted": false
      },
      "request": {
        "params": {
          "web_event_tag_id": "o3bk1",
          "type": "DOWNLOAD",
          "account_id": "18ce54d4x5t"
        }
      }
    }
```

<div id="delete-accountsaccount_idweb_event_tagsweb_event_tag_id">
  #### DELETE accounts/:account\_id/web\_event\_tags/:web\_event\_tag\_id
</div>

현재 계정에 연결된 특정 웹 이벤트 태그를 삭제합니다.

#### 리소스 URL

`https://ads-api.x.com/12/accounts/:account_id/web_event_tags/:web_event_tag_id`

<div id="parameters">
  ##### Parameters
</div>

| Name                                  | Description                                                                                                                                                                                                                       |
| :------------------------------------ | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| account\_id  <br />*required*         | 활용 중인 계정의 식별자입니다. 리소스 경로에 포함되며, [GET accounts](/ko/x-ads-api/campaign-management#accounts)를 제외한 모든 Advertiser API 요청에서 일반적으로 필수 매개변수입니다. 지정된 계정은 인증된 사용자와 연결되어 있어야 합니다.<br /><br />Type: string<br /><br />Example: `18ce54d4x5t` |
| web\_event\_tag\_id  <br />*required* | 현재 계정에 속한 웹 태그의 식별자입니다.<br /><br />Type: string<br /><br />Example: `o3bk1`                                                                                                                                                       |

##### 예시 요청

`DELETE https://ads-api.x.com/12/accounts/18ce54d4x5t/web_event_tags/o3bk1`

<div id="example-response">
  ##### 응답 예시
</div>

```json theme={null}
    {
      "data": {
        "name": "web event tag",
        "view_through_window": 7,
        "click_window": 7,
        "embed_code": "<script src='"//platform.x.com/oct.js"' type='"text/javascript"'></script><script type='"text/javascript"'>twttr.conversion.trackPid('ny3od',  { tw_sale_amount: 0, tw_order_quantity: 0 });</script><noscript><img alt='""' height='"1"' src='"https://analytics.x.com/i/adsct?txn_id=ny3od&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0"' style='"display:none;"' width='"1"'/><img alt='""' height='"1"' src='"//t.co/i/adsct?txn_id=ny3od&p_id=Twitter&tw_sale_amount=0&tw_order_quantity=0"' style='"display:none;"' width='"1"'/></noscript>",
        "id": "o3bk1",
        "retargeting_enabled": false,
        "last_tracked_at": "2021-05-22T17:00:04Z",
        "status": "UNVERIFIED",
        "type": "DOWNLOAD",
        "website_tag_id": "ny3od",
        "deleted": true
      },
      "request": {
        "params": {
          "web_event_tag_id": "o3bk1",
          "account_id": "18ce54d4x5t"
        }
      }
    }
```
