はてなブログへのページビューをGoogleタグマネージャーで測定することにしたら、
- ページタイトルとスクリーンクラス別
の表示回数トップが「はてな」になってしまって計測結果が狂ってしまった件。
Googleタグマネージャーのページビュー・トリガの設定を見直すことで、ようやく復旧した。
はてなブログへのアクセス解析をGA4で行っている。
つい先日、Googleタグマネジャーの方から Google Analytics にページビューイベントを送信させるよう、大幅に設定を変更したところ、まずは、一切何も検出されなくなるという事態に陥った。
これについては Googleタグマネージャに登録したタグの種類の間違いだった。
タグを正しくすると再度測定されるようになったが、今度は、ページタイトル「はてな」がアクセス数トップで記録されるようになってしまった。
ページタイトルとスクリーンクラス別のトップが「はてな」に汚染された
GA4「ページとスクリーン」画面で確認すると
- ページタイトルとスクリーンクラス別
の表示回数トップが「はてな」になってしまっている。
この表示回数トップとなった余計な「はてな」というページの正体が何なのかわからなかったので、GA4のデータの探索画面で、色んなディメンションを参照してみて調べた。すると、
- ページ遷移+クエリ文字列
- ページの参照URL
というディメンションの値が、自分のブログ内での内部トラフィック(内部での画面遷移)を示唆するようなURLになっていた。
ページ遷移+クエリ文字列の記録が、
- /iframe/hatena_bookmark_comment?(以下略)
となっていたので、あくまでも推測だが、
- 他の方が記事をはてなブックマークしており、そのブックマークへのアクセス
が記録されたか、または
- 他の方からもらった記事へのコメント
- 他の方からもらった記事へのはてなスター
など、記事に対するやりとり機能の実装が HTMLの interanal frame となっていて、はた目にはわからないけれど記事に対してページビューが発生する都度、コメントやスターの数ぶんだけ、裏で余計にアクセス記録も多重送信されているのではないか、と仮説を立てた。
GA4の内部トラフィック除外のフィルタを有効にしてみた(実は関係なし)
まずは、GA4の内部トラフィック除外のフィルタを確認してみた。
すると、なんということでしょう…
- 現在の状態
のところが何と「テスト」となっていた!ので、「有効」に変更した。
どうやら数年前から設定をテストにしたままで忘れていたらしい。
ページビュー・イベント送信をタグマネジャーに切り替える前は、設定を忘れていてもたまたま大丈夫だったのだが、タグマネジャーに切り替えた後には問題として露見したように思えた。
とりあえず有効にしたままで、しばらく経過観察してみる。
3日後、何ら問題解決していないことが判明 orz
GA4の内部トラフィック除外のフィルタは、この問題の原因ではないことが判明した。
ページタイトルとスクリーンクラス別の表示は、何も変わらなかった。
前回はサマリーしか確認しなかったが、今回はより深く、明細に踏み込んで確認してみた。面倒だが一覧を全部見てみた。
するとページ遷移+クエリ文字列の値が、/frame/hatena_bookmark_comment?cannonical_ 云々となっているアクセス記録が多数計上されている。
ページの参照URLはそれぞれ異なるが、ページ遷移+クエリ文字列の部分は、すべて同じ文字列になっていた。
ということは、Googleタグマネージャーを設定し直し、このページ遷移+クエリ文字列に対するページビューについてはデータ送信させないように除外をすればよいはずだ。
タグマネージャーの All Pages トリガーを削除して追加し直す
現在のところ、Googleタグマネージャーの All Pages トリガーは無条件で発火するように設定されている。まずは、この既存のトリガーを削除した。
その後、右上の+ボタンを押して、無題のトリガーを追加する。
※既定で用意された選択肢から選ぶと、条件を追加できずにプチ嵌りするので注意
- 「このトリガーの発生場所」を「一部のページビュー」に変更
- 「イベント発生時にこれらすべての条件が(以下略)」の部分の文字列欄に /frame/hatena_bookmark_comment を指定
してみた。
トリガーに「除外 /frame/hatena_bookmark_comment」というベタな名前を付けて保存すると、配信トリガーが変更された。
なんかいい感じじゃない?
面倒くさいので、テストもせずにそのまま公開した。しばらく経過観察してみる。
文字列にポカミスが露見した
一週間後、再度確認したが何ら変化が見られなかった。
Googleタグマネージャーの設定を再び確認すると、本来「iframe」と記述すべきところ、「frame」と除外設定したポカミスだった。愛が足りない、なんちゃって。
正しく iframe に変更して、再び経過観察する。
タイプ指定の誤りが露見した
数日後、やはり変化が見られなかったので、再びタグマネジャーの設定を確認した。
本来「Page URL」と指定すべきところ、「Google アナリティクス GA4 設定」を指定していたことに気付いた。我ながら意味が分からない。
Page URL に /iframe/hatena_bookmark_comment を含まないときに、ページビューを送信するように変更した。
ついに「はてな」の汚染が消えた(成功)
昨日時点のアクセスについて、GA4「ページとスクリーン」画面で確認した。
するとついに、
- ページタイトルとスクリーンクラス別
の表示回数トップが「はてな」ではなくなった。
このブログでは、昨日は25ページしかアクセス記録なかったので、最下位25位まで全部のアクセス記録を確認したところ、ページタイトルとスクリーンクラスが「はてな」のアクセスは一つも記録されていなかった。
どうやらついに、GA4のページタイトルとスクリーンクラス別の「はてな」へのアクセス記録を全部除外することに成功したようだ。