railsでゴールページに直接訪問されてコンバージョン増えたと喜ばないための1行
1236 ワード
ウェブサイトを運営していて「やった、コンバージョンが爆裂した!」
と思っていたらbotがthanksページに大量に訪問していたり、コンバージョンページをブックマークしているユーザーがいてコンバージョンが増えていた事、一度はありますよね?
thanksページに直接URLに訪問された場合、他ページにリダイレクトすれば良いですが、同じURLのままエラーページを返すとGoogleAnalytics上でコンバージョンとして扱われます。
ここでは簡易的に、railsでエラーページを表示しているのにコンバージョンになる事を防ぐスクリプトを説明します。
先頭の1行がエラーでかつゴールページの判定をしている箇所です。
<% if response.code.to_s != "200" && (request.original_url =~ /\/thanks/) != nil %>
<!-- NOTHING -->
<% else %>
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'xxxxx', 'auto');
ga('send', 'pageview');
</script>
<% end %>
ステータスコードが200(OK)以外で、さらにURLが/thanksに一致すればgoogle analyticsのタグをHTMLに含めません。
ステータスコードをto_sして"200"と文字列にそろえて比較しています。
目標到達プロセスを設定していても、ゴールページのURLでページが表示されるとコンバージョンにカウントされます。それを水際で回避するためのものです。
Author And Source
この問題について(railsでゴールページに直接訪問されてコンバージョン増えたと喜ばないための1行), 我々は、より多くの情報をここで見つけました https://qiita.com/tkosuga@github/items/622f3960478c7561053c著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .