2009-07-15 10 views
24
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www."); 
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E")); 

try 
{ 
    var pageTracker = _gat._getTracker("UA-XXXXXXX-1"); 
    pageTracker._trackPageview(); 
} 
catch(err) {} 

このスクリプトを外部のJSファイルから呼び出すことは可能でしょうか?私のようなものにしたかった:Googleアナリティクスのコードを外部のJSファイルに入れることはできますか?

<script type="text/javascript" src="googleanalytics.js" ></script> 

と私のHTMLページのそれぞれにこれらのいずれかを置きます。
上記コードはgoogleanalytics.js内にあります
Googleの指示は、各ページにコードを挿入することでした。問題は、トラッキングコードを変更するのが難しくなることです。 (DEVとPRODページには異なるトラッキングコードを使用しています)。
私はそれを試してみましたが、それは動作していないようです。
何か問題がありますか?それとも問題を引き起こしている何か他のものがありますか?

重要FYI 我々は関数にIE6と8つのブラウザ(はい、私は、私に教えする必要がわからない)

答えて

14

はい可能です。それが動作していない場合は、何か他のことが起こっている。

Googleアナリティクスは通常、レポート作成の約1日遅れているため、変更を加えると、動作していることを確認するまでに時間がかかります。私がしたいことは、トラッキングが正しく設定されていることを確認するためにトラフィックが頻繁に届かないページにヒットすることです。

また、<scriptタグのリンクを絶対リンクにしてみてください。アナリティクスコードが間違っている場所を探しているだけかもしれません。

+0

はい、私はGAが一日遅れていることを認識していますが、問題は、コードを適用してから4日後であっても、DEVサイトを一日中サーフィンしていてもヒットを登録していないということです4日間、バグや不具合を修正しました。 うまくいけば、登録などで何か問題があったと思います。新しいトラッキングコードを再度申請し、その後に何が起こるかを確認します。再保証ありがとう! – Nikko

+0

DEVサイトからのヒットを登録していないと言うと、DEVサイトのURLは次のようなものです:http:// mycomputer/ もしそうなら、Googleは完全にはないドメイン名修飾された少なくとも、私のテストでは何が起きているようです。 http://mycomputer.mycompany.com/を使用してDEVサイトにアクセスし、ヒットが登録を開始するかどうかを確認してください。 – slolife

+0

devサイトは他の場所でホストされています。そのドメインはすべてのドメインであり、私が使用しているマシンではローカルにホストされていません。問題は、ファイルがホストされているdevサーバーが既に他のサイトとgoogle analyticsを使って作業していたことですが、そのサイトでは私がここで参照している外部JSスクリプトを使用していませんでした。 – Nikko

0

ラップGoogleのコードを使用していることに注意して、各ページ上で実行してください。)

4

各ページの下部にコードを出力するためにサーバー側言語を使用できませんか? output_ga()のような関数を持ち、それを呼び出します。あなたはそれを1か所で変更できます。

+1

私が働く会社は、このためにサーバー側のスクリプトを使用しない方が好きなので、これは問題ではありません。もしそれが私に任せていれば、これは私がそれをやる方法とまったく同じです。 – Nikko

1

これは、Googleアナリティクスが従来のスクリプトを2つのスクリプトタグに分割したのと同じ方法でスクリプトを2つのスクリプトに分割する場合に有効です。

3

似たような問題を解決しようとしているうちに、私はこのポストを訪れました。さらに検索した後、私は私のために働いていた別のポストに出くわした:

Using Google Analytics asynchronous code from external JS file

私はそれがグローバルになるように、それは中だった関数の外のvar _gaqを移動しなければなりませんでした。

希望すると便利です。 GAアカウントが古いAnalyticsを使用して作成されたため

0

@Nikko

一つの可能​​性のある理由があります。したがって、従来の分析コードga.js(_gaq.push)を使用する必要があります。 GAウェブサイトの従来のGAアカウントで新しいanalytics.jsを使用する際に互換性がないことが判明しました。ヒットは表示されないので、私は伝統的なga.jsを使用するように強制されました。

また、あなたは以下のように、ヒットが正常に送信されている保証するために、コールバック関数を設定することがあります。

//traditional way 
_gaq.push(['_set', 'hitCallback', function() { 
    console.log("%c ga.js finished sending pageview data to analytics %s ", "color:black; background: pink", pageviewUrl); 
}]); 

//new analytics way 
ga('send', 'pageview', { 
      'page': pageviewUrl, 
      'hitCallback': function() { 
       console.log("%c analytics.js done sending data. pageview url = %s ", "color: black, background: pink", pageviewUrl); 
      } 
     }); 

どこpageviewUrl =助けサイト

希望のURLを!

関連する問題