ウェブとアプリをまたいだトラッキングの現状とこれから

ユーザー追跡、してますか？

多くのサイトでは、Google Analyticsをはじめとする計測ツールを導入して閲覧者の動きを追跡し、閲覧や流入の増減、購買などのアクションにつなげるための分析、広告費の最適化などを行っているかと思います。

では、問題です。iOSやAndroidのアプリで購買や会員登録などのアクションを行ったユーザーが、どこのサイトの記事や広告をきっかけにインストールをしてくれたのか計測するには、どうしたらよいでしょうか。

最新のGoogle Analytics4では、アプリとウェブを統合した追跡ができる…とうたわれていますが、現実はそんなに甘くありません。
たとえば、下記のメグリ株式会社様の記事にもあるように、このような追跡をするには、「アプリとウェブの双方で、同じIDを用いたログインをしてもらう」という高いハードルがあります。

参考記事：GA4(Googleアナリティクス4) を使ったアプリとWebの統合分析について
https://note.com/saiyou_mgre/n/n4c36b4824540

本記事では、なぜそのようになってしまうのか、そのハードルを回避するためにどんな方法が考案されているのかをお伝えできればと思います。

## 広告表示だけじゃない! 弊社でのトラッキングの重要性

本題に移る前に、少しだけ筆者の立場など書いておきます。
興味のない方はこの章を読み飛ばしてください。

弊社では、国内最大級のポイントサイト「モッピー」を運営しています。
ポイントサイトといえばクレジットカードや各種口座開設などのイメージをお持ちの方が多いかもしれませんが、最近では「アプリのインストール」で数十～数百円分、「アプリインストール後ゲームを遊んで城を特定のレベルまで育てる」等では数百～数千円相当のポイントをユーザーに還元しています。

