KiSAKU
技術系約5分で読めます

自分のブラウザでは、一度も動いていなかった

公開

タグマネージャーの設定を足したので、公開する前に動きを確かめようとしました。プレビューを起動して、サイトのURLを入れて、接続を待つ。

繋がりませんでした。そして原因を追ったら、プレビューの話では終わりませんでした。

この記事で扱うこと

デバッグ用の接続が繋がらなかったので、サイトの作りのせいだと考えた話です。その見立てが外れていたこと、本当の原因、そして「自分の環境では一度も動いていなかった」ことに気づくまでを書きます。

最初の見立て

出たのはタイムアウトでした。心当たりの候補が3つ示されます。タグが設置されていない、古い形式のタグである、拡張機能や同意ダイアログにブロックされている。

1つめで納得しかけました。このサイトは同意を得るまで計測の仕組みを読み込まない作りだからです。ページが表示された瞬間にはタグが無く、同意の記録を読んでから初めて読み込まれます。

時点 ページの状態
HTMLが届いた タグは無い
画面が組み上がった 保存されている同意を読みに行く
同意があった ここで初めてタグを読み込む

探しに来る時刻と、現れる時刻がずれている。筋は通っています。方針の代償として受け入れるところだと判断しかけました。

心当たりがあると、そこで止まる

自分の作りに説明が付く候補があったので、残り2つを読み飛ばしていました。

「読み込みが遅いせい」は、確かめずに信じられる程度にはもっともらしい話でした。もっともらしさは、確かめない理由になります。

確かめたら、違った

公開したあと、プレビューを使わずに普通のページで試しました。同意は済んでいて、押したときに積まれる中身も正しい。ところが、タグマネージャー本体がページ上に存在していませんでした。

調べたこと 結果
同意の記録 あり(1か月前に同意済み)
タグを読み込む指示 ページに入っている
積まれたデータ 正しい中身が3件
タグマネージャーの本体 存在しない

読み込む指示は出ているのに、読み込まれた形跡が無い。遅れているのではなく、届いていません。

直接取りに行ってみました。

googletagmanager.com   → Failed to fetch
google-analytics.com   → Failed to fetch

どちらも通信そのものが成立しません。このブラウザで、計測に関わる行き先がまとめて遮断されていました。拡張機能によるものです。

つまり、自分のブラウザでは一度も動いていない

ここが本題でした。プレビューが繋がらないのは結果のひとつに過ぎません。

起きていたこと いつから
デバッグ接続が繋がらない 今回
自分の閲覧が計測されない おそらくずっと

同意のバナーで「同意する」を押していたので、送っているつもりでいました。実際には1件も出ていません。

皮肉なことに、自分のアクセスを数えないための設定を、以前わざわざ入れています。IPアドレスで自分を除外する設定です。そちらが効く前に、ブラウザの段階で止まっていたことになります。同じ目的の壁が二重にあって、片方の存在に気づいていませんでした。

結果が同じだと、原因の違いが見えない

「自分の分が数字に出ない」という結果だけ見ていると、除外の設定が効いていると解釈できます。実際その解釈で納得していました。

意図した仕組みと、意図しない遮断が、同じ見た目になる。片方を入れたあとは、もう片方を疑う機会が無くなります。

見立てが外れた理由

振り返ると、手元に説明が1つあったのが良くなかったところでした。

考えたこと
示された候補 3つ
検討した候補 1つ
選んだ理由 自分の作りで説明が付いたから
実際 3つめ(ブロックされている)

自分が作った部分に心当たりがあると、そこで探索が止まります。自分の設計を疑うのは良い習慣ですが、疑う先が自分だけになると、外側が見えません。

確かめる手間は大きくありませんでした。行き先に直接取りに行って、返ってくるかを見るだけです。見立てを立てた時点でそれをやっていれば、同じ日に分かっていました。

どう確かめるか

この種の遮断は、画面に何も出ません。エラーも警告も出ず、ただ存在しないだけです。確かめる方法は決まっています。

見るもの 何が分かるか
読み込む指示が入っているか こちらのコードが正しいか
本体が存在しているか 実際に届いたか
行き先に直接取りに行く 遮断されているかどうか

1つめだけ見て満足していたのが、今回の抜けです。指示を出したことと、実行されたことは別でした。

今回の学び

まず、もっともらしい説明が1つあると、そこで止まるということ。候補が3つ示されていたのに、自分の作りで説明が付く1つめだけを検討していました。心当たりがあることは、確かめない理由になりません。

次に、意図した遮断と、意図しない遮断は同じ見た目になること。自分の分が数字に出ないのは設定どおりだと思っていました。手前でも止まっていたことには、別の用事が無ければ気づきませんでした。

そして、読み込む指示を書いたことと、読み込まれたことは別だということ。コードを見て確認できるのは前者だけです。後者を見るには、動いているページの中を覗きに行く必要がありました。

この記事を共有する

Xでポストはてブ
← ブログ一覧へ戻る