GA4インポートとアプリ計測の重複除外方法

USERGRAMでは、アプリ内 WebView でユーザ行動を測定するためにFirebase計測を利用します。しかしお客様のサイトでアプリ内 WebView も対象に Google Analytcs 4を導入し、USERGRAMのGA4インポートも導入された場合、この共通する領域でUSERGRAMにおけるデータ重複が発生します。

本記事では、そのデータ重複を除外する方法をご案内します。

重複除外の指定方法概要

アプリ内 WebView において GA4 データ連携と Firebase 計測の併用時のデータ重複を除外するには、下記2つの仕組みを利用できます。

  • GA4 データ連携におけるFirebase計測対象データ除外 (下記図のa.)
  • Firebase計測用のUSERGRAMタグでウェブブラウザのウェブ計測を除外 (下記図のb.)


GA4 データ連携におけるFirebase計測対象データ除外指定

アプリ内 WebView において、Firebase計測による行動データに加えて、GA4データ連携による行動データを取得するためデータ重複が生じます。

この場合、GA4のイベント送信時に ug_firebase_detected  イベントパラメータを付与することでデータ除外指定を行います。これにより、Google Analytcs 4のデータに影響を与えることなく、データ除外指定に基づいてUSERGRAM側でデータ重複を除去することができます(上図のa)。

GoogleタグまたはGTMによるデータ除外指定をそれぞれ下記に提示します。

Googleタグの場合

全イベント共通のパラメータ ug_firebase_detected  をセットアップすることで、データ除外指定を行います。

Googleタグの他のイベントより前のタイミングで発火するよう、下記のタグを他のタグより前に読み込ませてください。

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script type="text/javascript">
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  const firebaseDetected = (window.AnalyticsWebInterface || window.webkit?.messageHandlers?.firebase) ? 1 : 0;

  gtag('config', 'TAG_ID', {
    'ug_firebase_detected': firebaseDetected
  });
</script>

ここで、

  • TAG_ID  (二箇所)は、Google Analytics 4 における対象ウェブ ストリームの測定 IDで差し替えてください。

GTMの場合

ここではカスタム JavaScriptを使ったデータ除外指定を説明します。

  1. ug_firebase_detected  という変数名でカスタムJavaScript変数を作成し、下記のカスタムJavaScriptを登録します。
function () {
    return (window.AnalyticsWebInterface || (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.firebase)) ? 1 : 0;
}

  1. 次に、Google タグの共有イベント設定で、イベントパラメータ ug_firebase_detected  を追加し、値として {{ug_firebase_detected}}  (定義したカスタムJavaScript変数)を指定します。

※ページにコンテンツ セキュリティ ポリシー (CSP) ヘッダーがある場合は、script-src  ディレクティブで 'unsafe-eval'  を指定する必要があります。

https://developers.google.com/tag-platform/security/guides/csp#custom_javascript_variables

Firebase計測用のUSERGRAMタグでウェブブラウザのウェブ計測を除外指定

ウェブブラウザにおいて、GA4データ連携による行動データに加えて、WebView用に設置されたUSERGRAM計測タグにより行動データを取得するためデータ重複が生じます。

この場合、USERGRAMタグでユーザ行動データ収集する前に ugattr['firebaseOnly']  のフラグとして値1をセットすることで、データ収集除外を行います。これにより、USERGRAMにおけるデータ重複を防ぐことができます(上図のb)。

USERGRAMタグでデータ収集除外指定を行うには、通常のUSERGRAMタグの前に下記のコードを追加してください。

<!-- USERGRAM Attributes -->
<script type="text/javascript">
window.ugattr = window.ugattr || {};
ugattr['firebaseOnly'] = 1;
</script>
<!-- USERGRAM Attributes end -->

また、通常のUSERGRAMタグに下記のように ugattr  が含まれることを確認してください。これが含まれない場合は、USERGRAMの画面からもう一度タグを取り出してください。

usergram.push(['send','●●●●●●-1','pv',ugattr]);

解決しない場合 問い合わせ 問い合わせ