— Blog · ノート

ユーザーはどこから来るのか

An indie developer was billed for 56 installs and 33 were bots; we have eight apps and the same question, so here is what we do instead of buying installs.

TL;DR · English

On 11 September 2026 the developer of the puzzle app Dayzle wrote that CA$220 of Google app ads over two weeks was billed for 56 installs: 33 behaved like bots (opened once, zero seconds on screen, never returned, running an old build), 7 came from countries the campaign did not target, and 13 were real people; the post passed 500 points on Hacker News. We recognise the problem: eight shipped apps and still few users. So instead of buying installs we are doing two things — making the apps and this site findable (canonical URLs, structured data, RSS, Naver Search Advisor registration, all shipped this week) and putting games where people already are (two are live inside Apps in Toss). A new platform is in preparation; whatever it is, the number we watch there will not be installs.

広告で買ったインストール56件のうち33件がボットだったという記事を読みました。8本を出しても利用者が少ない私たちは、その記事を読んでからインストールを買うことにいっそう慎重になりました。今は、見つけてもらうことと、人がすでにいる場所へ入ることをしていて、新しいプラットフォームもひとつ準備しています。

どんな記事だったか

事実 パズルアプリ Dayzle をつくる開発者が2026年9月11日に公開した記事です(原文、2026年9月12日閲覧)。Android 向けの Google アプリ広告に2週間で220カナダドルを使い、目標は「インストール」でした。課金されたインストールは56件。そのうち33件はアプリを一度開いただけで、どの画面にも滞在時間が0秒で、二度と戻ってきませんでした。ストアではもう配布していない旧バージョンを動かしていました。実際の人と分類されたのは13人です。ほかに7件は広告が狙っていない国からのインストールで、残る3件は原文が分類していません。

事実 発見のきっかけは数字ひとつでした(同じ記事、2026年9月12日閲覧)。Google は1日のインストールを21件と報告しましたが、アプリの管理画面では1件しか計上されていませんでした。生データを開くと、新しい Android 端末21台のうち20台が上のパターンでした。筆者は、その20台が19の州にまたがる28機種だったと書いています。筆者の説明はこうです。Google は広告主が与えた目標のとおりに最適化しますが、目標がインストールだったので、ボットファームが「インストール」を繰り返すほどその配信面は成果がよく見え、広告がそちらへより集まりました。筆者は無効なトラフィックを報告し、目標を「アプリ起動」から「パズルを1問解く」に変えました。

事実 その記事は Hacker News で500点を超え、コメントも260件を超えました(2026年9月12日閲覧)。GeekNews にも掲載されました。コメントで何人かが指摘した構造があります。ボットファームは広告を掲載する側です。広告主は Google にお金を払い、Google は広告を見せた掲載者にお金を渡します。筆者の返信によれば、インストールそのものがファームの収入になるわけではありません。インストールはその配信面を成果のよい場所に見せて広告をさらに呼び込むだけで、ファームが受け取るのは、いま書いた仕組みのとおり、その広告を見せた対価です。損をするのは広告主だけです。

なぜ他人事ではないのか

理由は簡単です。8本を出しましたが、利用者はまだ少ないからです。

つくれば来る、という言葉は私たちには当てはまりませんでした。だからインストールを買う広告は、いつも最後の選択肢として残っていました。あの記事は、その選択肢にもうひとつ値札を付けました。お金だけではなく、ボットがつくった数字を本物だと信じて次の判断をしてしまう危険です。

受け取った三つのこと

  • 目標を「インストール」に置かない。 システムは与えられた目標を正確に達成します。インストールを求めれば、インストールをつくる側へ向かいます。目標は人にしかできない行動である必要があります。Dayzle はそれを「パズルを1問解く」に置きました。
  • 広告のレポートと自分たちの画面を毎日突き合わせる。 21と1は、1日見ただけで分かる差でした。0秒のセッション、旧バージョンの起動、再訪なし。この三つがボットの痕跡です。
  • 「実際の行動」の指標を先につくる。 私たちのアプリは、ほとんどがログインなしです。だから広告を出す前に、「1ゲーム終了」「キューブを1つ解き終える」のようなイベントが先になければなりません。それがなければ、私たちもインストールを数えるしかありません。

代わりにしていること二つ

二つの方向へ進みます。あの記事を読む前から進んでいた道です。ひとつは見つけてもらうことです。事実 今週、ホームページの正式な URL をひとつに整理し、構造化データ・RSS・サイトマップを入れ、Naver Search Advisor に登録し、アプリの説明をストアの文面に合わせ、このブログを開きました(2026年9月11日)。キューブアプリを探す人が「한눈 큐브(Cube at a Glance)」と検索することはありません。その人が検索する言葉で、こちらが先に答えを書いておく仕事です。遅いですが、ボットはいません。

もうひとつはすでに人がいる場所に入ることです。Sweet Drop は2026年8月30日から、반장키우기 は2026年9月8日から Apps in Toss の中で開けます(Apps in Toss では 디저트 머지、반장 키우기 という名前です)。Toss の中でそのまま開くので、インストールという敷居がありません。ここで人がどう来て、どれだけ残るのかを見ているところです。

そして新しいプラットフォームをひとつ準備しています。何なのかは、準備ができたら書きます。あの記事を読んではっきりしたことがひとつあります。そこで見る数字も「インストール」には置きません。

この文章は答えではなく悩みです。同じ悩みを持つ方がいれば hi@oddduck.ooo に教えてください。ボットでなければ歓迎です。