URLトラッキングとは何か
URLのクエリパラメータには、流入元やキャンペーン、クリックIDが含まれることがあります。
URLは、Webページの場所を示すだけの文字列ではありません。
URLの中には、どのページを開くかだけでなく、どの広告から来たのか、どのSNSからクリックされたのか、どの利用者向けに発行されたリンクなのかを示す情報が含まれることがあります。
名前やメールアドレスを書いていなくても、URLに残ったパラメータが、流入元、検索語、キャンペーン、クリックID、紹介者、セッション情報の手がかりになることがあります。
匿名性を考えるとき、本文や画像だけを確認して、共有するURLをそのまま貼ってしまうのは危険です。
この記事では、URLトラッキングとは何か、URLのどの部分を確認すべきか、共有前にどのように判断すればよいかを整理します。
URLトラッキングとは
URLトラッキングとは、URLに付けられた情報を使って、アクセス元や利用者の行動を測定する仕組みです。
たとえば、広告、メールマガジン、SNS投稿、アフィリエイトリンク、キャンペーンページでは、URLの末尾に追加情報が付くことがあります。
この追加情報は、多くの場合 ? の後ろに置かれます。
sample.test/article?utm_source=newsletter&utm_campaign=spring
ここでの sample.test は説明用の文字列です。実在サービスの紹介ではなく、URLの構造を説明するために使っています。
? 以降の部分は、クエリ文字列と呼ばれます。クエリ文字列には、検索条件、ページ番号、商品ID、クリックID、広告ID、紹介者IDなどが入ることがあります。
URLトラッキングは、Webサイト運営者にとってはアクセス解析や広告効果測定に使われます。
しかし、匿名性の観点では、そのURLを共有した人やクリックした経路の手がかりになる場合があります。
URLのどこを見るのか
URLを確認するときは、全体をひとつの塊として見ないことが重要です。
URLには、意味の違う部分が含まれています。
| 部分 | 例 | 匿名性で見るポイント |
|---|---|---|
| ドメイン | sample.test | どのサイトへ接続するかを示す |
| パス | /article/network | どのページや機能を開くかを示す |
| クエリ文字列 | ?id=123&utm_source=sns | 検索語、識別子、追跡情報が含まれることがある |
| パラメータ名 | utm_source、ref、gclid | 何の情報かを推測する手がかりになる |
| パラメータ値 | newsletter、abc123 | 流入元、個別ID、キャンペーンを示すことがある |
| フラグメント | #section | 通常のHTTPリクエストではサーバーへ送られないことが多い |
とくに注意するのは、クエリ文字列です。
すべてのクエリ文字列が危険というわけではありません。検索結果ページや商品ページでは、ページを正しく表示するために必要な値もあります。
一方で、共有に不要な追跡用パラメータが付いていることもあります。
重要なのは、「この値がないとページが開けないのか」「この値は誰かを識別するためのものではないか」を分けて考えることです。
よく見る追跡パラメータ
URLトラッキングでよく見る値には、一定のパターンがあります。
| 種類 | 例 | 意味 |
|---|---|---|
| UTM | utm_source、utm_medium、utm_campaign | 流入元、媒体、キャンペーンを測定する |
| 広告クリックID | gclid、fbclid、msclkid | 広告やSNSのクリックを識別する |
| 参照元 | ref、referrer、source | どこから来たかを示す |
| アフィリエイト | affiliate、aff、partner | 紹介者や提携元を示す |
| 共有用ID | share、invite、campaign_id | 共有リンクや招待経路を示す場合がある |
| セッションらしき値 | session、sid、token | 個別の状態や認証に近い値の可能性がある |
UTMやクリックIDのように、追跡目的が分かりやすいものもあります。
一方で、id や token のような名前だけでは判断できないものもあります。id は記事IDかもしれませんし、利用者ごとに発行された識別子かもしれません。
分からない値を「たぶん大丈夫」と扱うのはよくありません。
URL共有で起きる失敗
URLトラッキングの失敗は、技術的に難しい攻撃で起きるとは限りません。
多くは、コピーしたURLをそのまま貼るだけで起きます。
| 失敗 | 何が起きるか |
|---|---|
| 広告経由のURLをそのまま共有する | 広告クリックIDやキャンペーン情報が残る |
| メール内のリンクをそのまま貼る | メール配信用の識別情報が残ることがある |
| 検索結果URLを共有する | 検索語や検索条件がURLに残ることがある |
| ログイン後のURLを共有する | セッションや個別画面の情報が混ざることがある |
| を展開せずに共有する | 中継先や追跡の有無を確認できない |
たとえば、ある人が匿名アカウントで記事を紹介するとします。
本文には個人情報を書いていません。しかし、貼ったURLにメール配信用のIDや広告クリックIDが残っていれば、そのリンクをどの経路で取得したかを示す材料になります。
それだけで本名が出るとは限りません。
ただし、、アカウント、、ログイン状態、アクセスログと組み合わさると、同じ人物らしさを強めます。
匿名性では、このような小さな手がかりを軽く見ないことが重要です。
削ってよい値と削ってはいけない値
URLのパラメータは、何でも削ればよいわけではありません。
削るとページが正しく開かなくなる値もあります。
| 種類 | 扱い | 理由 |
|---|---|---|
| utm_source など | 削れることが多い | アクセス解析用で、ページ表示に不要な場合が多い |
| gclid、fbclid など | 削れることが多い | 広告やSNSのクリック測定用であることが多い |
| ref、affiliate など | 内容を確認する | 紹介情報や収益計測に関係する場合がある |
| page、q、id など | 慎重に確認する | ページ表示や検索条件に必要な場合がある |
| token、sid、session など | 共有しない判断を優先する | 個別状態や認証に近い値の可能性がある |
判断の基本は単純です。
消しても同じページが開けるなら、共有に不要な値である可能性があります。
消すと別のページになったり、検索結果が変わったり、必要な情報が失われたりするなら、その値はページの内容に関係しています。
ただし、token や session のような値が付いたURLは、そもそも公開共有に向きません。
そのURLをきれいにするより、共有用の正式なリンクを別に探したほうが安全です。
共有前の確認手順
URLを共有する前は、次の順番で確認します。
| 順番 | 確認すること | 理由 |
|---|---|---|
| 1 | URL全体を確認する | ? 以降に不要な情報がないかを見る |
| 2 | 追跡らしいパラメータを探す | utm、gclid、fbclid、ref などを確認する |
| 3 | 不明な値を分類する | 表示に必要な値か、識別子らしい値かを分ける |
| 4 | 削ったURLで開き直す | 同じ内容が表示されるか確認する |
| 5 | 短縮URLなら展開する | 最終的な接続先と中継を確認する |
確認は、できればログインしていない状態や別ブラウザで行います。
普段のブラウザで確認すると、Cookieやログイン状態の影響で「自分には開けるが、他人には開けないURL」を共有してしまうことがあります。
匿名用途では、共有前に一度、別環境で開けるか確認するだけでも失敗を減らせます。
URLだけでは匿名性は決まらない
URLをきれいにしても、それだけで匿名になるわけではありません。
URLは手がかりのひとつです。
同じ投稿には、文章、画像、投稿時間、アカウント、通信経路、ログイン状態、過去投稿も関係します。
たとえば、URLから追跡パラメータを削っても、実名アカウントでログインしたまま投稿すれば、匿名性は弱くなります。
反対に、やを使っていても、共有したURLに個別IDが残っていれば、ネットワーク対策とは別の場所で相関されます。
URL確認は、匿名性全体の中の一工程です。
まとめ
URLトラッキングとは、URLに含まれるパラメータを使って、アクセス元や行動を測定する仕組みです。
UTM、クリックID、紹介コード、短縮URL、は、共有元や流入経路の手がかりになります。
匿名性を考えるときは、本文や画像だけでなく、共有するURLも確認します。
重要なのは、削ってよい値と削ってはいけない値を分けることです。追跡用パラメータは削れることが多い一方で、検索語やページIDのように表示に必要な値もあります。
分からない値が残る場合は、安全扱いせず、共有を遅らせる、別の正式リンクを探す、別環境で確認する、という判断を取ります。
URLは小さな文字列に見えます。
しかし、匿名性では、その小さな文字列が行動の経路を示すことがあります。