無料トライアルは賭けです。製品を数日分無料で提供し、ふさわしい人が残ってくれることを期待します。無料トライアルの悪用とは、同じ人や同じスクリプトがその賭けを何度も繰り返すことです。新しいメールアドレス、新しいアカウント、さらに 14 日間、あるいは無料クレジットをもう一回分。市場ではマルチアカウント(multi-accounting)やプロモーション悪用(promo abuse)と呼ばれます。あなたにとっては、アカウントが増えるたびに膨らみ、決して回収できないコストです。
無料トライアルの悪用の手口
- 手作業。トライアルが終わると、別のアドレスで登録し直します。メールのエイリアス(
name+1@)や使い捨てのメールボックスを使えば数秒で済みます。 - スクリプト。サインアップ bot がアカウントをまとめて作り、それぞれで無料クレジット、API の割り当て、AI のトークンを集めます。転売目的のことも多くあります。
- ファーム。アンチ検出ブラウザと住宅用プロキシで、アカウントごとに新しい fingerprint と IP アドレスを用意するため、一見すると互いに無関係に見えます。
1 つ目は厄介事にすぎません。お金が消えるのは 2 つ目と 3 つ目で、計算資源、ストレージ、モデル呼び出しを無料で提供する製品ほど損失が大きくなります。
マルチアカウントを見抜く手がかり
悪用する側は、メールアドレス、IP アドレス、ブラウザの fingerprint を変えられます。難しいのは、それ以外のすべてを、アカウントごとに、同時に、矛盾なく変えることです。
- 1 台の端末、多数のアカウント。同じブラウザが複数のネットワークの背後にいる、あるいは 1 つのセッショントークンが複数の場所から使われる。
- 1 つの fingerprint、多数のセッション。プロファイルを使い回すアンチ検出ブラウザは、多くのセッションと多くのサブネットに現れます。
- 新しいセッションの連続。同じサブネットと同じ User-Agent から数分で 10 個の新しいセッションが生まれるのは、一般家庭ではありません。
- フォームの入力のされ方。人はマウスを動かすか画面に触れ、キーを 1 つずつ打ちます。スクリプトはテキストを貼り付け、動かずにクリックします。
- 自己矛盾するブラウザ。User-Agent はある OS を名乗っているのに、ブラウザは別の OS を報告している。
どの手がかりも単独では証拠になりません。VPN だけでは決して証拠になりません。ですが、数分の時間枠の中でそろえば、それがファームの姿です。
サインアップで確認し、特典で対応する
アカウントを作成する前に、訪問者の IP、User-Agent、タグがブラウザに残したトークンを添えて、サーバーから判定を求めます。そのうえで、アカウントが存在するかどうかだけでなく、何を受け取るかを決めます。
- bot high:サインアップを拒否します。
- bot:無料クレジットなしでアカウントを作成し、メールアドレスの確認、カードの登録、電話番号の確認が済んだ時点でクレジットを付与します。
- unknown、human、human high:いつもどおり、トライアルをすべて提供します。
フォームをブロックする代わりに特典を保留すれば、誤判定のコストを低く抑えられます。少し変わった環境の本物の見込み客も問題なく登録でき、クレジットを少し待つだけです。クレジットを受け取れないスクリプトには、戻ってくる理由がありません。
ループを閉じる
アカウントが有料顧客になったら、フィードバックで Bot Protection に伝えましょう。悪用だと分かった場合も同じです。良い顧客の次回以降の訪問は信頼され、悪用に結びついた端末は信頼されません。また、新しいアカウントごとにクラスを記録しておけば、トライアルの転換率をスクリプトではなく人で測れます。
fail-open を守る
チェックはサインアップの中にあるので、サインアップを止めることがあってはなりません。短い timeout を使い、どんなエラーでも訪問者を通してください。障害中に少し余分にトライアルが発生しても、動かなくなったサインアップページよりはずっと安く済みます。詳しくはbot チェックが fail-open でなければならない理由をご覧ください。