Google アナリティクスで複数のドメインを追跡したいと考えています。詳細には、ファンシーボックスで開かれる予約フォームがあります。この予約フォームは、別のドメイン (予約ツール プロバイダー) から iFrame として読み込まれます。ファンシーボックスを開く方法は次のとおりです。
<script type="text/javascript">
$(function(){
$("#fancylink").fancybox({
'type' : 'iframe',
'width' : 700,
'height' : 450,
'autoScale' : false
});
$("#fancylink").trigger('click');
});
</script>
<a href="https://booking.tool.com/path/CODE?languageCode=en#http://www.maindomain.com/offers/booking.html" target="_blank" id="fancylink">Booking</a>
これで、予約が Google アナリティクスで追跡されるようになります。iFrame の追跡に関するこの記事を読みました。
ヘッダーにはこれがあります:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-1234567-1']);
_gaq.push(['_trackPageview']);
_gaq.push(['_trackPageLoadTime']);
_gaq.push(['_setDomainName', 'maindomain.com']);
_gaq.push(['_setAllowLinker', true]);
(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);
})();
</script>
本文には、次のコードがあります。
<script type="text/javascript">
_gaq.push(function() {
var pageTracker = _gat._getTrackerByName();
var iframe = document.getElementById('fancybox-frame');
if(iframe){
iframe.src = pageTracker._getLinkerUrl('https://booking.tool.com/path/CODE?languageCode=en');
}
});
</script>
現在、追跡が機能していないという情報を入手しました。現在、Google アナリティクスには予約は表示されません (このタイプのコードが組み込まれていない古い購入のみ)。目標は、金額、どの記事などで購入を確認することです。これはどのように行うことができますか?予約ツール プロバイダーによると、すべてが Google アナリティクス用に設定されています。だから問題は私の側にあるはずです。
私の質問:
どのgetLinkerUrl
ように見えるべきですか?それは次のとおりです。
- https://booking.tool.com (別ドメイン)
- https://booking.tool.com/path/CODE?languageCode=en (現在使用中のURL)
- https://booking.tool.com/path/CODE?languageCode=en#http://www.maindomain.com/offers/booking.html (iFrame URL)
本文中の 2 番目に投稿されたコードの位置は正しいですか? ヘッダーに入れるべきですか?ファンシーボックスで動作しますか?私が間違っていることは何ですか?
編集:
iFrame の最初のステップからの Google コード:
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(
['_setAccount', 'UA-7654321-1'],
['_setDomainName', 'tool.com'],
['_setAllowLinker', true],
['_trackPageview', '/booking/CheckAvailability']
,
['b._setAccount', 'UA-424242-11'],
['b._setDomainName', 'tool.com'],
['b._setAllowLinker', true],
['b._setCustomVar', 1, 'HotelID', 'SOME_ID', 3 ],
['b._setCustomVar', 2, 'PageName', 'CheckAvailability', 3 ],
['b._setCustomVar', 3, 'searchId', '', 3 ],
['b._trackPageview', '/booking/CheckAvailability']
);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = 'https://ssl.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
iFrame の最後のステップの Google コード:
var _gaq = _gaq || [];
_gaq.push(
['_setAccount', 'UA-7654321-1'],
['_setDomainName', 'tool.com'],
['_setAllowLinker', true],
['_trackPageview', '/booking/BookingConfirmation'],
['_addTrans',
'xyzabc', // order ID - required = reservationNumber
'Shop', // affiliation or store name
'800.00', // total - required = totalPrice
'0', // tax (always 0 - we don't model that)
'0', // shipping (always 0 - we don't model that)
'Test', // guest city
'', // state or province
'DE' // guest country
],
['_addItem',
'xyzabc', // order ID - required = reservationNumber
'W3 - Wohnstudio III', // SKU/code - required = room code + room name
'RateCode: SOME_PACKAGE_CODE, PromotionCode: ', // product name = rate code + promotioncode
'Adults: 2, '
+'Children: 0', // category or variation = 3 adults, 2 children
'800.0', // unit price - required = price per night per room
'1' // quantity - required = room nights
],
['_trackTrans']
,
['b._setAccount', 'UA-424242-11'],
['b._setDomainName', 'tool.com'],
['b._setAllowLinker', true],
['b._setCustomVar', 1, 'HotelID', 'SOME_ID', 2 ],
['b._setCustomVar', 2, 'PageName', 'BookingConfirmation', 3 ],
['b._setCustomVar', 3, 'searchId', '', 3 ],
['b._trackPageview', '/booking/BookingConfirmation'],
['b._addTrans',
'xyzabc', // order ID - required = reservationNumber
'SOME_ID', // affiliation or store name
'800.00', // total - required = totalPrice
'0', // tax (always 0 - we don't model that)
'0', // shipping (always 0 - we don't model that)
'Test', // guest city
'', // state or province
'DE' // guest country
],
['b._addItem',
'abcxyz', // order ID - required = reservationNumber
'W3 - Wohnstudio III', // SKU/code - required = room code + room name
'RateCode: SOME_PACKAGE_CODE, PromotionCode: ', // product name = rate code + promotioncode
'Adults: 2, '
+'Children: 0', // category or variation = 3 adults, 2 children
'800.0', // unit price - required = price per night per room
'1' // quantity - required = room nights
],
['b._trackTrans']
);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = 'https://ssl.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
最後のステップで、URL は次のように変わります
編集2:
今、私はこれを作りました
_gaq.push(function() {
alert('test');
var pageTracker = _gat._getTrackerByName();
var iframe = document.getElementById('fancybox-frame');
if(iframe){
iframe.src = pageTracker._getLinkerUrl('<?php echo $link ?>');
alert(iframe.src);
}
});
そして、私は次のようなURLを取得します
https://booking.tool.com/path/CODE?languageCode=en&__utma=60254466.192665702.4731206331.1344939538.1394680734.162&__utmb=60254466.7.9.1349681089757&__utmc=60312227&__utmx=-&__utmz=60254466.4731206661.2.4.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none)&__utmv=-&__utmk=518158905
最初のアラートがなければ、2 番目のアラートは表示されません。したがって、マイクの仮定は正しいと思います。何を入れればいいbeforeLoad
ですか?iFrame を開いたときに、Firebug でエラーが表示されません。Google アナリティクスでは、1 つのページ エントリしか表示されません/toolprovider/BookingConfirmation
。
編集3:
今、私は次のコードを使用します:
$("#bookingLink").click(function() {
var url = this.href;
var pageTracker = _gat._getTrackerByName();
$('#fancylink').attr('href', pageTracker._getLinkerUrl(url));
$('#fancylink').trigger('click');
return false;
});
しかし、_gaq.push
関数で iFrame を見つけることができません。直接クリックしてもfancylink
iFrameが見つかりません。私もこのコードで試しました
$('#fancylink').fancybox({
'type' : 'iframe',
'width' : 700,
'height' : 450,
'autoScale' : false,
'beforeLoad' : function() {
var url = $('bookingLink').attr('href');
var pageTracker = _gat._getTrackerByName();
$('#fancylink').attr('href', pageTracker._getLinkerUrl(url));
}
});