소개
애널리틱스 지표는 파트너와 광고주가 X에서 프로모션하는 콘텐츠의 성과를 파악하는 데 도움을 줍니다. 여기에는 노출 수, 클릭 수, 동영상 조회 수, 지출액 등의 정보가 포함됩니다. 또한 파트너와 광고주는 도달한 오디언스를 다양한 세그먼트로 나눠 상세 지표를 확인할 수 있습니다. Ads API는 캠페인 성과의 상세 지표를 동기(synchronous)와 비동기(asynchronous) 두 가지 방식으로 제공합니다. 동기 애널리틱스 호출의 경우, 요청한 지표가 응답으로 바로 반환됩니다. 비동기 애널리틱스 엔드포인트의 경우, 관련 “작업(job)” 처리가 완료된 후 다운로드 가능한 결과 파일에서 요청한 지표를 확인할 수 있습니다. 동기 엔드포인트는 짧은 기간 범위를 지원하며 실시간 캠페인 최적화에 적합합니다. 비동기 엔드포인트는 훨씬 더 긴 기간 범위를 지원하므로 더 많은 데이터를 가져오는 데 적합해, 리포트 생성이나 과거 데이터 보강에 이상적입니다.자세한 내용
동기식 vs. 비동기식
| 기능 | 동기식 | 비동기식 |
|---|---|---|
| 레이트 제한 | 사용자 수준: 15분당 250건 요청 | 계정 수준: 동시에 최대 100건 작업* |
| 기간 | 7일 | 90일(세그먼트 미적용) 45일(세그먼트 적용) |
| 세분화 | 아니오 | 예 |
| 응답 내용 | 메트릭 데이터 | 작업 처리 상태** |
| 권장 사용 사례 | 실시간 최적화 사용자 인터페이스 요청 | 정기 동기화 과거 데이터 백필 |
- 어느 시점이든 처리 중 상태에 둘 수 있는 작업의 최대 개수를 의미합니다.
사용 사례
- 실시간 최적화: 성과 지표를 활용해 진행 중인 캠페인 업데이트
- 동기화: 정기 일정에 따른 백그라운드 동기화
- 신규 계정 온보딩: 과거 데이터 백필
요청 옵션
- 엔터티: 엔터티 유형과 분석을 요청할 최대 20개의 엔터티 ID
- 시간 범위: ISO 8601 형식의 시작 및 종료 시간
- 참고: 반드시 정시(whole hour) 단위여야 합니다
- 메트릭 그룹: 관련 메트릭의 하나 이상의 집합(각 메트릭 그룹에 포함된 메트릭 목록은 Metrics and Segmentation 참조)
- 세분성: 메트릭이 반환될 집계 수준 지정
- 노출 위치: X 온사이트/오프사이트에서 집행된 광고의 메트릭을 조회할지 결정
- 참고: 요청당 하나의 노출 위치 값만 지정할 수 있습니다
start_time 및 end_time 요청 매개변수로 시간 범위를 지정합니다. 이 값은 아래와 같이 지정한 세분성과 정렬되어야 합니다.
TOTAL: 임의의 시간 범위를 지정(엔드포인트 한도 내)DAY: 시작 시간과 종료 시간 모두 계정의 시간대 기준 자정에 정렬되어야 함HOUR: 임의의 시간 범위를 지정(엔드포인트 한도 내)
start_time=2019-01-01T00:00:00Z, end_time=2019-01-02T00:00:00Z로 요청하면 이 시간 범위가 24시간만 포함하므로 하루치의 분석 메트릭만 반환됩니다(둘이 아님).
세그멘테이션
비동기 분석 엔드포인트에서만 제공되는 세그멘테이션은 파트너와 광고주가 특정 타기팅 값별로 분리된 메트릭을 조회할 수 있도록 합니다. 세그멘테이션된 메트릭을 요청하려면 segmentation_type 요청 매개변수를 사용하세요. 세그멘테이션 옵션에 대한 자세한 내용은 Metrics and Segmentation을 참조하세요.
자주 묻는 질문
- 두 가지 게재 위치 모두에 대한 데이터를 요청했는지 확인하세요:
ALL_ON_TWITTER및PUBLISHER_NETWORK,SPOTLIGHT,TREND. - Ads API의 종료 시간은 배타적이지만, Ads UI에서는 포함됩니다.
- 보고 지표가 사용 가능해지는 즉시 조회할 수 있습니다. 거의 실시간으로 제공됩니다. 다만 이러한 초기 결과는 추정치이므로 변경될 수 있습니다. 지표는 지출 데이터를 제외하고 24시간 후에 확정됩니다.
- 지출 지표는 일반적으로 이벤트 발생 후 3일 이내에 확정됩니다. 다만 청구 데이터는 스팸 필터링 등의 이유로 이벤트 발생일로부터 최대 14일간 처리됩니다.
- Active Entities 엔드포인트를 사용하세요.
null인 이유는 무엇인가요?
- 요청한 기간 동안 캠페인이 집행되지 않았을 가능성이 높습니다.
- 어떤 엔터티에 대해 어떤 기간의 애널리틱스를 가져올지 판단하기 위해 Active Entities 엔드포인트를 사용하세요.
null 값을 보여주는데 UI는 0을 표시하나요?
- UI는 이러한 값을 0으로 표시하도록 선택했을 뿐이며, 값의 의미는 동일합니다.
- 애널리틱스에서 다음 게재 위치 값을 지원합니다:
ALL_ON_TWITTER및PUBLISHER_NETWORK,SPOTLIGHT,TREND(즉, X Audience Platform).
- 가능합니다. 엔터티의 상태는 애널리틱스 지표의 가용성에 영향을 주지 않습니다.
- 이 정보의 산출 방식 때문에 세그먼트된 데이터가 비세그먼트 데이터와 100% 일치하도록 집계되지는 않습니다.
- 다중 세그멘테이션은 지원하지 않습니다.
모범 사례
속도 제한 및 재시도
- 속도 제한이 적용된 쿼리(
HTTP 429상태 코드 반환)에서는x-rate-limit-reset헤더를 확인하고, 표시된 시점에 또는 그 이후에만 재시도해야 합니다. HTTP 503 Service Unavailable상태 코드가 반환된 쿼리에서는retry-after헤더를 확인하고, 표시된 시간 이후에만 재시도해야 합니다.- 지정된 재시도 시간을 준수하지 않는 애플리케이션은 예고 없이 Ads API에 대한 액세스가 취소되거나 제한될 수 있습니다.
분석 메트릭 한눈에 보기
billed_charge_local_micro를 제외한 모든 분석 메트릭은 24시간 후 확정되어 변경되지 않습니다.billed_charge_local_micro메트릭은 데이터가 반환된 후 최대 3일 동안 추정치로 제공됩니다.- 24시간 이후에는 초과 지출에 대한 크레딧(지정된
end_time이후에 게재된 광고)과 정크로 판정된 과금 이벤트에 대한 크레딧으로 인해 이 메트릭이 감소할 수 있습니다. 이 메트릭은 24시간 이후에는 변경 폭이 매우 작습니다. - 자세한 내용은 Analytics를 참조하세요.
실시간 비분할 데이터 가져오기
- 항상
start_time과end_time을 함께 제공하세요. - 7일을 넘은 엔티티의 데이터는 가져오지 마세요.
- 가능하면
HOUR단위로 데이터를 요청하세요. 이후 집계하여DAY와TOTAL단위로 롤업할 수 있습니다. - 가능하면
line_items및promoted_tweets수준에서 데이터를 요청하세요. 이후 해당 지표를 집계해 광고 엔티티 계층 전반(예: 캠페인, 자금 조달 수단, 계정 수준)의 합계를 계산할 수 있습니다. - 분석 지표 값은 로컬에 저장·보관하세요.
- 30일보다 오래된 데이터는 반복 조회하지 마세요. 이 데이터는 변경되지 않으므로 로컬에 저장해야 합니다.
- 모든 비분할 데이터는 실시간이며, 이벤트 발생 후 수초 내에 이용 가능합니다.
- 전환 지표와 비전환 지표는 요청을 분리해 각각 그룹화하세요.
세분화된 데이터 가져오기
- 위의 “실시간 비세분화 데이터 가져오기” 지침을 참고하세요. 추가 안내는 아래에 제공합니다.
- 대부분의 세분화 데이터 유형은 경우에 따라 최대 1시간까지 데이터가 완전하지 않을 수 있습니다.
INTERESTS로 세분화된 데이터는 최대 12시간까지 지연될 수 있습니다. - 해당 정보의 산출 방식상, 세분화 데이터가 비세분화 데이터와 100% 동일하게 합산되지 않을 수 있습니다.
과거 데이터 가져오기
- 데이터 백필(예: 새 광고주 계정을 추가하는 경우)을 할 때는
start_time과end_time구간을 더 작게 나눠 여러 번 요청해야 할 수 있습니다. - 조회 범위를 30일 단위로 제한하세요.
- 요청 속도를 조절하고 시간을 두고 분산해, 해당 조회 작업의 요청 한도를 소진하지 않도록 하세요.
샘플
fetch_stats)는 ads-platform-tools GitHub 리포지토리에서 확인하실 수 있습니다.
목표별 지표
ENGAGEMENTS
ENGAGEMENT 및 BILLING. 크리에이티브에 미디어가 포함된 경우 MEDIA도 해당됩니다.
| 파생 지표 | 노출된 지표 계산식 |
| 참여율 | engagements/impressions |
| CPE | billed_charge_local_micro/engagements |
| 미디어 조회율 | media_views/impressions |
WEBSITE_CLICKS 및 WEBSITE_CONVERSIONS
ENGAGEMENT, BILLING, 그리고 WEB_CONVERSION. 크리에이티브에 미디어가 사용된 경우 MEDIA도 적용됩니다.
| 파생 메트릭 | 노출 메트릭 계산식 |
| CPM | billed_charge_local_micro/impressions/1000 |
| 클릭률 | clicks/impressions |
| CPLC | billed_charge_local_micro/clicks |
| 총 전환 수 | conversion_custom + conversion_site_visits + conversion_sign_ups + conversion_downloads + conversion_purchases |
| 전환율 | 총 전환 수 / impressions |
| CPA | billed_charge_local_micro / 총 전환 수 |
APP_INSTALLS 및 APP_ENGAGEMENTS
ENGAGEMENT, BILLING, MOBILE_CONVERSION, LIFE_TIME_VALUE_MOBILE_CONVERSION. 크리에이티브에서 미디어 또는 비디오 앱 카드가 사용된 경우 MEDIA 및 VIDEO도 해당됩니다.
| 파생 지표 | 공개 지표 계산식 |
| CPM | billed_charge_local_micro/impressions/1000 |
| 앱 클릭률 | app_clicks/impressions |
| CPAC | billed_charge_local_micro/app_clicks |
| CPI | billed_charge_local_micro/mobile_conversion_installs |
FOLLOWERS
ENGAGEMENT 및 BILLING. 크리에이티브에 미디어가 사용된 경우 MEDIA도 해당됩니다.
| 파생 지표 | 노출 지표 계산식 |
| CPM | billed_charge_local_micro/impressions/1000 |
| 팔로우율 | follows/impressions |
| CPF | billed_charge_local_micro/follows |
| 미디어 조회율 | media_views/impressions |
LEAD_GENERATION
ENGAGEMENT 및 BILLING. 크리에이티브에 미디어가 포함된 경우 MEDIA도 해당됩니다.
| 파생 메트릭 | 노출 메트릭 계산식 |
| CPM | billed_charge_local_micro/impressions/1000 |
| 리드 | card_engagements |
| 리드율 | card_engagements/impressions |
| 리드당 비용 | billed_charge_local_micro/card_engagements |
VIDEO_VIEWS
ENGAGEMENT, BILLING, VIDEO
| 파생 메트릭 | 노출 메트릭 계산식 |
| CPM | billed_charge_local_micro/impressions/1000 |
| 동영상 조회율 | video_total_views/impressions |
| 조회당 비용 | billed_charge_local_micro/video_total_views |
VIDEO_VIEWS_PREROLL
ENGAGEMENT, BILLING, VIDEO
| 파생 메트릭 | 공개 메트릭 계산식 |
| CPM | billed_charge_local_micro/impressions/1000 |
| 동영상 조회율 | video_total_views/impressions |
| 조회당 비용(CPV) | billed_charge_local_micro/video_total_views |
지표와 세분화
| 지표 그룹 | |||||||
| 엔터티 | ENGAGEMENT | BILLING | VIDEO | MEDIA | WEB_CONVERSION | MOBILE_CONVERSION | LIFE_TIME_VALUE_MOBILE_CONVERSION |
ACCOUNT | ✔* | ||||||
FUNDING_INSTRUMENT | ✔* | ✔ | |||||
CAMPAIGN | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
LINE_ITEM | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
PROMOTED_TWEET | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
MEDIA_CREATIVE | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
ORGANIC_TWEET | ✔ | ✔ |
ENGAGEMENT 지표 그룹의 일부 지표는 계정 및 자금 조달 수단 수준에서 제공되지 않습니다. 자세한 내용은 ENGAGEMENT 섹션을 참조하세요.
메트릭 그룹별 사용 가능한 메트릭
ENGAGEMENT
| Metric | 설명 | 세분화 가능 여부 | 데이터 유형 | 계정/자금 조달 수단 사용 가능 여부 |
engagements | 총 참여 수 | ✔ | 정수 배열 | ✔ |
impressions | 총 노출 수 | ✔ | 정수 배열 | ✔ |
retweets | 총 리트윗 수 | ✔ | 정수 배열 | ✔ |
replies | 총 답글 수 | ✔ | 정수 배열 | ✔ |
likes | 총 좋아요 수 | ✔ | 정수 배열 | ✔ |
follows | 총 팔로우 수 | ✔ | 정수 배열 | ✔ |
card_engagements | 카드 참여 총계 | ✔ | 정수 배열 | |
clicks | 즐겨찾기 및 기타 참여를 포함한 총 클릭 수 | ✔ | 정수 배열 | |
app_clicks | 앱 설치 또는 실행 시도 수 | ✔ | 정수 배열 | |
| url_clicks | 광고의 링크 또는 웹사이트 카드에 대한 총 클릭 수(획득 트래픽 포함) | ✔ | 정수 배열 | |
qualified_impressions | 유효 노출 총계 | ✔ | 정수 배열 | |
carousel_swipes | 캐러셀 이미지 또는 동영상에서의 총 스와이프 수 | ✔ | 정수 배열 |
BILLING
| 지표 | 설명 | 세분화 가능 | 데이터 타입 |
billed_engagements | 청구 대상 참여 수 총합 | ✔ | 정수 배열 |
billed_charge_local_micro | 마이크로 단위 지역 통화 기준 총 지출액 | ✔ | 정수 배열 |
VIDEO
VIDEO 메트릭 그룹의 video_total_views 메트릭은 최소 2초 동안 화면의 50% 이상이 노출된 조회수를 집계합니다.
기존 동영상 조회 정의(최소 3초 동안 100% 화면 노출 기준)는 VIDEO 메트릭 그룹의 새 video_3s100pct_views 메트릭으로 계속 제공됩니다. 기존 정의에 기반해 입찰 및 과금하려면 새로 제공되는 VIEW_3S_100PCT bid_unit을 사용하세요.
| 메트릭 | 설명 | 세분화 가능 여부 | 데이터 유형 |
video_total_views | 총 동영상 조회수 | ✔ | 정수 배열 |
video_views_25 | 동영상의 최소 25%가 시청된 조회수 합계 | ✔ | 정수 배열 |
video_views_50 | 동영상의 최소 50%가 시청된 조회수 합계 | ✔ | 정수 배열 |
video_views_75 | 동영상의 최소 75%가 시청된 조회수 합계 | ✔ | 정수 배열 |
video_views_100 | 동영상의 100%가 시청된 조회수 합계 | ✔ | 정수 배열 |
video_cta_clicks | 콜투액션 클릭 수 합계 | ✔ | 정수 배열 |
video_content_starts | 동영상 재생 시작 수 합계 | ✔ | 정수 배열 |
video_3s100pct_views | 100% 화면 노출 상태에서 최소 3초 재생된 조회수 합계(레거시 video_total_views) | ✔ | 정수 배열 |
video_6s_views | 동영상의 최소 6초가 시청된 조회수 합계 | ✔ | 정수 배열 |
video_15s_views | 동영상의 최소 15초 또는 전체 길이의 95%가 시청된 조회수 합계 | ✔ | 정수 배열 |
MEDIA
| Metric | Description | Segmentation Available | Data Type |
media_views | 동영상, Vine, GIF, 이미지 전반에서 미디어가 자동 재생 또는 클릭으로 조회된 총 횟수. | ✔ | 정수 배열 |
media_engagements | 동영상, Vine, GIF, 이미지 전반에서 미디어가 클릭된 총 횟수. | ✔ | 정수 배열 |
WEB_CONVERSION
| Metric | Description | Segmentation Available | Data Type |
conversion_purchases | PURCHASE 유형의 전환 횟수와 해당 매출 금액 및 주문 수량 | PLATFORMS only | JSON object |
conversion_sign_ups | SIGN_UP 유형의 전환 횟수와 해당 매출 금액 및 주문 수량 | PLATFORMS only | JSON object |
conversion_site_visits | SITE_VISIT 유형의 전환 횟수와 해당 매출 금액 및 주문 수량 | PLATFORMS only | JSON object |
conversion_downloads | DOWNLOAD 유형의 전환 횟수와 해당 매출 금액 및 주문 수량 | PLATFORMS only | JSON object |
conversion_custom | CUSTOM 유형의 전환 횟수와 해당 매출 금액 및 주문 수량 | PLATFORMS only | JSON object |
MOBILE_CONVERSION
| Metric | 설명 | 세분화 가능 여부 | 데이터 유형 |
mobile_conversion_spent_credits | SPENT_CREDIT 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_installs | INSTALL 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_content_views | CONTENT_VIEW 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_add_to_wishlists | ADD_TO_WISHLIST 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_checkouts_initiated | CHECKOUT_INITIATED 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_reservations | RESERVATION 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_tutorials_completed | TUTORIAL_COMPLETED 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_achievements_unlocked | ACHIEVEMENT_UNLOCKED 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_searches | SEARCH 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_add_to_carts | ADD_TO_CART 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_payment_info_additions | PAYMENT_INFO_ADDITION 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_re_engages | RE_ENGAGE 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_shares | SHARE 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_rates | RATE 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_logins | LOGIN 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_updates | UPDATE 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_levels_achieved | LEVEL_ACHIEVED 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_invites | INVITE 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
mobile_conversion_key_page_views | KEY_PAGE_VIEW 유형의 모바일 전환을 post_view 및 post_engagement 기준으로 세분화한 내역 | ✔ | JSON 객체 |
| mobile_conversion_downloads | DOWNLOAD 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
| mobile_conversion_purchases | PURCHASE 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
| mobile_conversion_sign_ups | SIGN_UP 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
| mobile_conversion_site_visits | SITE_VISIT 유형의 모바일 전환을 post_view, post_engagement, assisted, order_quantity, sale_amount 기준으로 세분화한 내역 | ✔ | JSON 객체 |
LIFE_TIME_VALUE_MOBILE_CONVERSION
| Metric | Description | Segmentation Available | Data Type |
mobile_conversion_lifetime_value_purchases | PURCHASE 유형의 모바일 전환 세부 내역 | JSON object | |
mobile_conversion_lifetime_value_sign_ups | SIGN_UP 유형의 모바일 전환 세부 내역 | JSON object | |
mobile_conversion_lifetime_value_updates | UPDATE 유형의 모바일 전환 세부 내역 | JSON object | |
mobile_conversion_lifetime_value_tutorials_completed | TUTORIAL_COMPLETED 유형의 모바일 전환 세부 내역 | JSON object | |
mobile_conversion_lifetime_value_reservations | RESERVATION 유형의 모바일 전환 세부 내역 | JSON object | |
mobile_conversion_lifetime_value_add_to_carts | ADD_TO_CART 유형의 모바일 전환 세부 내역 | JSON object | |
mobile_conversion_lifetime_value_add_to_wishlists | ADD_TO_WISHLIST 유형의 모바일 전환 세부 내역 | JSON object | |
mobile_conversion_lifetime_value_checkouts_initiated | CHECKOUT_INITIATED 유형의 모바일 전환 세부 내역 | JSON object | |
mobile_conversion_lifetime_value_levels_achieved | LEVEL_ACHIEVED 유형의 모바일 전환 세부 내역 | JSON object | |
mobile_conversion_lifetime_value_achievements_unlocked | ACHIEVEMENT_UNLOCKED 유형의 모바일 전환 세부 내역 | JSON object | |
mobile_conversion_lifetime_value_shares | SHARE 유형의 모바일 전환 세부 내역 | JSON object | |
mobile_conversion_lifetime_value_invites | INVITE 유형의 모바일 전환 세부 내역 | JSON object | |
mobile_conversion_lifetime_value_payment_info_additions | PAYMENT_INFO_ADDITION 유형의 모바일 전환 세부 내역 | JSON object | |
mobile_conversion_lifetime_value_spent_credits | SPENT_CREDIT 유형의 모바일 전환 세부 내역 | JSON object | |
mobile_conversion_lifetime_value_rates | RATE 유형의 모바일 전환 세부 내역 | JSON object |
세분화
MEDIA_CREATIVE 또는 ORGANIC_TWEET 엔터티에서는 지원되지 않습니다.
일부 세분화 유형은 추가 매개변수를 전달해야 합니다. 자세한 내용은 아래를 참고하세요.
CITIES 또는 POSTAL_CODES로 세분화할 때 API는 타깃팅된 위치만 반환합니다. Region 및 Metro 세분화는 타깃팅된 위치와 비타깃팅된 위치 모두를 반환합니다.
| 세분화 유형 | country 매개변수 필요 | platform 매개변수 필요 |
AGE | ||
APP_STORE_CATEGORY | ||
AUDIENCES | ||
CITIES | ✔ | |
CONVERSATIONS | ||
CONVERSION_TAGS | ||
DEVICES | ✔ | |
EVENTS | ||
GENDER | ||
INTERESTS | ||
KEYWORDS | ||
LANGUAGES | ||
LOCATIONS | ||
METROS | ✔ | |
PLATFORMS | ||
PLATFORM_VERSIONS | ✔ | |
POSTAL_CODES | ✔ | |
REGIONS | ✔ | |
SLIDES | ||
SIMILAR_TO_FOLLOWERS_OF_USER | ||
TV_SHOWS |
파생 지표
metric은 Ads API의 analytics 엔드포인트에서 반환되는 지표입니다. 중괄호처럼 보이는 이름({curly brackets})으로 둘러싸인 항목은 해당 범주의 파생 지표를 뜻합니다.
참여
| 파생 지표 | 노출 지표 계산식 |
promoted_tweet_search_impressions + promoted_tweet_timeline_impressions + promoted_tweet_profile_impressions | |
billed_charge_local_micro / {Impressions} / 1000 | |
| {Total Engagements} | promoted_account_follows + promoted_tweet_search_engagements + promoted_tweet_timeline_engagements + promoted_tweet_profile_engagements 또는 promoted_account_follows + promoted_tweet_search_clicks + promoted_tweet_search_replies + promoted_tweet_search_retweets + promoted_tweet_search_follows + promoted_tweet_timeline_clicks + promoted_tweet_timeline_replies + promoted_tweet_timeline_retweets + promoted_tweet_timeline_follows + promoted_tweet_profile_clicks + promoted_tweet_profile_replies + promoted_tweet_profile_retweets + promoted_tweet_profile_follows |
| {Engagement Rate} | {Total Engagements} / {Impressions} |
billed_charge_local_micro / {Total Engagements} | |
| {Media Views} | promoted_tweet_timeline_media_views + promoted_tweet_search_media_views + promoted_tweet_profile_media_views |
| {Media View Rate} | {Media Views} / {Impressions} |
WEBSITE_CLICKS
| 파생 지표 | 노출 지표 계산식 |
promoted_tweet_search_impressions + promoted_tweet_timeline_impressions + promoted_tweet_profile_impressions | |
billed_charge_local_micro / {Impressions} / 1000 | |
| {Link Clicks} | promoted_tweet_search_url_clicks + promoted_tweet_timeline_url_clicks + promoted_tweet_profile_url_clicks |
| {Click Rate} | {Link Clicks} / {Impressions} |
billed_charge_local_micro / {Link Clicks} | |
conversion_site_visits | |
| {Conversion Rate} | conversion_site_visits / {Impressions} |
billed_charge_local_micro / conversion_site_visits |
APP_INSTALLS 및 APP_ENGAGEMENTS
| 파생 지표 | 노출 지표 계산식 |
promoted_tweet_search_impressions + promoted_tweet_timeline_impressions | |
billed_charge_local_micro / {Impressions} / 1000 | |
| {App Clicks} | promoted_tweet_app_install_attempts + promoted_tweet_app_open_attempts + promoted_tweet_timeline_url_clicks + promoted_tweet_search_url_clicks |
| {App Click Rate} | {App Clicks} / {Impressions} |
billed_charge_local_micro / {App Clicks} | |
billed_charge_local_micro / mobile_conversion_installs |
팔로워
| 파생 지표 | 노출 지표 계산 방식 |
promoted_account_impressions | |
billed_charge_local_micro / {Impressions} / 1000 | |
promoted_account_follows | |
| {Follow Rate} | promoted_account_follow_rate |
billed_charge_local_micro / promoted_account_follows | |
| {Media Views} | promoted_tweet_timeline_media_views + promoted_tweet_search_media_views + promoted_tweet_profile_media_views |
| {Media View Rate} | {Media Views} / {Impressions} |
LEAD_GENERATION
| 파생 지표 | 산출 방식 |
promoted_tweet_search_impressions + promoted_tweet_timeline_impressions + promoted_tweet_profile_impressions | |
billed_charge_local_micro / {Impressions} / 1000 | |
promoted_tweet_search_card_engagements + promoted_tweet_timeline_card_engagements + promoted_tweet_profile_card_engagements | |
| {Lead Rate} | {Leads} / {Impressions} |
| {Cost Per Lead} | billed_charge_local_micro / {Leads} |
VIDEO_VIEWS
| 파생 지표 | 노출 지표 산출식 |
promoted_tweet_search_impressions + promoted_tweet_timeline_impressions + promoted_tweet_profile_impressions | |
billed_charge_local_micro / {Impressions} / 1000 | |
| {Video Views} | promoted_video_total_views |
| {Video Rate} | promoted_video_total_views / {Impressions} |
| {Cost Per View} | billed_charge_local_micro / promoted_video_total_views |
QUALIFIED_IMPRESSIONS
| 파생 지표 | 산출 지표 계산식 |
promoted_tweet_search_impressions + promoted_tweet_timeline_impressions + promoted_tweet_profile_impressions | |
billed_charge_local_micro / {Impressions} / 1000 | |
| {Qualified Impressions} | promoted_tweet_timeline_qualified_impressions + promoted_tweet_search_qualified_impressions + promoted_tweet_profile_qualified_impressions |
| {Qualified Impression Rate} | {Qualified Impressions} / {Impressions} |
| {Cost Per 1000 Qualified Impressions } | billed_charge_local_micro / {Qualified Impressions} / 1000 |
사용자 지정
PROMOTED_ACCOUNT의 placement_type에 대해서는 위의 FOLLOWERS 목표를 참조하세요. 이 목표에 해당하는 다른 모든 게재 위치의 경우, 해당 파생 지표는 ENGAGEMENTS를 확인하세요.
안내서
활성 엔터티
소개
데이터
엔드포인트
요청
entity, start_time, end_time가 필요합니다.
twurl -H ads-api.x.com "/11/stats/accounts/18ce54d4x5t/active_entities?entity=PROMOTED_TWEET&start_time=2019-03-05T00:00:00Z&end_time=2019-03-06T00:00:00Z"
지원되는 entity 값은 CAMPAIGN, FUNDING_INSTRUMENT, LINE_ITEM, MEDIA_CREATIVE, PROMOTED_ACCOUNT, PROMOTED_TWEET입니다. 이는 애널리틱스 엔드포인트가 지원하는 엔터티 유형을 반영합니다.
start_time과 end_time 값은 ISO 8601 형식으로 지정해야 하며, 조회할 시간별 버킷을 명시합니다. 두 값 모두 정시 단위로만 표현되어야 합니다.
이 엔드포인트는 결과 필터링에 사용할 수 있는 선택적 매개변수 funding_instrument_ids, campaign_ids, line_item_ids도 지원합니다. 이는 광고 계층의 모든 수준에서, 지정한 어떤 entity 유형과도 함께 작동합니다.
응답
data 배열에는 이후 애널리틱스 요청에 포함해야 하는 각 엔터티별 객체가 들어 있습니다. 이 집합에 없는 ID에 대해서는 애널리틱스를 요청하지 마세요.
각 객체에는 네 가지 필드가 있습니다: entity_id, activity_start_time, activity_end_time, placements. 활동 시작 및 종료 시간은 해당 엔터티의 변경 이벤트가 적용되는 기간을 의미하며, 이에 따라 이후 애널리틱스 요청에서 지정해야 할 날짜가 결정됩니다. placements 배열에는 ALL_ON_TWITTER, PUBLISHER_NETWORK, SPOTLIGHT, TREND 값을 포함할 수 있습니다. 이는 해당 엔터티 ID에 대해 어떤 노출 위치를 요청해야 하는지를 나타냅니다.
사용
Active Entities 엔드포인트는 분석 요청 방식을 결정하는 기준이 됩니다. 아래 사용 지침은 분석 동기화를 지원하기 위해 작성되었으며, 파트너가 Twitter와 데이터 저장소를 동기화 상태로 유지하도록 돕습니다. 즉, 정기적으로 예약된 백그라운드 동기화를 수행하는 방법을 설명합니다. 개발자가 내려야 할 결정은 두 가지입니다.- 활성 엔터티 정보를 얼마나 자주 요청할지, 그리고 이에 따라 분석 데이터를 얼마나 자주 끌어올지.
- 활동 시작 및 종료 시간을 사용해 분석 요청의
start_time및end_time값을 어떻게 결정할지.
요약
- Active Entities 요청을 보냅니다.
- 응답을 placement별로 나눕니다.
ALL_ON_TWITTER용 그룹 하나,PUBLISHER_NETWORK용 하나,SPOTLIGHT용 하나,TREND용 하나를 만듭니다. - 각 placement 그룹에 대해 다음을 수행합니다.
- 엔터티 ID를 추출합니다.
- 애널리틱스
start_time및end_time값을 정합니다.- 최소
activity_start_time을 찾고, 이 값을 내림합니다. - 최대
activity_end_time을 찾고, 이 값을 올림합니다.
- 최소
- 애널리틱스 요청을 보냅니다.
- 엔터티 ID를 20개씩 배치로 묶습니다.
- 3-b에서 구한
start_time과end_time값을 사용합니다. - 적절한
placement값을 지정합니다.
- 데이터 저장소에 저장합니다.
빈도
start_time이 직전 요청의 end_time과 같도록 시간 범위를 선택해야 합니다.
참고: 하나의 시간 구간은 한 번만 요청해야 합니다. 동일한 시간 구간을 두 번 이상 요청하면 불필요한 분석 요청이 발생합니다. (아래 예외 참조.)
| 요청 시각 | start_time 타임스탬프 | end_time 타임스탬프 |
| 00:15:00 | 00:00:00 | 00:15:00 |
| 00:30:00 | 00:15:00 | 00:30:00 |
| 00:45:00 | 00:30:00 | 00:45:00 |
| 01:00:00 | 00:45:00 | 01:00:00 |
활동 시간
activity_start_time과 최대 activity_end_time을 찾습니다. 최소 활동 시작 시간은 내림하고 최대 활동 종료 시간은 올림하여 값을 조정합니다. 구체적으로 둘 다 시각을 0으로 설정하고 종료 시간에는 하루를 추가합니다. 아래 표에 예시가 나와 있습니다. 이렇게 산출된 시작 및 종료 시간을 이후 분석 요청에 지정해야 합니다.
| 최소, 최대 활동 시간 | 산출된 시간 |
| 2019-03-04T20:55:20Z 2019-03-05T14:40:59Z | 2019-03-04T00:00:00Z 2019-03-06T00:00:00Z |
DAY 세분성을 지정한 경우 이러한 범위는 허용되지 않습니다.)
예시
start_time과 end_time 값은 각각 2019-02-11T00:00:00Z와 2019-02-12T00:00:00Z로 설정됩니다. 활성 엔터티 정보를 바탕으로 예상한 대로, 아래 각 메트릭 배열의 세 번째 요소가 0이 아님을 확인할 수 있습니다.
비동기 안내서
API 레퍼런스
비동기식 애널리틱스
소개
사용 방법
- POST stats/jobs/accounts/:95 엔드포인트를 사용하여 작업을 생성합니다.
- 작업 처리 완료 여부를 확인하기 위해 일정한 간격으로 GET stats/jobs/accounts/:95 엔드포인트에 요청을 보냅니다.
- 작업 처리가 완료되면 데이터 파일을 다운로드합니다.
- 데이터 파일의 압축을 해제합니다.
segmentation_type 요청 매개변수를 사용하세요.
예시
id와 id_str 응답 속성 모두에 표시됩니다.
다음으로, 이전 응답의 id_str를 사용해 생성한 작업이 응답에서 "status": "SUCCESS"로 표시되듯 처리 완료되었는지 확인해야 합니다. 이는 데이터가 다운로드할 준비가 되었음을 의미합니다. url 필드에는 다운로드 링크가 포함됩니다.
job_ids 매개변수를 사용하는 것이 좋습니다.
다음으로, 표시된 url 값으로 데이터 파일을 다운로드하세요.
도달률 및 평균 노출 빈도
GET stats/accounts/:account_id/reach/campaigns
지정한 캠페인의 도달 범위와 평균 노출 빈도 지표를 조회합니다.https://ads-api.x.com/stats/accounts/:95/reach/campaigns
매개변수
| Name | Description |
|---|---|
| account_id required | 사용 중인 계정의 식별자입니다. 리소스 경로에 포함되며, GET accounts를 제외한 모든 Advertiser API 요청에서 일반적으로 필수 매개변수입니다. 지정한 계정은 인증된 사용자와 연결되어 있어야 합니다. Type: string Example: 18ce54d4x5t |
| campaign_ids required | 쉼표로 구분된 식별자 목록을 지정하여 응답을 원하는 캠페인으로만 제한합니다. 최대 20개의 ID를 제공할 수 있습니다. Note: 최대 20개의 캠페인 ID를 제공할 수 있습니다. Type: string Example: 8fgzf |
| end_time required | 가져올 데이터를 ISO 8601 형식으로 표현된 지정된 종료 시각으로 한정합니다. Note: 정시(분 0, 초 0)로 표현해야 합니다. Type: string Example: 2017-05-26T07:00:00Z |
| start_time required | 가져올 데이터를 ISO 8601 형식으로 표현된 지정된 시작 시각으로 한정합니다. Note: 정시(분 0, 초 0)로 표현해야 합니다. Type: string Example: 2017-05-19T07:00:00Z |
GET https://ads-api.x.com/12/stats/accounts/18ce54d4x5t/reach/campaigns?campaign_ids=8fgzf&start_time=2017-05-19&end_time=2017-05-26
GET stats/accounts/:account_id/reach/funding_instruments
지정된 펀딩 인스트루먼트에 대한 도달률(reach) 및 평균 노출 빈도(average frequency) 분석을 조회합니다.https://ads-api.x.com/stats/accounts/:95/reach/funding_instruments
매개변수
| 이름 | 설명 |
|---|---|
| account_id required | 활용 중인 계정의 식별자입니다. 리소스 경로에 포함되며, GET accounts를 제외한 모든 Advertiser API 요청에서 일반적으로 필수 매개변수입니다. 지정한 계정은 인증된 사용자와 연동되어 있어야 합니다. 유형: string 예시: 18ce54d4x5t |
| funding_instrument_ids required | 쉼표로 구분된 식별자 목록을 지정하여 응답을 원하는 결제 수단으로만 제한합니다. 최대 20개의 ID를 제공할 수 있습니다. 참고: 결제 수단 ID는 최대 20개까지 제공할 수 있습니다. 유형: string 예시: lygyi |
| end_time required | ISO 8601 형식의 종료 시간으로 조회 데이터를 제한합니다. 참고: 반드시 정시(분 0, 초 0)로 표기해야 합니다. 유형: string 예시: 2017-05-26T07:00:00Z |
| start_time required | ISO 8601 형식의 시작 시간으로 조회 데이터를 제한합니다. 참고: 반드시 정시(분 0, 초 0)로 표기해야 합니다. 유형: string 예시: 2017-05-19T07:00:00Z |
예시 응답
동기식 분석
GET stats/accounts/:account_id
현재 계정의 동기식 분석 데이터를 조회합니다. 허용되는 최대 시간 범위(end_time - start_time)는 7일입니다.
https://ads-api.x.com/12/stats/accounts/:95
매개변수
| 이름 | 설명 |
|---|---|
| account_id 필수 | 활용 계정의 식별자입니다. 리소스 경로에 포함되며 GET accounts를 제외한 모든 Advertiser API 요청에서 일반적으로 필수 매개변수입니다. 지정된 계정은 인증된 사용자와 연결되어 있어야 합니다. 유형: string 예시: 18ce54d4x5t |
| end_time 필수 | ISO 8601로 표현한 지정된 종료 시점으로 조회 데이터를 제한합니다. 참고: 반드시 정시(분 0, 초 0)로 표현해야 합니다. 유형: string 예시: 2017-05-26T07:00:00Z |
| entity 필수 | 데이터를 조회할 엔터티 유형입니다. 유형: enum 가능한 값: ACCOUNT, CAMPAIGN, FUNDING_INSTRUMENT, LINE_ITEM, ORGANIC_TWEET, PROMOTED_ACCOUNT, PROMOTED_TWEET, MEDIA_CREATIVE |
| entity_ids 필수 | 데이터를 조회할 특정 엔터티입니다. 쉼표로 구분한 엔터티 ID 목록을 지정합니다. 참고: 최대 20개의 엔터티 ID를 제공할 수 있습니다. 유형: string 예시: 8u94t |
| granularity 필수 | 조회 데이터의 세분화 수준을 지정합니다. 유형: enum 가능한 값: DAY, HOUR, TOTAL |
| metric_groups 필수 | 반환할 메트릭 그룹입니다. 쉼표로 구분한 메트릭 그룹 목록을 지정합니다. 자세한 내용은 Metrics and Segmentation을 참조하세요. 참고: MOBILE_CONVERSION 데이터는 별도로 요청해야 합니다.유형: enum 가능한 값: BILLING, ENGAGEMENT, LIFE_TIME_VALUE_MOBILE_CONVERSION, MEDIA, MOBILE_CONVERSION, VIDEO, WEB_CONVERSION |
| placement 필수 | 조회 데이터를 특정 게재 위치로 제한합니다. 참고: 요청당 하나의 값만 허용됩니다. X와 X Audience Platform 모두에 게재되는 엔터티의 경우 게재 위치 값별로 각각 별도의 요청이 필요합니다. 유형: enum 가능한 값: ALL_ON_TWITTER, PUBLISHER_NETWORK, SPOTLIGHT, TREND |
| start_time 필수 | ISO 8601로 표현한 지정된 시작 시점으로 조회 데이터를 제한합니다. 참고: 반드시 정시(분 0, 초 0)로 표현해야 합니다. 유형: string 예시: 2017-05-19T07:00:00Z |
예시 요청
예시 응답
활성 엔터티
GET stats/accounts/:account_id/active_entities
지정된 기간 동안 어떤 엔터티의 애널리틱스 지표가 변경되었는지에 대한 세부 정보를 가져옵니다. 이 엔드포인트는 당사의 애널리틱스 엔드포인트와 함께 사용해야 합니다. 이 엔드포인트의 결과는 어떤 광고 엔터티에 대해 애널리틱스를 요청해야 하는지 보여줍니다. 사용 지침은 Active Entities 가이드를 참조하세요. 변경 이벤트는 시간 단위 버킷으로 제공됩니다.start_time및end_time값은 조회할 시간 단위 버킷을 지정합니다.- 반환되는
data배열에는 이후 애널리틱스 요청에 포함해야 하는 각 엔터티의 객체가 포함됩니다. - 중요: 이후 애널리틱스 요청에서 지정해야 하는 날짜는
activity_start_time및activity_end_time값을 기준으로 결정해야 합니다.- 이 값은 저장된 변경 이벤트가 적용되는 시간 범위를 나타냅니다. 이는 엔터티별로 반환됩니다.
end_time - start_time)는 90일입니다.
https://ads-api.x.com/12/stats/accounts/:95/active_entities
| Name | Description |
|---|---|
| account_id required | 대상 계정의 식별자입니다. 리소스 경로에 포함되며, GET accounts를 제외한 모든 Advertiser API 요청에서 일반적으로 필수 매개변수입니다. 지정한 계정은 인증된 사용자와 연결되어 있어야 합니다. Type: string Example: 18ce54d4x5t |
| end_time required | 조회된 데이터의 범위를 ISO 8601로 표현된 지정 종료 시각으로 제한합니다. Note: 반드시 정시(분 0, 초 0)로 표현해야 합니다. Type: string Example: 2017-05-26T07:00:00Z |
| entity required | 데이터를 조회할 엔터티 유형입니다. Type: enum Possible values: CAMPAIGN, FUNDING_INSTRUMENT, LINE_ITEM, MEDIA_CREATIVE, PROMOTED_ACCOUNT, PROMOTED_TWEET |
| start_time required | 조회된 데이터의 범위를 ISO 8601로 표현된 지정 시작 시각으로 제한합니다. Note: 반드시 정시(분 0, 초 0)로 표현해야 합니다. Type: string Example: 2017-05-19T07:00:00Z |
| campaign_ids optional | 쉼표로 구분된 식별자 목록을 지정하여, 원하는 캠페인과 연관된 엔터티로만 응답을 제한합니다. 최대 200개의 ID를 제공할 수 있습니다. Note: funding_instrument_ids 및 line_item_ids와 상호 배타적입니다.Type: string Example: 8wku2 |
| funding_instrument_ids optional | 쉼표로 구분된 식별자 목록을 지정하여, 원하는 자금 조달 수단과 연관된 엔터티로만 응답을 제한합니다. 최대 200개의 ID를 제공할 수 있습니다. Note: campaign_ids 및 line_item_ids와 상호 배타적입니다.Type: string Example: lygyi |
| line_item_ids optional | 쉼표로 구분된 식별자 목록을 지정하여, 원하는 라인 아이템과 연관된 엔터티로만 응답을 제한합니다. 최대 200개의 ID를 제공할 수 있습니다. Note: campaign_ids 및 line_item_ids와 상호 배타적입니다.Type: string Example: 8v7jo |
GET https://ads-api.x.com/12/stats/accounts/18ce54d4x5t/active_entities?entity=PROMOTED_TWEET&start_time=2019-02-28&end_time=2019-03-01