update.一見簡単に見えるJavaScriptでのリダイレクト(URL転送)ですが、よく知られた方法にはある落とし穴があり、Googleアナリティクスで正常な解析が行えなくなります。どんな落とし穴があるかと、その回避策について解説します。Googleアナリティクスに悪影響を与えずにJavaScriptでリダイレクトする方法と同じ内容となっています。.htaccessなどを用いたサーバー側でのリダイレクトが技術上できず、JavaScriptを利用してリダイレクトしているケースをたまに見かけます。したサイトでは、見た目上は問題なく動作しているものの、実はGoogleアナリティクスなどを用いてアクセス解析を行うと致命的な問題点がみつかります。この記事では、JavaScriptでリダイレクトをせざるを得ない状況下で発生する問題点を挙げながら、それらの問題点を解決するための方法を紹介します。いえ、これをやってしまえば問題は全くない、というものではなく可能である限りサーバー側でのリダイレクトを行うように心がけてください。JavaScriptでのリダイレクトだけで発生する問題ではなく、メタタグのRefreshを使っても同じ問題が発生しますし、.htaccessなどのサーバー側リダイレクトを行っても、設定によっては問題は発生します。"http://example.com/sp/index.html";}のような形での実装になります。この方法は単純であるが故に、よくやってしまいがちな方法となります。リファラー情報が自サイトになってしまうため、Googleアナリティクスではダイレクト流入となってしまうユーザーからの見た目上は問題がないものの、リファラー情報は自ドメインとなってしまいます。最新のユニバーサルアナリティクスでは、デフォルトでは自ドメインからの流入はダイレクト流入と扱われてしまいます。結果として、検索エンジンや他サイト流入でページAを開いたとき、上記の実装によるJavaScriptリダイレクトによってページBにリダイレクトしてしまうと、ページBにランディングしたセッションとなりますが、その流入経路は検索エンジンや他サイト流入ではなく、「ダイレクト流入」扱いとなってしまいます。カスタムキャンペーンやAdWordsのgclidパラメーターが抜け落ちてしまう上記の実装方法は意図的に割り振っているカスタムキャンペーンやAdWordsとGoogleアナリティクスを連携したときに付与されるgclidというパラメーターをリダイレクト時に捨ててしまいます。そのため、カスタムキャンペーンを割り振ってサイトに流入しているものの、該当のカスタムキャンペーンを持った流入が実際より少なく計測されてしまいます。問題がある実装になっているかどうか、確認するには?下記の確認方法をもとに、実際のサイトの実装を確認してみてください。問題のある可能性が出てきたら、本格的にサイトの改修を検討したほうがよいと思います。問題点1の確認方法こちらを確認するには、GoogleやYahooの検索結果、その他雑多なサイトの中から、リダイレクトが発生するはずのURLへのリンクを探し出してください。その上でそのリンクをクリックし、リダイレクトされた流入において、Googleアナリティクスのリアルタイムビューを確認し、該当の参照元として流入が確認できれば問題ありません。自身のサイトにおいて、リダイレクトが発生するページを開いてみます。このときにURLに少し細工を行います。http://example.com/index.html?utm_source=Manual&utm_medium=Manual&utm_campaign=RedirectTestのような形で、通常のURLの後ろに「?utm_source=Manual&utm_medium=Manual&utm_campaign=RedirectTest」をつけて、サイトにアクセスをします。リダイレクトが発生したあとのURL欄をみてみてください。先ほど追加したパラメーターが残っているかどうか確認してください。Googleアナリティクスのリアルタイムビューで、「参照元:Manual、メディア:Manual、キャンペーン:RedirectTest」のような流入が確認できれば、問題ありません。上記のような流入が確認できなければ不適切な実装になっている可能性が高いです。重要な点としては、リダイレクト先で必要な情報を、リダイレクト時に正しく引き渡すことです。redirect_url;}となります。これにより、リダイレクト前のページにアクセスするときに用いられていたパラメーター情報が維持された上で、リファラー情報も新たにパラメーターに追加することで、リダイレクト先に本来のリファラー情報を知らせることができます。リダイレクト先ページのGoogleアナリティクスカスタムキャンペーンやAdWords用のカスタムキャンペーンなどのパラメーターは、上記のリダイレクトだけで十分に動作します。リファラー情報については上記の方法だけでは不十分となります。リファラー情報を対処するには、リダイレクト先ページのGoogleアナリティクスにもカスタマイズを加える必要があります。'pageview');のように、トラッカーの生成とページビューの送信の間に上記のifから始まる10行を記載します。これは、URLの中にリファラー情報が含まれていたら、そのリファラー情報を取り出して、Googleアナリティクスが送信するリファラーデータをその値で上書きしています。最後にもう1点、上記だけの場合、Googleアナリティクスで計測されるURLはreferrerパラメーター付きとなってしまうため、ページごとの分析時に不自由します。クエリパラメータ」に「referrer」と入れてください(もしすでに何か入っている場合は、カンマで区切って「referrer」を入れます)。これにより、「行動>サイトコンテンツ>すべてのページ」などのURLを見たときに、referrer違いの同一ページがまとまって表示されるようになります。まとめタイトルでは、「JavaScriptでリダイレクトを行うときの」と書きましたが、実際にはJavaScriptでリダイレクトしないパターンであっても、タグのRefresh命令であったり、サーバー側でのリダイレクトであっても、カスタムキャンペーンやgclidパラメーターが抜け落ちる可能性は十分にあり得ます。本来であれば、サイトを制作する側の人間がアクセス解析ツールの動作仕様を把握し適切に実装するべきですが、Web広告/Webマーケティングに関わる方は今一度、自分の担当しているサイトが適切に実装されているか、確認してみてはいかがでしょうか。最後に、ウェブマーケティングに関わるマーケターはこういった技術的な部分を知っている人はほとんどいないのが現状です。エンジニアがウェブマーケティングに関わることで、ウェブマーケティングの世界が広がります。Technologyを購読いただけますと幸いです。upLoginユーザーは見つかりませんでした。