どのようにお手伝いできますか?

Web Performance Measurement|Data Locker経由でのレポートデータ出力

  • 更新

概要:Data LockerからWeb Performance Measurementのデータを2種類のレポート形式で出力できます。Webサイトのパフォーマンスを目的に応じた粒度で分析できます。エンドユーザーイベントレポートはすべての訪問およびイベントの分析に、コンバージョンレポートは初回訪問、再訪問、ユーザー獲得イベントなど、コンバージョンの起点となったイベントの集計およびアトリビューション分析に利用します。

重要Data LockerでWeb Performance Measurementのレポートを利用するには、Data Lockerの契約が必要です。

Web Performance Measurementのレポートについて

Data Lockerでは、Web Performance Measurement向けにエンドユーザーイベントコンバージョンの2種類のレポートを提供しています。それぞれ用途が異なります。

  • エンドユーザーイベントレポートは、Webサイト上のアクティビティを分析するためのレポートです。
    • すべてのWebイベントおよびWeb訪問が含まれます。
    • すべての訪問は、アトリビューション済みのSESSIONとして記録されます。
    • 訪問単位およびイベント単位での分析に適しています。
  • コンバージョンレポートは、コンバージョン単位で分析する場合に適しています。コンバージョンとは、マーケティング成果をいつ、どのように紐づけさせるかを決定するアトリビューションアンカー(成果紐づけの起点となるタッチポイント)です。具体的には以下が含まれます:
    • 初回訪問(ユーザーが初めてWebサイトへアクセスした場合)
    • 再訪問(非オーガニック広告へのエンゲージメント後にユーザーが再訪した場合)
    • ユーザー獲得イベント(会員登録や初回入金など、ユーザー獲得を示すカスタムイベント)
  • その後に発生するすべてのユーザーイベントは、これらのコンバージョンに紐づけられ、対応するキャンペーン情報を引き継ぎます。

Data LockerのアドバンスレポートのUIでは、エンゲージメントエンドユーザーイベント(クロスプラットフォーム)が、Web Performance Measurementのレポートとして、それぞれ個別に選択できます。本記事では、Web Performance Measurementの分析で主に使用する、エンドユーザーイベントコンバージョンの2つのレポートについて説明します。

Web Performance Measurementレポートの選択

Web Performance Measurementのデータをエクスポートするには、まずData Lockerで対象のレポートを選択します。

  1. AppsFlyer管理画面 左メニュー エクスポート > Data Lockerへ移動します。
  2. 「アドバンスレポート」タブをクリックしてください。
  3. Web Performance Measurementレポートの一覧から、エンドユーザーイベントまたはコンバージョンを選択します。
  4. Save Configuration(設定を保存)をクリックします。

レポート項目

各レポートに含まれる項目については、以下のサンプルをダウンロードして確認できます。

サンプルレポートには、利用可能なすべてのレポート項目とその値が含まれています。各項目の定義については、項目一覧を参照してください。

レポート作成タイミングとデータの更新頻度

以下では、新しいデータがいつ追加されるか、およびイベントがレポートへ反映されるタイミングについて説明します。

  • レポートの作成頻度:新しいデータは1時間ごとに追加されます。
  • データの更新頻度:イベントは通常、発生から2~3時間以内にレポートへ反映されます。

各バッチ処理は以下のように動作します:

  • 1回のバッチ処理では、1時間30分分のイベントを処理します。
  • このうち最初の1時間分のイベントのみがアトリビューション対象となります。
  • 残り30分間は、アトリビューション済みイベントへCustomer User ID(CUID)を付与するためだけに使用されます。
  • 直近30分間に発生したイベントはまだアトリビューションされず、次回のバッチ処理で処理されます。

イベントはいつレポートへ反映されますか?

イベントは、バッチ処理が完了した後にレポートへ出力されます。例えば、08:00~09:00に発生したイベントは、10:00のバッチでアトリビューションされ、11:00のバージョンレポートに反映されます。

例:AM10:00のバッチ処理の内容

日付 レポート利用可能時刻 アトリビューション対象となるWebイベント(イベント発生時刻) CUID付与のために処理されるWebイベント
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 対モバイル

Webアトリビューションは、識別子およびデータの取り扱いの両方において、モバイルアトリビューションとは異なります。データの正確性を高めるため、クエリでは以下のフィルターおよびベストプラクティスを適用してください。

