55

私は他の人のウェブサイト(一種のウィジェット)に埋め込まれることになっているウェブアプリケーションを書いています。私はGoogleAnalyticsを使用して、埋め込みWebサイトでスクリプトのすべてのインスタンスにアクセスするすべての人を追跡しています。問題は、それらのWebサイト自体のGoogle Analyticsアカウントに干渉しないように、使用方法がわからないことです。トラッカー変数を名前空間に保存しているので、そうするべきだと思いましたが、GAがその設定をCookie(__utma、__ utmzなど)に保存し、それらのCookieが両方のトラッカーによって使用されることに気づいていません。同じページに2つあります...たとえば、_setVarを使用してある種のユーザー定義変数をGoogleAnalyticsに格納し、埋め込みサイトが同じことを行う場合、互いの値を上書きします...

もちろん、GoogleがCookieの名前をカスタムの名前に変更する方法を提供した場合は最も簡単ですが、それを行う方法が見つかりません。Cookieのドメインまたはパスを使用して別のCookieを強制することを考えましたが、ドメインまたはパスを実際のドメイン/パス以外のものに設定すると、リロード後にCookieをページで読み取ることができないため、これは機能しません。 ..

1つのページに2つのトラッカーを配置し、それらが互いの設定を上書きしないように別々のCookieを使用する方法を知っている人はいますか?

または、それが完全に不可能な場合-これが可能なGAと同様の機能を備えた他の分析サービスはありますか?(イベントやキャンペーンの追跡などの高度な機能が必要です...)

4

9 に答える 9

56

新しい非同期トラッキングコードで簡単になりました。:)

https://developers.google.com/analytics/devguides/collection/gajs/#MultipleCommands

于 2010-01-06T13:24:26.153 に答える
18

Google Analyticsトラッキングコードの複数のインスタンスをウェブページにインストールして、アカウントの複数のプロパティにデータを送信できます。 https://support.google.com/analytics/answer/1032400?hl=en

または、クリエイティブになって、Googleの指示に従って次のことを行うことができます。https://developers.google.com/analytics/devguides/collection/analyticsjs/advanced#multipletrackers

<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', 'UA-XXXX-Y', 'auto');
  ga('create', 'UA-XXXX-Y', 'auto', {'name': 'newTracker'});
  ga('send', 'pageview');
  ga('newTracker.send', 'pageview');

</script>
于 2014-02-05T03:05:45.457 に答える
10

Google Analyticsは同じページ上の複数のトラッカーとうまく連携するため、異なるCookie名を使用する必要はありません。質問の回答を参照してくださいGoogleAnalytics-複数のアカウントの複数のトラッカー?

アップデート

複数のトラッカーを使用することは有効な方法ですが、いくつかの落とし穴があります。それらの1つ、つまり、それぞれに異なるユーザーセグメンテーションを適用することはできません。John Hensonは、GAにさまざまなCookieを使用するように強制する回避策を示しています。これを確認する必要があるかもしれません。

于 2009-08-18T14:09:27.200 に答える
8

誰かがまだこの問題を抱えていて、簡単な貼り付けが必要な場合、私の問題は、Googleトラッキングを使用している可能性のある他の人のページに追加されていたコードに自分のGoogleトラッキングを使用することでした。私はこれをテストし、期待どおりに機能することを確認しました。

var _gaq = _gaq || [];

_gaq.push(['some_unique_name._setAccount', 'UA-xxxxxxxx-1']);
_gaq.push(['some_unique_name._trackPageview']);

(function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

イベントも使っています

_gaq.push(['some_unique_name._trackEvent', 'Event Category', 'Event Action', 'Event Label']);

誰かがそれに関する問題を見つけたら、私に知らせてください。

于 2013-01-18T23:47:34.123 に答える
3

Törökによってリストされたドキュメントによると、正解は_setCookiePathを使用することであるようです。これにより、各トラッカーは完全に異なるCookieを使用します。

ウェブサイトのサンプルコード:

<script type=”text/javascript”&gt;
    var pageTracker = _gat._getTracker(”UA-11111-1″);

    pageTracker._setDomainName(’domain.com’);

    pageTracker._setCookiePath(’/subdirectory/’);
    pageTracker._trackPageview();

    var otherTracker = _gat._getTracker(”UA-22222-1″);
    otherTracker._setDomainName(’domain.com’);
    otherTracker._trackPageview();
</script>

あるドメインから別のドメインにリンクする場合、他のドメインに投稿するすべてのリンクは次のようになっている必要があります。

<a href="pageTracker._linkByPost('otherdomain.com/petStoreCart/legalTerms.php');"

これにより、上記のスクリプトがCookie(ソース)を設定するために使用するGoogleAnalytics固有のクエリ文字列値が追加されます。

于 2009-11-02T11:10:21.697 に答える
3

Googleはこの慣行に反対することを推奨しているようです。

1つのウェブページにGoogleAnalyticsTrackingコードの複数のインスタンスをインストールすることは、サポートされている実装ではありません。1つのインスタンスを除くすべてを削除し、追跡するすべてのページに正しいプロファイルのコードがインストールされていることを確認することをお勧めします。

https://support.google.com/analytics/bin/answer.py?hl=en-GB&answer=1032400

于 2012-09-13T20:38:53.840 に答える
1

私はこの構造を私たちのサイトとクライアントサイトで使用しましたが、それは魅力のように機能します...

<script type="text/javascript"> 
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")); 
</script> <script type="text/javascript"> 

try {

//Original tracking
var pageTracker_ORIG = _gat._getTracker("UA-XXXXXXX-1");
pageTracker_ORIG._setDomainName('.sleepinggiantmedia.co.uk');
pageTracker_ORIG._trackPageview();

//New Analytics tag
var pageTracker_SGM = _gat._getTracker("UA-XXXXXXX-1");
pageTracker_SGM._setDomainName('.sleepinggiantmedia.co.uk');
pageTracker_SGM._trackPageview();


} catch(err) {}

于 2011-01-27T14:13:48.780 に答える
-2
var otherTracker = _gat._getTracker(”UA-22222-1″);
otherTracker._setDomainName(’domain.com’);
otherTracker._trackPageview();
于 2009-12-31T14:40:58.897 に答える
-3

この人は、GoogleAnalyticsヘルプfourmで同じ問題を抱えています。スレッドを見てみることをお勧めします。ただし、通常、GAは複数のトラッカーをサポートしていません。

私はClickyが好きですが、お金がかかります。

于 2009-08-06T14:01:48.820 に答える