GA4計測の精度を向上させる!アプリ内WebViewとWebデータの正しい分離方法

自社アプリの WebView(アプリ内ブラウザ)からのアクセスを、通常のウェブアクセスと区別できず、正確なユーザー行動分析を諦めていませんか?

アプリ内でウェブコンテンツを表示する「WebView」は、ユーザー体験を向上させる一方で、Google アナリティクス 4 プロパティ(以下、GA4)のデータ計測においては、アクセス元が分かりづらくなるという問題があります。WebViewからのアクセスは、アプリ内でのユーザー行動の一部と考えるのが一般的ですが、WebViewのデータは通常のウェブブラウザ(ChromeやSafariなど)と同様にウェブデータとして計測される仕様です。

また、デフォルトでは自社アプリのWebViewからのアクセスなのか、他のアプリのWebViewから閲覧しているのかの判別が難しく、「WebView」のユーザー行動の分析に頭を悩ませる方も多いのではないでしょうか。

本記事では、アプリ内のWebView利用状況を、通常のウェブ利用と明確に分けて把握できる環境を構築することを目的とし、3つのポイントにまとめてご紹介します。

image12

ポイント1.WebView計測のデフォルトの仕様

ユーザーが、自社アプリやSNSのアプリ等を起動した後、WebViewに遷移した場合、GA4のデフォルトでは「ウェブデータ」として計測されます。

そのため、ユーザーがアプリ(ネイティブ)とWebView間を行き来すると、アプリ部分は「アプリインスタンスID」、WebView部分は「クライアントID」でユーザーが識別されます。結果として、GA4では異なるユーザー・異なるセッションとして計測されます()。

こういったプラットフォームを跨ぐ遷移を同一ユーザー・同一セッションで計測するためには、こちらの記事で紹介したような実装が必要です。

ですが今回は、上記のような実装を行わないデフォルトの状態で、WebViewのアクセスを通常のウェブブラウザからのアクセスと区別して分析するための環境構築を考えていきます。

まずは、このウェブデータとして混在しているWebViewアクセスの中から「ブラウザ」ディメンションを利用して、どの程度の識別が可能かを次の章で詳しく見ていきましょう。

image5

…同じ端末の同じアプリ内のWebViewであれば、何度WebViewを起動し直しても、クライアントIDは維持され、同一ユーザーとして計測され続けます。

ポイント2.「ブラウザ」のディメンションで判別できる・できない実装の違い

WebViewがウェブデータとして計測されている場合、ウェブのデータストリームではウェブブラウザで閲覧したデータとWebViewで閲覧したデータが混在する状態になります。

混在したデータの中で、WebViewで閲覧されたかどうかを判別するには「ブラウザ」のディメンションを利用することが有効ですが、WebViewの実装方法によっては通常のブラウザで閲覧されたウェブデータと区別ができる場合とできない場合があります。

<区別できるケース>

アプリのWebView実装で、Androidの「Android Webview」、iOSの「WKWebView」を利用している場合は、GA4の「ブラウザ」ディメンションを利用してWebView閲覧データを判別できます。

WebViewの実装 GA4上の「ブラウザ」ディメンションの表示
Android Webview(Android)
Android Webview
WKWebView(iOS) Safari(in-app)

※ウェブブラウザで閲覧した場合、「ブラウザ」ディメンションでは「Chrome」や「Safari」などの値が計測されますので、値を見るだけでWebViewデータかどうかがわかります。

<区別できないケース>
Androidの「Chrome Custom Tabs」、iOSの「SFSafariViewController」を利用してWebViewを実装している場合は、GA4上でウェブブラウザのデータと区別することができません。
GA4の「ブラウザ」ディメンションでは「Chrome」や「Safari」の値が計測されます(弊社検証で確認した情報)。

ポイント3.自社アプリのWebViewからのアクセスを特定する具体的な2つの設定方法

WebViewの識別ができたら、次は「どのアプリ内での閲覧か」を特定することが重要です。自社アプリと外部アプリを区別する方法は、以下の通りです。

  • 方法1
    ユーザーエージェントをもとに、自社アプリのWebViewの閲覧かどうかを判別した値をカスタムディメンションで計測する
  • 方法2
    自社アプリのネイティブからWebViewへの遷移時に参照元情報が計測できるようにutmパラメータを設定する
項目 メリット デメリット
方法1 設定箇所が少ないため、設定は比較的簡単です。 すべての画面で同じ値が計測されるため、ネイティブのどの画面からの遷移かは判別できません。
方法2 utmパラメータに設定する値を調整すれば、ネイティブのどの画面から遷移したかを判別できます。 ネイティブから遷移するリンクが複数あった場合、すべてのリンクに設定が必要となります。