項目 モバイル Web
プラットフォームフィルター platform = 'IOS' または platform = 'ANDROID’ platform = 'WEBSITE'
ユーザー識別子(値) appsflyer_id(デバイスベース) appsflyer_id_value(Cookieベース)
識別子の種類 デバイスによって異なる appsflyer_id_typeは常にweb_id
ユーザー獲得イベント Install 初回訪問(First Visit)がデフォルトですが、ユーザー獲得イベントはカスタマイズ可能
リエンゲージメント RE-ENGAGEMENT REVISIT
リアトリビューション 対応 非対応(Webではユーザー獲得と再訪問のみ)
アプリID App ID(例:id123456789 接頭辞のあるドメイン(例:website-www.example.com
どのテーブルを使用すべきか

エンドユーザーイベントレポートは、ほとんどの分析用途に適しています。このレポートには、すべてのWebイベントとWeb訪問が含まれています。また、すべてのWeb訪問はアトリビューション済みのSESSIONとして記録されるため、訪問単位およびイベント単位の分析における主要なデータソースとなります。

一方、コンバージョンのテーブルは、重複したイベントレコードを含めずに、初回訪問、再訪問、およびユーザー獲得を集計したい場合に適しています。

利用目的 使用するテーブル 理由
訪問数/セッション数を集計する end_user_events 各行がセッションまたはイベントを表すため
一意のコンバージョン数を集計する conversions 重複レコードを排除できるため
アプリ内イベントを分析する end_user_eventsend_user_event_type = 'IN_APP' イベント名を持つのはアプリ内イベントのみであるため
クエリフィルターの適用

ローデータを正確に分析するため、以下のフィルターを適用してください。これらを適用しない場合、重複レコードや異なるプラットフォームのデータが混在し、正確な集計結果が得られません。

  • プラットフォームでフィルターする(必須):Web由来のデータのみを対象とし、モバイル、PC、CTVのデータを除外するため、以下の条件を指定してください:WHERE platform = 'WEBSITE'
  • アトリビューションの帰属でフィルターする(必須):AppsFlyerでは、同じユーザーアクションがend_user_eventsに2回記録される場合があります。 これは、レポートビューによって異なるアトリビューションを付与できるためです。

    この状況は、ユーザーに以下の両方が存在する場合に発生します:

    • 元のユーザー獲得(UA)経由の流入
    • その後のリエンゲージメント経由の流入

    この場合、AppsFlyerは同じイベントについて2つのレコードを書き込みます。

    • Primary Attribution:イベントを、最も直近のマーケティング接点へ紐づけます。これは統合ビューとリターゲティングビューで使用されます。

      end_user_eventsの重複集計を防ぐため、通常は以下の条件でPrimary Attributionのみを取得してください:

      WHERE platform = 'WEBSITE'
        AND is_primary_attribution = true
    • Secondary Attribution:イベントを元のユーザー獲得(UA)へアトリビューションします。ユーザー獲得ビューでLTVを分析する際に使用されます。

      同じイベントがPrimary AttributionとSecondary Attributionの2つのレコードとして保存されるため、フィルターを指定せずに集計すると重複カウントになります。

      以下のクエリを、BigQueryなどのBIツールでWebアトリビューションデータを分析する際のテンプレートとして利用してください。

  • コンバージョンタイプでフィルターする(任意):キャンペーン種別ごとに分析する場合は、以下の条件を指定します: WHERE conversion_type = 'USER_ACQUISITION' または WHERE conversion_type = 'RETARGETING'

フィルター一覧

フィルター SQL条件 利用シーン
プラットフォーム指定 WHERE platform = 'WEBSITE' Web由来のデータのみを対象とし、他プラットフォームのデータを除外します。
統合ビュー(重複防止) WHERE is_primary_attribution = true AND platform = 'WEBSITE' 元のUAキャンペーンよりもリターゲティングキャンペーンへの成果紐づけを優先します。重複を避けた一般的なレポートに使用します。
リターゲティングビューのみ WHERE conversion_type = 'RETARGETING' AND platform = 'WEBSITE' リターゲティングキャンペーンのみを分析する場合に使用します。
ユーザー獲得ビューのみ WHERE conversion_type = 'USER_ACQUISITION' AND platform = 'WEBSITE' 初回訪問に紐づくイベントのみを分析するユーザー獲得レポートで使用します。
エンドユーザーの識別と集計

Web Performance Measurementのローデータでは、エンドユーザーが以下の2つの異なる識別子で表示される場合があります。

  • customer_user_id:お客様が設定する安定した識別子です。通常、ログイン済みユーザーに使用されます。
  • appsflyer_id_value:CookieベースのIDで、時間の経過とともに失効する場合があります。

ユニークユーザーを正しく識別し、ユーザーレベルの指標を計算するには、必ず以下を使用してください。

COALESCE(customer_user_id, appsflyer_id_value)

仕組みは以下の通りです。

  • customer_user_id が存在する場合、AppsFlyerはそれを使用します(安定した識別子であるため優先されます)。
  • 存在しない場合、AppsFlyerは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日間)

各メディアソースにアトリビューションされたWebセッション数を集計します。

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
7.日別のオーガニック/非オーガニック初回訪問
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. ユーザー獲得 (UA)リターゲティングの内訳
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

仕様および制限事項

以下のフィールドはWebデータではサポートされておらず、常に空の値となります。

項目 説明
advertising_id_typehardware_id_typeなど 両方のレポート
agencysite_idad_type 両方のレポート
platform_group コンバージョン
app_version__conversion エンドユーザーイベント
すべての __assist_* フィールド コンバージョン

関連情報: