Skip to content

Instantly share code, notes, and snippets.

@ajiyoshi
Last active August 29, 2015 14:07
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ajiyoshi/e54bc35ff70e70bc0b65 to your computer and use it in GitHub Desktop.
Save ajiyoshi/e54bc35ff70e70bc0b65 to your computer and use it in GitHub Desktop.
idfa.md

#IDFA/AAIDを何に使用できないか

免責

  • 個人の意見であり、私が所属する組織の意見をなんら代表するものではない
  • 利用規約に関する整合性のみを考察する
  • 日本その他の国における合法/違法性を述べるものではない

IDFA/AAIDの特徴

  • 広告用のID
  • ユーザの設定でリセット可能
  • ユーザの設定でターゲティング広告を拒否する意思を示せる
  • アプリ専用(OSが提供するAPIから取得する。ブラウザから取得するAPIはない)
  • 端末にインストールされているどのアプリからも同じ値が見える

何故そのようなものが必要か

広告が表示された回数を数えるために、アクセスログを集計するというやり方がある。

広告ID広告枠IDユーザエージェント
A1Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
B2Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
B1Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
B2Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11
  • 全部で4imp(=インプレッション。広告が4回表示された)
    • 広告Aが1imp、広告Bが3imp
    • 広告枠1が2imp、広告枠2が2imp
    • IEが3imp、Chromeが1imp

ところで、IEの3impは、同じ人(ブラウザ)が3回見たのか? 3人の違う人(ブラウザ)が1回ずつ見たのか?

これを知るための方法の一つに、擬似乱数を生成してcookieにセットするやり方がある。

cookie広告ID広告枠IDユーザエージェント
b026324c6904b2a9cb4b88d6d61c81d1A1Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
d27ff93059e886d5e99a89092ebd57b7B2Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
b026324c6904b2a9cb4b88d6d61c81d1B1Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
36bbe2d7e187db95f0d24ef27dd19d73B2Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11

全部で4impで、3ユニークユーザ(ユニークブラウザ)だったようだ。

ブラウザ向けの広告はそれでよかったのだが、アプリ向けの広告ではこの方法は使えない。

アプリからはブラウザのcookieストアは参照できないからである。

google/appleのプラットフォーム各社は広告とユーザの分析のためのAAID/IDFAを用意して、ターゲット広告、フリークエンシー キャップ、コンバージョン トラッキング、レポート、セキュリティや不正行為の検出などの目的への利用を許可している。

UDID(端末固有ID)との比較

端末を一意に識別し、全アプリから同じ値が見えるという点ではUDID類と変わらない

違いは

  1. 利用規約で広告のためだけに使うことを求めている
  2. ターゲティング拒否をユーザが意思表示できる
  3. ユーザの意思でリセットできる

使用に関するルール

https://play.google.com/about/developer-content-policy.html#ADID

<引用>

  • 使用 : Android 広告 ID は広告とユーザーの分析以外で使用してはいけません。ID の各アクセスで [インタレストベース広告をオプトアウト] 設定のステータスを確認する必要があります。
  • 個人を特定できる情報またはその他の ID との関連付け : 広告 ID をユーザーの明示的な同意なしに、個人を特定できる情報にリンクしたり、永続的なデバイス ID(例: SSAID、MAC アドレス、IMEI など)に関連付けたりしてはいけません。
  • ユーザーの選択を優先 : リセットする際にユーザーの明示的な同意なしに、新しい広告 ID を以前の広告 ID や以前の広告 ID からのデータにリンクしてはいけません。さらに、ユーザーの [インタレストベース広告をオプトアウト] 設定を遵守する必要があります。ユーザーがこの設定を有効にした場合は、広告目的でユーザーのプロフィールを作成したり、ユーザーをインタレスト ベース広告のターゲットに設定したりするために広告 ID を使用してはいけません。ただし、コンテンツ ターゲット広告、フリークエンシー キャップ、コンバージョン トラッキング、レポート、セキュリティや不正行為の検出などに使用することはできます。
  • ユーザーに対する透明性 : 広告 ID の収集と使用、その規約への同意について、法的に適切なプライバシー通知でユーザーに公開する必要があります。
  • 利用規約の遵守 : 広告 ID はその利用規約を遵守する場合にのみ使用できます。貴社のビジネスで共有する可能性のある団体が使用する場合も同様です。2014 年 8 月 1 日から、Play ストアにアップロードされたすべての更新や新着アプリには、広告目的で使用する端末 ID として広告 ID(端末で利用可能な場合)を使用する必要があります。 </引用>