この時、ユーザーは[モッピーのウェブサイト](https://pc.moppy.jp)からストア(App StoreまたはGoogle Play Store)に遷移してアプリをインストールします。
ウェブではモッピーのIDでログインしていますが、インストールしたアプリにモッピーIDでログインする機能はありません。

それでも、どのモッピーIDでログイン・インストールしたユーザーがアプリのインストールや城の育成をしてくれたのかを追跡する必要があるわけです。
追跡に失敗するとユーザーにポイントを付与することができず、数千円を逃したユーザーからは確実にお叱りを頂戴してしまいます。それでサイトの信用を落とすと、ビジネスが成立しなくなってしまいます。

ということなので、弊社においては「単なる改善指標」だとか、「広告費の成果測定」とかの為にユーザーの追跡を行うのとはレベルが違って、本業を成立させるために「ウェブとアプリをまたいだトラッキングが必須」なのです。


## 前提知識：そもそも、ウェブでの追跡の仕組み

まず、すべての前提となるウェブでの追跡の仕組みを確認しておきます。

### レベル１：自サイト内での追跡

自サイト内だけの追跡であれば、下記のような流れで実装可能です。簡単ですね。

1. 初回アクセスのユーザーに、重複しない識別子を割り当て、クッキーにセットさせる
2. ユーザーは、毎回のアクセスの度に1.でセットされたクッキーを送信してくれる
3. 同じクッキーの値であれば同じユーザー(正確にはブラウザーだが、面倒なのでユーザーということにします)だと判断して、行動を追跡

### レベル２：複数サイトをまたいだ追跡(以前のやり方)

次に、複数サイト(正確にはドメイン)をまたいだ追跡を考えます。
以前は、計測したい全てのサイトに共通のJavaScriptコードを設置するだけで、簡単にサイトを横断した追跡ができていました。

1. 計測したい全てのサイトに、特定のJavascriptコードを読み込むScriptタグを設置しておく
2. ユーザーのブラウザが1. で設置されたScriptタグを読み込み、指示に従って計測用のJavascriptコードの読み込みと実行を行う
3. コードは計測者(広告ツール、分析ツールなど)のサイトに裏側でアクセスし、閲覧中のサイトやそこでの行動などのデータを送信
4. 計測者は初めてのアクセスなら識別子を割り当て、クッキーにセット
5. 今後、同じ計測者のツールを使っていれば、どこのサイトでも同じ識別子となるので、ユーザーを追跡できる

### レベル３：複数サイトをまたいだ追跡(最近のやり方)

2010年代中盤以降、レベル2の方法が使えなくなってきました。
AppleがITPと呼ばれるプライバシー保護の取り組みを行うなど、閲覧中のサイト以外のサイト(計測者)が発行するクッキー(サードパーティークッキー)は各ブラウザで制限が入るようになりました。

そこで、この制限を回避するために様々な施策が行われています。
詳しく知りたい方は、「ITP対応」とかで検索してみてください。

- 毎回ログインを促し、クッキーに頼らないユーザーの識別をする
- AIによりデータを補完しながら分析する(GA4で実装済)
- 自サイトのサブドメインのDNSを計測者に向け、そのドメインを用いて計測ツールを設置する(クッキーがファーストパーティとなる)
・IPアドレスやブラウザの種類などのUserAgent情報でユーザーを追跡する(プロファイリング)


この他にも、クッキーに対しては保存日数など様々な制限がかかるようになってきています。また、2020年代以降、プロファイリングを防止する目的でUA情報の削減も予定されています。


## アプリでの追跡の仕組み

次に、アプリでのトラッキングの仕組みも確認しておきます。

## レベル１：自アプリ内での追跡

アプリには任意のコードを埋め込めるので、追跡は簡単です。
アプリインストール時に適当な乱数等で識別子を割り振っておき、毎回の通信にこれを付加するように作っておけばよいだけです。

この作業が面倒であれば、各計測ツールがSDKを出してくれていますので、そちらを利用すれば簡単です。

## レベル２：複数アプリをまたいだ追跡

複数アプリでユーザーを追跡する場合、端末の識別子が便利です。
iOSではIDFA(Identifier For Advertising)、AndroidではADID(AdvertisingID)と呼ばれているIDが、端末1台につき1つ割り振られています。アプリにおいては、以前は無条件に、最近ではユーザーが拒否していなければ(オプトアウト)、現在ではユーザーが許可をすれば(オプトイン)、この値を取得することができます。

両OSとも、設定アプリ内等で特定の操作をすることでIDを変更できますが、定期的に変更するユーザーなど皆無と思われるため、かなり高精度での追跡が可能です。クッキーと違い、日数の制限などもありません。

永続的に、複数のアプリをまたいで、確実性の高い追跡ができるからこそ、広告単価もウェブより高いことが多いです。

## アプリとウェブを横断した追跡

ようやく本題、ウェブからアプリへの遷移を含めた追跡のお話です。

ウェブでは、クッキーを利用した追跡が行われています。
アプリでは、端末のIDを利用した追跡が行われています。
よって、クッキー内の識別子と端末のIDを、「同一人物」と判定して紐づけできれば、アプリとウェブを横断した追跡が実現できそうですね。

しかし、これは簡単なことではありません。
アプリからブラウザに保存されたクッキーを参照することも、ウェブブラウザを通じて端末IDを取得することも基本的にはできないのです。

### 端末IDを取得できたAndroidでの追跡方法

Androidアプリであれば、次の手順で追跡が可能です。Googleさんは広告で成り立っている企業であるためか、私たちにも優しいのです。

1. 追跡者は、Google Playのアプリページのリンクに、ユーザーを識別できるパラメータをつけたURLを生成し、そこにユーザーをリダイレクトで飛ばす
1. ユーザーがアプリをインストールする時、Googleさんが端末の識別子とURLに付された識別子のペアを取得して保管
1. アプリが起動されたら、端末IDを取得して追跡者に送信
1. 追跡者は、端末IDを用いてGoogleに問合せ
1. Googleが、2.のインストールの際にストアを開いた時のURLに付いていたパラメータを教えてくれる
1. 教えてもらったパラメータと端末IDを紐づける

### iOSや、端末識別子を取得できなかったAndroid端末の場合

上記のケース以外の場合、追跡は困難です。
この場合は、ユーザープロファイリングという手法が用いられます。おおまかな手順は下記のとおりです。

1. 追跡者は、ウェブのアクセスの際に得られたUAの文字列、およびアクセス元IPアドレスなどを、発行した識別子と併せて保存しておく
1. アプリがインストールされたら、端末IDとともにUAに含まれている情報(OSの種類、端末の機種など)を追跡者に送信
1. 追跡者は、ウェブとアプリから送信された情報を突き合わせ、同一ユーザーと思われる情報の組を見つけて紐づけを行う

この手法は、IPアドレスに大きく依存していると言わざるを得ません。
UAに含まれる情報というのは限られており、例えば、「iPhone 14・iOS16のユーザー」という情報から本人特定を行うことはほぼ不可能であることはすぐにわかるかと思います。そのため、実質IPアドレスで紐づけを行い、OSの種類やバージョン、機種名が違う場合は紐づけから外す。という程度のものと思われます。

そして、今後数年以内には、UAに含まれる情報を減らす動きが始まると言われています。
さらに、AppleはiOS15以降でiCloudの有料サブスクリプションを契約しているユーザーを対象として「iCloud プライベートリレー」というIPアドレスを隠す機能を提供しています。この機能を利用すると、別のウェブサイトへの遷移、ウェブからアプリへの遷移などの際にIPアドレスが変更される可能性があります。
この他にも、各種VPNサービス、IPv6/IPv4サービス等において、複数ユーザーで同一IPを共有する接続が増加しており、IPアドレスを基にしたユーザー追跡は年々難しくなっています。

## 終わりに

2010年代前半、iOSでもAndroidでも、アプリのダウンロード、そしてパズル＆ドラゴンズ(パズドラ)の魔法石に代表されるゲーム内アイテムの購入に至るまで、ユーザーの行動をトラッキングすることができていました。Play Storeを運営するGoogleさんも、App Storeを運営するAppleさんも、トラッキングの為の機能を提供してくれていました。オプトアウトはできたものの、ほとんどのユーザーがデフォルト設定で使ってくれていたはずです。
弊社モッピーも、パズドラへの課金でポイントが戻ってくるということで、大きく会員数を伸ばしたそうです。

2010年代後半になると、トラッキングに逆風が吹き始めました。とくに、サイトを横断したトラッキングについては、やりすぎると趣味嗜好を含めた膨大な個人情報を集め、本人の特定も可能になるということで、規制の動きが進みました。ヨーロッパのGDPRに代表される法規制も進みました。
ウェブの世界では、前述のITPの導入、アプリの世界では、App Storeのトラッキング機能の終了が行われ、IPアドレスを軸としたデバイスIDとクッキーのマッチングが必要となりました。

2020年代前半になると、iOS14.5以降を対象としたデバイスID取得のオプトイン化、プライベートリレーやVPNによるIPアドレスの秘匿などのトラッキング防止柵が次々と導入されました、計測者とデバイス・ブラウザベンダとの関係は、共創から競争へと移行しつつあります。

今後も、競争環境は厳しさを増す見込みですが、弊社ではユーザーからの同意を得つつ、しっかりトラッキングをし続けなければなりません。

ユーザーに最高のポイ活体験をお届けできるよう、最新事情をしっかりキャッチアップしながら運営していきたいと思います。