어떻게 도와드릴까요?

Data Locker에서 웹 성과 측정 리포트 데이터 내보내기

  • 업데이트 시간

한눈에 보기: 웹사이트 성과를 적절한 수준에서 분석할 수 있도록, Data Locker에서 웹 성과 측정 데이터를 2가지 리포트 유형으로 내보내기할 수 있습니다. 모든 방문과 이벤트를 분석하려면 최종 사용자 이벤트를 사용하고, 고유한 전환 기준점(첫 방문, 재방문, 사용자 획득 이벤트)의 수를 집계하고 어트리뷰션하려면 전환을 사용하세요.

중요! Data Locker에서 웹 성과 측정 리포트를 사용하려면 Data Locker를 구독해야 합니다.

웹 성과 측정 리포트 정보

Data Locker는 서로 다른 분석 니즈에 맞추어 설계된 2가지 웹 성과 측정 리포트인 퇴종 사용자 이벤트와 전환을 제공합니다.

  • 최종 사용자 이벤트 리포트는 웹사이트 액티비티를 분석하는 기본 소스입니다.
    • 모든 웹 이벤트와 방문 포함
    • 각 방문을 어트리뷰션된 세션으로 기록
    • 방문 수준 및 이벤트 수준 리포팅에 적합
  • 전환 리포트는 전환 수준 분석에 가장 적합합니다. 전환은 마케팅 기여도를 언제, 어떻게 부여할지 결정하는 접점이자 어트리뷰션 기준점입니다. 여기에는 다음이 포함됩니다:
    • 최초 방문 (사용자가 처음으로 웹사이트에 방문하는 경우),
    • 재방문 (논오가닉 광고 인게이지먼트 후 사용자가 다시 방문하는 경우), 그리고
    • 사용자 유입 이벤트 (가입 또는 첫 입금과 같은 사용자 지정 이벤트)로, 사용자가 유입되는 경우
  • 모든 사용자 이벤트는 이후 이러한 전환에 연결되며, 해당 캠페인 상세 정보를 상속받습니다.

Data Locker 고급 리포트 인터페이스에는 별도의 웹 성과 측정 리포트 옵션으로 참여와 크로스 플랫폼 최종 사용자 이벤트도 표시됩니다. 본 문서에서는 대부분의 웹 성과 측정 분석에 사용되는 두 가지 리포트인 최종 사용자 이벤트와 전환에 대해 다룹니다.

웹 성과 측정 리포트 선택

웹 성과 측정 데이터를 내보내기 전에 Data Locker에서 관련 리포트를 선택하세요.

  1. 앱스플라이어의 사이드 메뉴에서 내보내기 > Data Locekr를 선택합니다.
  2. 고급 보고서 탭을 클릭합니다.
  3. 웹 성과 측정 리포트 목록에서 최종 사용자 이벤트 또는 전환을 선택하세요.
  4. 구성 저장을 클릭하세요.

리포트 필드

리포트에 어떤 필드가 포함되어 있는지 확인하려면 각 리포트의 샘플을 다운로드하세요:

샘플 리포트에는 모든 리포트 필드와 해당 값이 포함되어 있습니다. 필드 정의는 필드 사전을 참조하세요.

리포트 제공 시점 및 데이터 최신성

새 데이터가 추가되는 시점과 최근 이벤트를 리포트에서 확인할 수 있는 시점을 이해하려면 다음 세부 정보를 참고하세요.

  • 리포트 생성 주기: 새 데이터는 매시간 추가됩니다.
  • 데이터 최신성: 이벤트는 일반적으로 발생 후 2~3시간 내에 리포트에 표시됩니다.

각 배치는 다음과 같이 작동합니다:

  • 각 배치는 1.5시간 기간의 이벤트를 처리합니다.
  • 해당 기간 내에서는 이벤트 중 처음 한 시간만 어트리뷰션됩니다.
  • 나머지 30분은 어트리뷰션된 이벤트에 고객 사용자 ID(CUID)를 추가하는 데만 사용됩니다.
  • 가장 최근 30분의 이벤트는 아직 어트리뷰션되지 않으며 다음 배치에 포함됩니다.

이 이벤트는 언제 리포트에 표시되나요?