(appleの規約は、公開web上では発見できなかった。開発者向けの規約の文言をみると、大意としては同様の要求をしている)

  1. 広告とユーザ分析のみに使用すること
  2. 個人を特定できる情報と関連付けてはいけない
  3. ユーザのIDリセットやターゲティング拒否を尊重しなければならない

googleは、2. 3. を行うならばユーザの明示的な同意が必要としている。appleも、表現こそ違えどほぼ同様の要求をしている。

このような使い方はできる

  • IDFAに対して、個人を特定しないような "属性" 情報をひもづけること
  • そのような属性情報を元に広告を選ぶこと
    • ユーザがターゲティング拒否していない前提

あくまでも規約に反しないというだけで、日本でこのような運用をオプトアウトで行う事が合法であるかどうかについては検討が必要である

IDFA(推測)性別(推測)居住地(推測)興味分野
a2816394-ea81-485d-beb9-cce4064c5231関東地方ガンダム,アニメ,プログラミング

また、IDFAは端末内の全アプリから同じ値に見えるため、いわゆる「名寄せ」が可能である。

そして規約上これを禁止しているという風には解釈できない(再掲: あくまでも規約に反しないというだけで、日本でこのような運用をオプトアウトで行う事が合法であるかどうかについては検討が必要である )。

ここでの名寄せとは、以下のような処理をさす。

IDFA性別
e2752b37-d57e-48e8-88e5-33d6f1a5c367
IDFA居住地
e2752b37-d57e-48e8-88e5-33d6f1a5c367北陸
IDFA興味分野
e2752b37-d57e-48e8-88e5-33d6f1a5c367結婚,出産,育児

というような断片的な属性を統合して、一つのプロフィールを作る。

IDFA性別居住地域興味分野
e2752b37-d57e-48e8-88e5-33d6f1a5c367北陸結婚,育児,出産

ただしプロフィールがあまりに詳細になりすぎて、該当する人物が事実上1人しかいない場合などは、規約に反する可能性がある。

(例えば、東京都千代田区1-1-1に居住している80代の男性、というのは1人しかいないと考えられる)

このような使い方はできないのではないか(明示的な同意が必要であるのではないか)

IDFAアプリ/サービスのID
e2752b37-d57e-48e8-88e5-33d6f1a5c367100001
アプリ/サービスのID性別居住地域興味分野
100001北陸結婚,育児,出産

↓IDFAをリセット

IDFAアプリ/サービスのID
be16b5ee-3ad4-49ba-bd40-9a68db5393d6100001
アプリ/サービスのID性別居住地域興味分野
100001北陸結婚,育児,出産

アプリやサービスに於いてのなんらかの属性と関連づけている独自のIDを、IDFAと関連づけてしまう場合、事実上リセットできないのと同じである。 これをするのであれば、明示的な同意が必要になるだろう。

考察

名寄せに関しては、UDIDが話題になったときも問題とされた。

UDIDについては、結局Google/Appleも「使うな」ということにしたのであって、プラットフォーム各社も名寄せの問題を認識している。

にも関わらず、

  • IDFAに於いて名寄せを禁止していない
  • googleとappleでAAID/IDFAの仕様がほぼ横並び
  • 規約についてもほぼ同様の内容

というのは、FTC辺りと業界で、自主的な市場ルールを作り、「ここまではやっていいけどこれ以上はダメ」のようなガイドラインを作ったのかなと推測できる。

線引きでいうと、名寄せは許容するかわりに、「広告のみに使う」「個人を特定しない」「ユーザによるリセットを尊重する」ところで線を引いたものと考える事ができる。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment