{
    "archive_path": "archive/1789164496.093859",
    "base_url": "dayzlegame.com/blog/google-ads-bot-farm",
    "basename": "",
    "bookmarked_date": "2026-09-11 22:08",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/dayzlegame.com/blog/google-ads-bot-farm",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=dayzlegame.com",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": "dayzlegame.com/blog/google-ads-bot-farm/index.html"
    },
    "domain": "dayzlegame.com",
    "extension": "",
    "hash": "6SCFQGEFNDJH1CJE7N95",
    "history": {
        "archive_org": [],
        "dom": [],
        "favicon": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://www.google.com/s2/favicons?domain=dayzlegame.com"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-11T22:09:25.121332+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1789164496.093859",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-11T22:09:24.644335+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--head",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://dayzlegame.com/blog/google-ads-bot-farm/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-11T22:09:25.446049+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1789164496.093859",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-11T22:09:25.131781+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [],
        "media": [],
        "mercury": [
            {
                "cmd": [
                    "/app/node_modules/@postlight/parser/cli.js",
                    "https://dayzlegame.com/blog/google-ads-bot-farm/"
                ],
                "cmd_version": "1.0.0",
                "end_ts": "2026-09-11T22:09:31.194235+00:00",
                "index_texts": null,
                "output": "mercury",
                "pwd": "/data/archive/1789164496.093859",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-11T22:09:28.673995+00:00",
                "status": "succeeded"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "/app/node_modules/readability-extractor/readability-extractor",
                    "/tmp/tmpx9za_jab",
                    "https://dayzlegame.com/blog/google-ads-bot-farm/"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2026-09-11T22:09:28.663134+00:00",
                "index_texts": [
                    "I run a small puzzle app called Dayzle. I\u2019m a numbers guy, so a marketing optimization problem is right up my alley. Two weeks ago I turned on a Google Ads campaign for Android at CA$40 a day, with the goal set to installs.\nFor the first few days it barely spent anything. I had a target cost per install of $1.50, and Google couldn\u2019t find installs at that price. So, as a test, I removed the target. It immediately spent double my daily budget, CA$80, and reported 21 installs. I was excited. Then I checked my admin panel, which said 1. Turns out I didn\u2019t need to be a numbers guy to see something didn\u2019t add up.\nThe panel had missed them because old versions of the app don\u2019t report an install date. When I went into the raw analytics there were 21 new Android devices that day, and 20 of them were running an old version of the app that the Play Store had stopped serving days earlier. You can\u2019t get an old version from Play, so these phones got the app from somewhere else, even though every one of them said Google Play was the installer. Each opened the app once, spent zero seconds on any screen, and never came back. Twenty-eight phone models across nineteen states, which is a lot of variety for twenty phones that all did exactly the same thing.\nOver the whole two weeks: 56 installs billed, 33 with that pattern, 7 more from countries the campaign wasn\u2019t targeting, and 13 people. The 13 people finished 92 games between them, which is a nice signal that real people enjoyed what we\u2019ve built.\nThe 33 weren\u2019t behaving like people, so I suspected a bot farm, and the analytics export bears it out. Google optimizes for whatever goal you give it, and my goal was installs. This farm would watch the shortest video in my ad group, not click it, and then install our app from a saved copy of the file instead of from the store, because that\u2019s faster and Play might notice. Google counts a view followed by an install as a conversion, so the irony is that the more the farm \u201cinstalled\u201d our app, the better it looked to Google\u2019s algorithm, which sent more of my ads to the farm, which installed it more. A loop that guaranteed my ad spend was wasted.\nWhere I am now: waiting on Google\u2019s answer to the invalid-traffic form, and the campaign\u2019s goal is now \u201cwon a puzzle\u201d instead of \u201copened the app\u201d. It\u2019s low effort to make a script open an app and click around; it\u2019s higher effort to make one solve a Sudoku. The idea is just to make us more expensive to farm than the next app. That\u2019s probably decent protection for an app my size. Larger apps are worth the extra effort, and I\u2019d guess they see a lot more of this than they know. I\u2019ll report back on the refund.\nSo I guess this is my PSA: if you\u2019re relying on Google\u2019s install count for your ads, it\u2019s a real number, but it\u2019s definitely worth digging into. If a bot farm can find my tiny ad budget, it can definitely find yours."
                ],
                "output": "readability",
                "pwd": "/data/archive/1789164496.093859",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-11T22:09:26.979089+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--max-time",
                    "120",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) curl/curl 8.14.1 (x86_64-pc-linux-gnu)",
                    "https://dayzlegame.com/blog/google-ads-bot-farm/"
                ],
                "cmd_version": "curl 8.14.1 (x86_64-pc-linux-gnu)",
                "end_ts": "2026-09-11T22:09:26.971609+00:00",
                "index_texts": null,
                "output": "I spent $220 on Google app ads. 60% of the installs were robots. \u2014 Dayzle",
                "pwd": "/data/archive/1789164496.093859",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-11T22:09:26.963948+00:00",
                "status": "succeeded"
            }
        ],
        "wget": [
            {
                "cmd": [
                    "wget",
                    "--no-verbose",
                    "--adjust-extension",
                    "--convert-links",
                    "--force-directories",
                    "--backup-converted",
                    "--span-hosts",
                    "--no-parent",
                    "-e",
                    "robots=off",
                    "--timeout=120",
                    "--restrict-file-names=windows",
                    "--warc-file=/data/archive/1789164496.093859/warc/1789164565",
                    "--page-requisites",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 ArchiveBox/0.7.4 (+https://github.com/ArchiveBox/ArchiveBox/) wget/GNU Wget 1.21.3",
                    "--compression=auto",
                    "https://dayzlegame.com/blog/google-ads-bot-farm/"
                ],
                "cmd_version": "GNU Wget 1.21.3",
                "end_ts": "2026-09-11T22:09:26.953166+00:00",
                "index_texts": null,
                "output": "dayzlegame.com/blog/google-ads-bot-farm/index.html",
                "pwd": "/data/archive/1789164496.093859",
                "schema": "ArchiveResult",
                "start_ts": "2026-09-11T22:09:25.455267+00:00",
                "status": "succeeded"
            }
        ]
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": null,
        "dom": null,
        "favicon": "favicon.ico",
        "git": null,
        "media": null,
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "I spent $220 on Google app ads. 60% of the installs were robots. \u2014 Dayzle",
        "warc": null,
        "wget": "dayzlegame.com/blog/google-ads-bot-farm/index.html"
    },
    "link_dir": "/data/archive/1789164496.093859",
    "newest_archive_date": "2026-09-11T22:09:28.673995+00:00",
    "num_failures": 0,
    "num_outputs": 6,
    "oldest_archive_date": "2026-09-11T22:09:24.644335+00:00",
    "path": "/blog/google-ads-bot-farm/",
    "schema": "Link",
    "scheme": "https",
    "snapshot_id": "daf038aa-f6dc-4239-9899-a578051ae0dd",
    "sources": [
        "/data/sources/1789164496-import.txt"
    ],
    "tags": null,
    "tags_str": "",
    "timestamp": "1789164496.093859",
    "title": "I spent $220 on Google app ads. 60% of the installs were robots. \u2014 Dayzle",
    "updated": "2026-09-11T22:09:24.643872+00:00",
    "updated_date": "2026-09-11 22:09",
    "url": "https://dayzlegame.com/blog/google-ads-bot-farm/"
}