Analytics(以下GA)では、複数ドメインのドメインにまたがる計測の実装は、少々煩雑です。リンク(aタグ)にしろフォーム(formタグ)にしろ、基本的には公式のリファレンスにある通りに実装すればいいのですが、フォームタグでgetメソッド(method="get")を使用している場合、バグがあり、公式の説明通りやってもドメインまたぎ時のクッキー情報の受け渡しがうまく出来ません。今回は、このバグの回避方法と併せて、jQueryを使用したクロスドメイン対応自動化の方法も紹介します。■jQueryを使って自動化しよう■フォーム使用時のバグと回避方法フォーム利用時の実装方法は公式で次のように紹介されています。this]);">...</form>この方法、postメソッド使用時(method="post")では何の問題もないのですが、getメソッドを使用すると、クロスドメイン処理が行われません。セッションが切れてしまいます。(ここには大丈夫って書いてあるんだけど、、、これは間違いです。このページ_link()の書き方例も間違ってるし。)getメソッド使用時には次のように記述する必要があります。true]);">...</form>このように第2引数に「true」と書くことで、セッション情報がパラメータ(?)ではなく、ハッシュ(#)で付くようになります。このハッシュで付いた情報をGAが認識できるようにするためには、(リンク先の)トラッキングコードを次のように変更する必要があります。true]);」を追加することによって、トラッキング変数をハッシュで受けることが出来るようになります。■ハッシュの利点このようにハッシュにすることは、getメソッド利用のフォームだけでなく、postメソッドを利用したフォームや、aタグでのリンクにも使用することが出来ます。(また、キャンペーントラッキングでも使用することが出来ます。)aタグで利用するには次のように書きます。ようにハッシュを使用する方法の利点の一つは、javascriptでハッシュを消せばURLをキレイにすることが出来るという点です。清水誠さんの記事では、パラメータ付きURLのデメリットとして次のように挙げられています。実践CMS*IAしかし、ハッシュの場合はこの記事で紹介されているように、ハッシュのみを消すことが出来ます。消してしまえば、クッキー情報のついた汚いURLがブックマークされたり、ソーシャルで拡散されるのを防ぐことが出来ます。※ただし、アンカーリンクの場合だけは、アンカーが機能しなくなってしまうので、ハッシュは使えません。■jQueryを使って自動化しようハッシュを消すのと併せて、aタグやformタグへのクロスドメイン対応を自動化する方法を紹介します。<head></head>内に記述します(それ以外の場所でも大丈夫です)。–>※最初のjQueryの呼び出しは、他のところに書いてあれば不要です。その後の記述は、必ずjQuery呼び出しの記述の後に書いて下さい。リンク先の計測コードを次のようにして、クロスドメインの処理が終わったらハッシュを自動で消す処理を行います。(清水誠さんの記事で紹介されている方法をちょこっとだけ手直ししてます。”;}});_gaq.push([‘_trackPageview’]);これで、リンク元ページでのクロスドメイン計測関数の自動付与と、リンク先ページでのクッキ情報ハッシュの自動削除が可能になります。ハッシュは一部ブラウザでは「#」が残ってしまいますが、そこはご愛嬌ということで。...WEBマーケターのミッションとは?今日、色々と考えたことを備忘録としてメモメモ。...Googleウェブマスターツールが面白い!これは、すごい。自分でサイト持っている人は、是非使ってみてほしい。PM初めまして新ドメインへの引っ越しにともない、この手のスクリプトをいろいろ見てテストしてみましたが、こちらが最も、理にかなったスクリプトで、説明も分かりやすく感謝しています。一つだけ分からないことがあり、質問させてください。ご返答頂けるなら何よりも幸いです。{のYOUR-DOMEINですが、A、Bのサイトがあったとして、AにアップしたものはAドメイン、BにアップしたものはBドメインということでしょうか。それとも、リンク先のドメインということでしょうか?はたまた、アナリティクスに登録している元になっているドメインでしょうか。PMコメントありがとうございます。Aドメイン、BにアップしたものはBドメインということでしょうか。それとも、リンク先のドメインということでしょうか?この場合、YOUR-DOMEIN.COMというのは、そのリンクの飛び先のドメインとなります。AドメインからBドメインにリンクされている場合はBドメインを記載することになります。(専門的な話をすると、この部分でクロスドメイン用パラメータを発行するかどうかの一致matchをさせています)コメントどうもありがとうござます。私もこちらの設定で現在クロスドメイトラッキングを試し中です。各サイト別々の記述を書き分けるのが面倒な場合、外部jsファイルに2つとも記述して同じものを読み込ませる形でも大丈夫なんでしょうか?現状テストしているサイトでは、クロスドメイン用のパラメータが付いて、その後、#以降が消される望み通りの動作にはなっているのですが、GoogleAnalyticsで確認したところ、セッションがそれぞれのドメイン間の遷移の際に切れているようです。外部jsファイルにドメイン間のリンク遷移設定を2つともまとめて記述しているのが原因でしょうか。おわかりになりましたら、教えていただけますでしょうか。お手数をお掛け致しますが、どうぞ宜しくお願い致します。PMコメントありがとうございます。頂いたコメント内容だけではちょっと原因は分かりません。実際のサイトのURLか外部jsを共有頂ければ、分かるかもしれません(あるいは、やはりわからないかもしれませんが^^)。問題の切り分けとして、「まとめて記述している」部分をひとつだけにしてみて、そのサイトだけでセッションがつながっているかを確認するなどしてみると、原因部分が分かるかもしれません。