이벤트는 처리가 완료된 후 리포트에 기록됩니다. 예를 들어 08:00–09:00 사이에 발생하고 오전 10:00 배치에서 어트리뷰션된 이벤트는 오전 11:00 리포트 버전에 표시됩니다.

예시: 오전 10:00 배치에서 수행하는 작업

날짜 리포트 제공 시간 어트리뷰션된 웹 이벤트(이벤트 시간) 이전 이벤트에 CUID를 보강하기 위해 처리된 웹 이벤트
2026-01-28 11:00 08:00 – 09:00 09:00–09:30
2026-01-28 12:00 09:00 – 10:00 10:00–10:30
2026-01-28 13:00 10:00 – 11:00 10:00-11:30

클라우드 버켓에서 리포트 데이터 다운로드하기

클라우드 버켓에서 리포트 데이터를 다운로드하는 방법에 대한 자세한 내용은 Data Locker 폴더 구조를 참조하세요.

BI 개발자 고려사항

주요 차이점: Web vs. Mobile

웹 어트리뷰션은 식별자와 데이터 로직 측면에서 모두 모바일 어트리뷰션과 다릅니다. 데이터 정확도를 높이려면 쿼리에 다음 필터와 모범 사례를 적용하세요.

항목 모바일 웹
플랫폼 필터 platform = 'IOS' 또는 platform = 'ANDROID' platform = 'WEBSITE'
사용자 식별자(값) appsflyer_id (기기 기반) appsflyer_id_value (쿠키 기반)
식별자 유형 기기에 따라 다름 appsflyer_id_type는 항상 web_id입니다
유입 이벤트 설치 기본값은 최초 방문이지만, 사용자 유입 이벤트는 사용자 지정할 수 있습니다
리인게이지먼트 RE-ENGAGEMENT REVISIT
리어트리뷰션 지원됨 지원되지 않음 - 웹에는 사용자 유입과 재방문만 있습니다
앱 ID App ID(예: id123456789) 접두사가 포함된 도메인(예: website-www.example.com)
어떤 표를 쿼리할까요?

최종 사용자 이벤트 리포트는 대부분의 분석에 적합합니다. 모든 웹사이트 이벤트와 방문이 포함됩니다. 각 웹 방문 역시 이 리포트에 어트리뷰션된 SESSION으로 기록되므로, 방문 단위 및 이벤트 단위 리포팅을 위한 기본 데이터 소스로 활용할 수 있습니다.

전환 테이블은 중복 이벤트 기록 없이 고유한 전환 데이터만 필요할 때, 주로 첫 방문, 재방문, 사용자 획득 수를 집계하는 데 적합합니다.

사용 사례 테이블 이유
방문/세션 집계 end_user_events 각 행은 세션 또는 이벤트입니다
고유 전환 집계 conversions 중복 방지
인앱 이벤트 분석 end_user_event_type = 'IN_APP' 조건이 적용된 end_user_events 인앱 이벤트만 이벤트 이름이 있습니다.
쿼리 필터 구현

로우 데이터 쿼리가 정확한지 확인하려면 다음 필터를 적용하세요. 이를 구현하지 않을 경우 중복 엔트리가 발생하고 플랫폼 간 지표가 혼재될 수 있습니다.

  • 플랫폼별 필터링(필수): 웹에서 발생한 데이터만 분류하고 모바일, PC 또는 CTV 환경의 기록을 제외하려면 WHERE platform = 'WEBSITE'를 포함하세요.
  • 어트리뷰션 기여도별 필터링(필수): 리포팅 뷰에 따라 앱스플라이어가 동일한 사용자 액션에 두 가지 서로 다른 어트리뷰션 기여도를 부여할 수 있으므로, 해당 액션이 end_user_events에 2번 표시될 수 있습니다.

    다음과 같은 경우 이런 현상이 발생할 수 있습니다:

    • 초기 사용자 획득(UA) 소스, 그리고 이후
    • 리인게이지먼트 소스가 있는 경우.

    이 경우 앱스플라이어는 동일한 이벤트에 대해 2개의 레코드를 기록할 수 있습니다.

    • 기본 기여도: 가장 최근에 발생한 관련 마케팅 상호작용에 이벤트를 어트리뷰션합니다. 통합 보기와 리타겟팅 보기에서 사용됩니다.

      중복 집계를 방지하려면 기본적으로 기본 크레딧 레코드만 사용하여 end_user_events를 쿼리하세요:

      WHERE platform = 'WEBSITE'
        AND is_primary_attribution = true
    • 보조 기여도: 이벤트를 최초의 UA 소스로 다시 어트리뷰션합니다. LTV(평생 가치) 측정을 위해 사용자 유입 뷰에서 사용됩니다.

      동일한 사용자 액션이 두 개의 레코드(기본 기여도 1건, 보조 기여도 1건)로 저장될 수 있기 때문에, 필터 없이 이벤트를 집계하면 해당 액션이 중복 집계될 수 있습니다.

      BigQuery 또는 기타 BI 도구에서 웹 어트리뷰션 데이터를 분석할 때 이 쿼리를 템플릿으로 사용하세요.

  • 전환 유형별 필터링(선택 사항): 캠페인 유형에 따라 어트리뷰션 데이터를 분리하려면 WHERE conversion_type = 'USER_ACQUISITION' 또는 WHERE conversion_type = 'RETARGETING'를 포함하세요.

