こんにちは。ワラゴンです。
前回の記事で、アナリティクスの計測から自分のアクセスを除外する代表的な方法を5つ紹介しました。
PCからのアクセスを除外する方法は、Google オプトアウトアドオンの一択で良いのですが、これに加えてスマホからのアクセスを除外するために別の対策を施す必要があります。
スマホからのアクセスを除外する方法にもいろいろあって、最も有名なのがcookieを使う方法ですが、この方法は少しデメリットもあります。
・設定が2年しか続かない
・リアルタイムレポートでは計測されてしまう(ぬか喜びの元)
・設定方法がややこしい
今日は、そんなデメリットを軽減する決定版である「ブックマークレット方式」について、具体的な設定方法を紹介したいと思います。
ちなみに、ブックマークレットとは、ブックマークとよく似た言葉ですが、異なる用語です。
でもお互いに似たような部分もあるので、なんともややこしい用語です。
ブックマークと言えば、皆さん知っていると思いますが、要はお気に入りページを記憶しておく機能のことですね。
一方、ブックマークレットというのは、ページを記憶するわけではなく、特定の操作を記憶させるものです。
ブックマークレットを登録しておくと、あらかじめ決められた操作をボタン一発で実行できるようになる、というものです。
それでは実装方法を見ていきましょう。
概要
この方法の基本的な作戦としては以下になります。
・サイト側で、Local Storageに「ある設定」がある場合は、アナリティクスコードを生成しないように条件分岐させる(コーディングが必要)
・ブックマークレットを使って、ブラウザのLocal Storageという領域に、ある設定を記憶させる
それではひとつずつ見ていきます。
サイト側で、Local Storageに「ある設定」がある場合は、アナリティクスコードを生成しないように条件分岐させる
Stinger Plus 2を使っている場合、親テーマのanalyticstracking.phpを子テーマ側にコピーした上で、下のように加工します。
wordpress の無料テーマstinger plus 2 のアナリティクスをanalytics.js から gtag.js にカスタマイズするよ
Stinger Plus 2ではないテーマを使っている場合でも、アナリティクスのコードを吐き出す部分がきっとあるので、探してみて下さい。
analyticstracking.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<?php if ( trim( $GLOBALS["stdata7"] ) !== '' ) { ?> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-<?php echo esc_js( $GLOBALS["stdata7"] ) ;?>"></script> <script> if( localStorage['ga_exclude']!='1'){ window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-<?php echo esc_js( $GLOBALS["stdata7"] ) ;?>'); } </script> <?php } |
上記のハイライトされている部分に注目してください。
アナリティクスのトラッキングコードを以下のような条件が成立した時だけ読み込むようにしています。
if( localStorage['ga_exclude'] != '1'){
}
※localStorageという領域のga_exclude に 1 が設定されている時は、アナリティクスのトラッキングコードを表示しないという意味。
※ちなみに、上のコードはテーマがStinger Plus 2の場合です。
お使いのテーマが異なる場合は、コードも異なると思いますが、基本的にはに囲まれた部分で、アナリティクスのコードが書かれている部分をif( localStorage['ga_exclude'] != '1'){}で囲んであげる、と考えれば良いです。
ブラウザのLocal Storageという領域に、ある設定を記憶させる
ブックマークレットの登録
以下のコードを全選択します。
1 |
javascript:localStorage['ga_exclude']='1'; |
今、あなたがAndroid の Chromeでこのページを見ているなら、上のボックスの右上にある「<>」を押して、中の文字列を長押ししましょう。
すると、Select Allが出てくるので、それをクリックするのが簡単です。
どのページでも良いのでブックマークします(お気に入りに登録)。
作成したブックマークを編集します
↓
タイトルを変更し、上でコピーしたコードをURL欄に入力して保存します。
ブックマークレットの実行
さて、上で登録したブックマークレットを実行する必要があるわけですが、AndroidのChromeでは少し特殊な方法で実行する必要があります。
普通に、上で登録したブックマークにアクセスすればいいだけのように思えますが、実際にはうまくいきません。
2019年7月の段階では、上記のように記憶したブックマークにアクセスしても、何も起こらず、元に開いていたページが表示されるだけです。
そこで、以下のように実行します。
ブックマークに登録した名前を覚える。
対象のWebサイトを開いてアドレスバーをクリックする。
アドレスバーに覚えたブックマークの名前を入力すると、候補が現れるので、対象のブックマークを選択する。
↑javascript: から始まっているはずなので、分かりやすいと思います。
すると、以下のように1と表示される。
これで完了です。
実際にアクセスしてみて、リアルタイムで計測されないことを確認しましょう。
設定を削除するには?
設定を削除したい場合は、AndroidのChromeで、設定->プライバシー->Clear browsing dataと進み、cookieを削除すればLocal Storageも一緒に削除することができます。
まとめ
いかがでしたでしょうか?
やっぱりちょっと難しかったですね。
でも一度やっておけばcookieを意図的に消さない限り有効なので、最初の難関を乗り越えれば何とかなります。
・・・でも制作会社などでお客さんにこの操作をしてもらうのは少し難儀ですね、、、
というわけで、全然まとまっていないですが、Local Storageを使って、自分のスマホからのアクセスを除外しましょう。