対応方法の詳細は以下の通りです。
<方法1>
※Google タグ マネージャー(以下、GTM)をご利用の場合の対応方法となります。

  • ステップ1:自社アプリのWebViewのユーザーエージェントに任意の文字列を追加する
    • 具体的な実装
      アプリ開発者と連携し、既存のユーザーエージェント文字列の末尾に、自社アプリだと判別できる任意の文字列を追加します。
  • ステップ2:ユーザーエージェントの値を取得する変数を作成する
    • 具体的な実装
      GTMの「JavaScript 変数」でグローバル変数名:「navigator.userAgent」を指定した変数を作成し、ユーザーエージェント全体の文字列を取得します。

      ▼変数の作成例
      image11
  • ステップ3:ユーザーエージェントに自社アプリ固有の文字列が含まれていたらtrueを返す変数を作成する
    • 具体的な実装
      ステップ2で作成した変数で取得したユーザーエージェントの値に、自社アプリ固有の文字列が含まれていたらtrueを返し、含まれていなかったらfalseを返す「正規表現の表」変数を作成します。

      ▼ユーザーエージェント例
      Mozilla/5.0 (Linux; Android 11; Pixel 4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.210 Mobile Safari/537.36 In-App

      ▼変数の作成例
      image4
  • ステップ4:ステップ3で作成した変数をGA4計測タグに設定する
    ステップ3で作成した変数を、イベントパラメータ(イベントスコープ)としてGoogleタグやGA4イベントタグに設定します。

    ▼タグの設定例
    image14
  • ステップ5:GA4側でカスタムディメンションを登録する
    GA4の管理画面で、送信設定したイベントパラメータをイベントスコープのカスタムディメンションとして登録します。

▼登録例
image9

レポートの見方

ここまでの実装が完了すると、自社アプリのWebViewのアクセスが作成したカスタムディメンションで「true」と表示され、GA4上でウェブブラウザのデータと区別して分析することが可能になります。
例えば[ページとスクリーン]レポートでこのカスタムディメンションをセカンダリディメンションに適用すると、WebViewで閲覧されたページでは「true」、ウェブブラウザで閲覧されたページでは「false」が表示され、ブラウザとWebViewがどの程度の割合で閲覧されたのかが確認できます。

▼レポートイメージ
image2

<方法2>
自社アプリのネイティブからWebViewへ遷移するリンクにutmパラメータを追加すると、設定した値がセッションの参照元/メディアとして計測されるため、自社アプリのWebViewからのアクセスを明確に把握することができます。

▼計測したい参照元/メディア
「app/webview_link」

▼計測したいキャンペーン
「fromApp」

▼utmパラメータ設定例https://www.e-agency.co.jp/?utm_source=app&utm_medium=webview_link&utm_campaign=fromApp

※utmパラメータは、外部トラフィックの計測を目的として設計されています。

今回のようにネイティブアプリからWebViewへの遷移など、技術的な要件がある場合を除き、サイト内を遷移するリンクにutmパラメータを付与することは極力避けるようお願いいたします。

レポートの見方
この実装が完了すると、自社アプリからWebViewに遷移したデータのセッションの参照元/メディアが「app/webview_link」、セッションのキャンペーンが「fromApp」で計測されます。
例えば[トラフィック獲得]レポートでセッションの参照元メディアとセッションのキャンペーンを確認すると、utmパラメータで設定した値でどの程度流入したのかを確認できます。

image13

複雑な設定や高度な分析は、専門家であるイー・エージェンシーにご相談を!

いかがでしたか? 
多くのGA4ユーザーが直面するウェブブラウザのデータにWebViewデータが埋もれてしまう問題の本質と、デフォルト設定で判別できるケース、そしてさらに詳細な情報(どのアプリからの閲覧か)を特定するための具体的なステップについてご紹介してきました。

「ブラウザ」ディメンションの確認から、GTMでのユーザーエージェントを活用したカスタムディメンションの設定まで、少し専門的な内容も含まれていましたが、これらの実装はアプリとウェブを連携させた分析を行う上で不可欠な要素です。ぜひご自身のGA4データと向き合い、本記事の内容を応用して、より深いユーザー行動の分析に役立ててください。

複雑な設定や高度な分析については、アプリとWebViewの計測・分析に豊富な経験を持つイー・エージェンシーがサポートいたします。
お気軽にご相談・お問い合わせください

関連記事

【動画】Google マーケティング プラットフォーム (GMP) 導入・活用支援のご紹介

ogp-–-6
【動画で紹介】Google マーケティング プラットフォーム (GMP) 導入・活用支援のご案内

本動画では、イー・エージェンシーから「Google マーケティング プラットフォーム(GMP)」をご契約された際の「付帯サービス」や「具体的な成功事例」について、動画でわかりやすくご紹介します。
「 Google アナリティクスの無料版と有料版の違い」「そもそもGoogle マーケティング プラットフォーム(GMP)とは何か?」など、GMPツールについてもご紹介しています。

GA4を導入するならイー・エージェンシーにご相談ください

イー・エージェンシーは、「Google マーケティング プラットフォーム(GMP)」の認定セールスパートナー、「Google クラウド プラットフォーム(GCP)」の認定パートナーです。
また弊社はGoogleより2021年上半期における Google アナリティクス 4 プロパティ(GA4)の数多くの導入支援実績を評価され、認定セールスパートナーとしてアワードを受賞しております。
これまでの豊富な実績を元に、GA4導入・移行をお客様のビジネスに寄り添い支援させていただきます。

まずはお気軽にご相談ください。
お客様のデータ活用を伴走型で支援いたします。

私たちは、ビジネス課題を解決する支援を行っております
サービスについてお気軽にご相談・お問い合わせください
この記事を書いた人
サポートチーム

お困りごとを解決するプロフェッショナル
Google マーケティングプロダクトをご利用いただくお客様の日々の課題や疑問を解決するご支援を担うチームです。
年間2,000件を超えるお問い合わせで蓄積した豊富なノウハウを元に、お客様の日常業務に支障が出ないように、迅速に課題を解決してまいります。
また、Google社が発信する最新機能やアップデートの情報をいち早くお知らせできるよう、使命感を持って取り組んでおります。