【AEP Web SDK】プライバシー対策は万全?Adobe AnalyticsのActivityMapを特定のページで無効化する方法

はじめに

Webサイト分析の強力な味方、Adobe Analytics。その中でも、ユーザーがページのどこをクリックしたかを可視化できる「ActivityMap」は、UI/UX改善に欠かせない機能ですよね。
しかし、その手軽さの裏で、一つ注意したい点があります。それは個人情報の取り扱いです。
例えば、お問い合わせフォームの確認ページやマイページなど、個人情報(氏名、メールアドレス、会員IDなど)が含まれるケースはありませんか? ActivityMapはページのリンク情報を自動で収集するため、意図せずこれらの個人情報を計測してしまう可能性があるのです。
今回は、そんな不測の事態を防ぐために、「特定のページだけでActivityMapを無効化する」方法をご紹介します。プライバシーに配慮しつつ、ActivityMapの恩恵を最大限に活用しましょう!

 

こんな環境を想定しています。
今回の設定は、以下の環境を前提としています。
  • タグマネージャー: Adobe Data Collection Tags (旧Launch)
  • エクステンション: Adobe Experience Platform Web SDK

設定は簡単!2ステップで完了します。

設定の手順は大きく分けて2つです。
  1. 無効化したいページのURLリストを作成する。
  2. データ送信の直前で、リストに該当するページのActivityMap情報を削除する。
それでは、具体的な手順を見ていきましょう。

ステップ1: 無効化するURLリストを定義する「Data Element」を作成

まずは、「このURLではActivityMapを無効にする」というリストを準備します。Adobe TagsのData Element機能を使って、このリストを簡単に管理できるようにしましょう。
  1. Adobe Experience Platform Data CollectionのUIで、「Data Elements」メニューを開き、「Add Data Element」をクリックします。
  2. 以下のように設定します。
    • Name: Activity Map Disable LIST (分かりやすい名前なら何でもOKです)
    • Extension: Core
    • Data Element Type: Custom Code
  3. 「Open Editor」をクリックし、表示されたコードエディタに以下のコードを貼り付けます。
				
					var _list = [
  "https://www.implementdigital.com/contact-us/",
  "https://www.example.com/mypage/settings/"
];
return _list;

/*
解説:
上記の "https://www.implementdigital.com/contact-us/" のように、
ActivityMapを無効化したいページのURLを配列([]の中)に追加していきます。
複数指定する場合は、カンマ(,)で区切ってください。
前方一致で判定するため、ディレクトリ以下のページをまとめて無効化したい場合に便利です。
*/
				
			

これで、無効化したいURLのリストがいつでも呼び出せるようになりました。

ステップ2:AEP Web SDK拡張機能でActivityMapデータを削除する

次に、Adobe Analyticsにデータが送信される直前のタイミングを狙って、先ほど作成したリストに合致する場合のみActivityMapのデータを削除する処理を追加します。
  1. 「Extensions」メニューから、インストール済みの「Adobe Experience Platform Web SDK」を選択し、「Configure」をクリックします。
  2. 「Data Collection」セクションまでスクロールし、「On before event send callback」の「Edit Code」をクリックします。
  3. 表示されたエディタに、以下のコードを貼り付けます。
				
					// pageViewsイベント(ページ読み込み時)の処理
if (content.xdm.eventType == "web.webpagedetails.pageViews") {

  // __adobe.analyticsオブジェクトが存在する場合のみ処理を実行
  if (typeof content.data.__adobe != "undefined" && typeof content.data.__adobe.analytics != "undefined") {
    var ref_url = document.referrer; // 1つ前のページのURLを取得
    var list = _satellite.getVar('Activity Map Disable LIST'); // ステップ1で作成したData Elementを呼び出し

    // 前のページのURLが、無効化リストに含まれているかチェック
    if (list.some(url => ref_url.startsWith(url))) {
      // 含まれていたら、ActivityMap関連のデータを削除
      delete content.data.__adobe.analytics.contextData.a.activitymap.link;
      delete content.data.__adobe.analytics.contextData.a.activitymap.page;
      delete content.data.__adobe.analytics.contextData.a.activitymap.pageIDType;
      delete content.data.__adobe.analytics.contextData.a.activitymap.region;
    }
  }
}

// linkClicksイベント(リンククリック時)の処理
if (content.xdm.eventType == "web.webinteraction.linkClicks") {

  // __adobe.analyticsオブジェクトが存在する場合のみ処理を実行
  if (typeof content.data.__adobe != "undefined" && typeof content.data.__adobe.analytics != "undefined") {
    var cur_url = location.href; // 現在のページのURLを取得
    var list = _satellite.getVar('Activity Map Disable LIST'); // ステップ1で作成したData Elementを呼び出し

    // 現在のページのURLが、無効化リストに含まれているかチェック
    if (list.some(url => cur_url.startsWith(url))) {
      // 含まれていたら、ActivityMap関連のデータを削除
      delete content.data.__adobe.analytics.contextData.a.activitymap.link;
      delete content.data.__adobe.analytics.contextData.a.activitymap.page;
      delete content.data.__adobe.analytics.contextData.a.activitymap.pageIDType;
      delete content.data.__adobe.analytics.contextData.a.activitymap.region;
    }
  }
}
				
			
【コードのポイント】
  • pageViewsの処理:
    • お問い合わせフォーム入力後、「ありがとうございます」ページに遷移したケースなどを想定しています。
    • この時、ActivityMapは「直前のページ(フォーム)のどのリンクがクリックされたか」を記録しようとします。
    • そこで、document.referrer(直前のページのURL)をチェックし、それが無効化リストに含まれていたら、ActivityMapのデータを送信しないようにしています。
  • linkClicksの処理:
    • お問い合わせフォームページ内でのクリックを計測させないための処理です。
    • location.href(現在のページのURL)をチェックし、リストに含まれていたら、そのクリックイベントからActivityMapのデータを削除します。
最後に、忘れずにライブラリを公開(Publish)して、設定を本番環境に反映させましょう。

まとめ

いかがでしたでしょうか?
今回は、AEP Web SDK環境で、特定のページのActivityMap計測を無効化する方法をご紹介しました。
この設定を行えば、個人情報が含まれる可能性のあるページでのデータ計測をピンポイントで停止し、サイト全体のプライバシーポリシーを強化することができます。
便利なツールだからこそ、細やかな配慮を忘れずに、正しく安全に活用していきたいですね。ぜひ、ご自身のサイトの状況に合わせて設定を見直してみてください!
Implement DigitalではAdobe Analyticsの分析を支援するサービスを提供しています。
ご興味がありましたらお問い合わせください。
この記事をシェアする :