GA4 BigQuery + AppsFlyer Raw 데이터 결합 분석

GA4의 BigQuery 데이터와 AppsFlyer Raw 데이터를 결합하면 마케팅 캠페인의 실제 성과를 보다 정밀하게 분석할 수 있습니다. 특히, 두 데이터를 통합하여 유저의 유입 경로와 이후 행동(앱 내 활동, 구매 등)을 추적할 수 있어 광고 최적화에 큰 도움이 됩니다.

1. GA4와 AppsFlyer 데이터를 결합하는 이유

GA4와 MMP(AppsFlyer) 데이터는 각각의 역할을 수행합니다.

  • GA4: 웹 및 앱 내 유저 행동 추적
  • AppsFlyer: 광고 유입 및 설치(어트리뷰션) 데이터 제공

그러나 각각 단독으로는 분석에 한계가 있습니다.

  • AppsFlyer는 유입 데이터를 알지만, 이후 유저의 행동(세션, 전환 등)을 모릅니다.
  • GA4는 유저 행동을 알지만, 어떤 광고 채널에서 유입되었는지 모호할 수 있습니다.

✅ GA4 + AppsFlyer 결합 시 이점

  • 광고 채널별 퍼포먼스를 유저 행동 데이터까지 연결하여 평가 가능
  • 설치 후 첫 세션까지의 소요 시간 분석 가능
  • 구매 전환율 및 광고 캠페인별 ROI 분석 가능

2. 선행작업: 데이터 결합을 위한 Key 매칭

두 데이터셋을 결합하려면 공통된 Key가 필요합니다. 일반적으로 아래 3가지 Key를 활용할 수 있습니다.

  1. GA4의 user_pseudo_id ↔ AppsFlyer의 idfa 또는 gaid
    • Android → GAID (Google Advertising ID)
    • iOS → IDFA (Apple Advertising ID)
    • GA4의 user_pseudo_id는 GAID/IDFA와 매칭 가능성이 높음
  2. GA4의 app_instance_id ↔ AppsFlyer의 appsflyer_id
    • 일부 환경에서 app_instance_idappsflyer_id가 동일하게 매칭될 수도 있음
  3. GA4의 device.advertising_id ↔ AppsFlyer의 advertising_id
    • 광고 ID 기반으로 유저를 연결 가능

주의할 점

  • ID 매칭율이 100%는 아님 (사용자의 프라이버시 설정 등으로 인해 누락 가능)
  • Android/iOS 환경에 따라 사용할 Key가 다름

3. GA4 + AppsFlyer 데이터 Merge 예제

📌 Step 1: 데이터 샘플 확인

GA4 데이터 (BigQuery) 샘플

SELECT
  user_pseudo_id,
  device.advertising_id,
  event_bundle_sequence_id,
  event_name,
  event_timestamp
FROM `your_project.analytics_XXXX.events_*`
WHERE event_date BETWEEN '20240201' AND '20240207'
AND event_name IN ('session_start', 'purchase')

AppsFlyer 데이터 (Raw Data) 샘플

SELECT
  appsflyer_id,
  event_name,
  event_time,
  media_source,
  campaign,
  adset,
  af_ad
FROM `your_project.appsflyer_installs_raw_data`
WHERE event_time BETWEEN '2024-02-01' AND '2024-02-07'

📌 Step 2: GA4와 AppsFlyer 데이터를 JOIN하여 유저 여정 분석

📍 광고 클릭 후 앱 설치 → 첫 세션 시작까지 연결

WITH appsflyer_data AS (
  SELECT
    appsflyer_id,
    advertising_id,
    event_name AS af_event,
    event_time AS af_event_time,
    media_source,
    campaign,
    adset,
    af_ad
  FROM `your_project.appsflyer_installs_raw_data`
  WHERE af_event = 'install'
),
ga4_data AS (
  SELECT
    user_pseudo_id,
    device.advertising_id,
    event_name AS ga4_event,
    event_timestamp AS ga4_event_time
  FROM `your_project.analytics_XXXX.events_*`
  WHERE event_name = 'session_start'
)
SELECT
  a.media_source,
  a.campaign,
  a.adset,
  a.af_ad,
  COUNT(DISTINCT g.user_pseudo_id) AS new_users
FROM appsflyer_data a
LEFT JOIN ga4_data g
ON a.advertising_id = g.advertising_id
WHERE TIMESTAMP_DIFF(g.ga4_event_time, a.af_event_time, SECOND) BETWEEN 0 AND 86400  -- 24시간 내 설치한 유저만
GROUP BY 1,2,3,4
ORDER BY new_users DESC;

분석 포인트

  • 광고 채널별 신규 유입 유저 수 파악
  • 유입된 유저들이 실제로 앱을 실행했는지 분석

📌 Step 3: 광고 채널별 전환율 분석 (구매까지 추적)

📍 설치 → 첫 세션 → 구매 전환율 분석

WITH installs AS (
  SELECT
    appsflyer_id,
    advertising_id,
    media_source,
    campaign,
    adset,
    af_ad,
    event_time AS install_time
  FROM `your_project.appsflyer_installs_raw_data`
),
sessions AS (
  SELECT
    user_pseudo_id,
    device.advertising_id,
    MIN(event_timestamp) AS first_session_time
  FROM `your_project.analytics_XXXX.events_*`
  WHERE event_name = 'session_start'
  GROUP BY 1, 2
),
purchases AS (
  SELECT
    user_pseudo_id,
    device.advertising_id,
    COUNT(*) AS purchase_count,
    SUM(event_value) AS total_revenue
  FROM `your_project.analytics_XXXX.events_*`
  WHERE event_name = 'purchase'
  GROUP BY 1, 2
)
SELECT
  i.media_source,
  i.campaign,
  COUNT(DISTINCT i.advertising_id) AS installs,
  COUNT(DISTINCT s.user_pseudo_id) AS first_sessions,
  COUNT(DISTINCT p.user_pseudo_id) AS converted_users,
  SUM(p.total_revenue) AS revenue,
  ROUND(COUNT(DISTINCT s.user_pseudo_id) / COUNT(DISTINCT i.advertising_id), 2) AS session_rate,
  ROUND(COUNT(DISTINCT p.user_pseudo_id) / COUNT(DISTINCT i.advertising_id), 2) AS conversion_rate
FROM installs i
LEFT JOIN sessions s ON i.advertising_id = s.advertising_id
LEFT JOIN purchases p ON i.advertising_id = p.advertising_id
GROUP BY 1,2
ORDER BY revenue DESC;

분석 포인트

  • 광고 채널별 설치 → 첫 세션 → 구매 전환율 확인
  • ROI(매출/유입) 기반으로 광고 성과 비교 가능

4. 결론 및 활용 방안

GA4 BigQuery와 AppsFlyer Raw 데이터를 결합하면 광고 캠페인의 효과를 보다 정밀하게 측정할 수 있습니다.

  • 광고 채널별 유입 및 세션 비율 분석
  • 설치 후 첫 세션까지 소요 시간 분석
  • 구매 전환율 및 캠페인별 ROI 분석

이 데이터를 기반으로 마케팅 최적화 및 광고 효율성 개선이 가능합니다.

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다