필터 요약 표

필터 요구 사항 SQL 로직 구현 컨텍스트
플랫폼 사양 WHERE platform = 'WEBSITE' 웹에서 발생한 데이터를 다른 플랫폼 레코드와 분리합니다.
통합 보기(중복 방지) WHERE is_primary_attribution = true AND platform = 'WEBSITE' 초기 UA 캠페인보다 리타겟팅 캠페인의 기여도를 우선시합니다. 중복 집계를 방지하기 위해 일반 리포팅에 사용하세요.
리타겟팅 보기 전용 WHERE conversion_type = 'RETARGETING' AND platform = 'WEBSITE' 리타겟팅 캠페인의 성과만을 독립적으로 분석할 때 특별히 사용하세요.
사용자 유입 보기 전용 WHERE conversion_type = 'USER_ACQUISITION' AND platform = 'WEBSITE' 이벤트가 반드시 최초 방문에 연결되어야 하는 신규 사용자 획득 중심의 뷰에 특히 활용하세요.
최종 사용자 식별 및 수 집계

웹 성과 측정 로우 데이터에서 최종 사용자는 두 가지 서로 다른 식별자로 표시될 수 있습니다:

  • customer_user_id: 직접 설정하는 안정적인 식별자입니다(일반적으로 로그인한 사용자를 대상).
  • appsflyer_id_value: 시간이 지나면 만료될 수 있는 쿠키 기반 ID입니다.

고유 사용자를 올바르게 식별하고 사용자 단위 지표를 계산하려면 항상 다음을 사용하세요.

COALESCE(customer_user_id, appsflyer_id_value)

작동 방식은 다음과 같습니다.

  • customer_user_id가 있으면 앱스플라이어가 이를 사용합니다(우선 적용되며 안정적임).
  • 없으면 앱스플라이어가 appsflyer_id_value로 대체합니다.

다음이 필요할 때는 언제든 COALESCE(customer_user_id, appsflyer_id_value)를 사용하세요.

  • 고유 사용자 수 계산
  • 사용자별 그룹화
  • 특정 사용자로 필터링
  • 사용자 기준으로 표 조인
  • 모든 사용자 수준 지표 계산

예시: 고유 사용자 수 계산

SELECT 
  COUNT(DISTINCT COALESCE(customer_user_id, appsflyer_id_value)) AS unique_users
FROM `end_user_events`
WHERE platform = 'WEBSITE'
  AND is_primary_attribution = TRUE
오가닉 vs. 논오가닉 트래픽

is_organic 필드를 사용하세요:

트래픽 유형 필터
오가닉 is_organic = true
논오가닉 is_organic = false
빈 값 처리
데이터 유형 빈 값
스트링 '' (빈 스트링)
숫자 NULL
쿼리 예시
1. 미디어소스별 총 방문 수(7일)

각 미디어 소스에 어트리뷰션된 웹 세션 수를 집계합니다.

SELECT media_source, COUNT(*) AS total_visits
FROM end_user_events
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND is_primary_attribution = true
  AND end_user_event_type = 'SESSION'
GROUP BY media_source
ORDER BY total_visits DESC
2. 캠페인별 최초 방문 및 재방문
SELECT campaign_name, conversion_name, COUNT(*) AS conversion_count
FROM conversions
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND conversion_name IN ('FIRST_VISIT', 'REVISIT')
GROUP BY campaign_name, conversion_name
ORDER BY conversion_count DESC
3. 고유 이벤트 이름 수 집계(인앱 이벤트만)
SELECT
  event_name,
  COUNT(*) AS event_count
FROM end_user_events
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND is_primary_attribution = true
  AND end_user_event_type = 'IN_APP'
GROUP BY event_name
ORDER BY event_count DESC
4. 미디어 소스별 고유 사용자 수 집계
SELECT
  media_source,
  COUNT(DISTINCT COALESCE(customer_user_id, appsflyer_id_value)) AS unique_users
FROM end_user_events
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND is_primary_attribution = true
GROUP BY media_source
ORDER BY unique_users DESC
5. 전환율 - 최초 방문에서 구매까지(교차 표 조인)
WITH first_visits AS (
  SELECT
    COALESCE(customer_user_id, appsflyer_id_value) AS user_id,
    media_source
  FROM conversions
  WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
    AND platform = 'WEBSITE'
    AND unified_app_id = 'website-example.com'
    AND conversion_name = 'FIRST_VISIT'
),
purchases AS (
  SELECT DISTINCT
    COALESCE(customer_user_id, appsflyer_id_value) AS user_id
  FROM end_user_events
  WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
    AND platform = 'WEBSITE'
    AND unified_app_id = 'website-example.com'
    AND is_primary_attribution = true
    AND end_user_event_type = 'IN_APP'
    AND event_name = 'purchase'
)
SELECT
  fv.media_source,
  COUNT(DISTINCT fv.user_id) AS first_visit_users,
  COUNT(DISTINCT p.user_id) AS purchasers,
  SAFE_DIVIDE(COUNT(DISTINCT p.user_id), COUNT(DISTINCT fv.user_id)) AS conversion_rate
FROM first_visits fv
LEFT JOIN purchases p ON fv.user_id = p.user_id
GROUP BY fv.media_source
ORDER BY conversion_rate DESC
6. 캠페인별 수익(최근 7일)
SELECT
  campaign_name,
  media_source,
  SUM(revenue_usd) AS total_revenue_usd,
  COUNT(*) AS revenue_events
FROM end_user_events
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND is_primary_attribution = true
  AND revenue_usd IS NOT NULL
  AND revenue_usd <> 0.0
GROUP BY campaign_name, media_source
ORDER BY total_revenue_usd DESC
일자별 오가닉 vs. 논오가닉 최초 방문
SELECT
  DATE(event_time) AS visit_date,
  CASE WHEN is_organic = true THEN 'Organic' ELSE 'Non-Organic' END AS traffic_type,
  COUNT(*) AS first_visits
FROM conversions
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND conversion_name = 'FIRST_VISIT'
GROUP BY visit_date, traffic_type
ORDER BY visit_date, traffic_type
8. 신규 사용자 유입 vs. 리타겟팅 분석
SELECT
  conversion_type,
  conversion_name,
  COUNT(*) AS conversions
FROM conversions
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
GROUP BY conversion_type, conversion_name
ORDER BY conversions DESC
9. 클릭 ID 분포(Google, Meta, TikTok 등)
SELECT
  click_id_type,
  COUNT(*) AS events_with_click_id
FROM end_user_events
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND is_primary_attribution = true
  AND click_id_type != ''
GROUP BY click_id_type
ORDER BY events_with_click_id DESC
10. 전환 날짜별 코호트 사용자(모바일 설치 날짜와 동일)
SELECT
  DATE(event_time__conversion) AS cohort_date,
  media_source,
  COUNT(DISTINCT COALESCE(customer_user_id, appsflyer_id_value)) AS cohort_users
FROM end_user_events
WHERE event_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
  AND platform = 'WEBSITE'
  AND unified_app_id = 'website-example.com'
  AND is_primary_attribution = true
GROUP BY cohort_date, media_source
ORDER BY cohort_date, cohort_users DESC

특징과 제한 사항

다음 필드는 웹 데이터에서 지원되지 않으며 항상 비어 있습니다:

항목 설명
advertising_id_type, hardware_id_type 등. 둘 다
agency, site_id, ad_type 둘 다
platform_group 전환
app_version__conversion end_user_events
모든 __assist_* 필드 전환

참고 자료