5

#div コンテナーを呼び出す jQuery と CSS を使用してコンテンツを取得する Web サイトをいくつか作成しています。このような 1 ページの Web サイトを作成する際に、Omniture Site Catalyst トラッキング コードを使用する方法を知っている人はいますか? 可能?

以前、私は Omniture をより伝統的な html サイトで利用しており、ソフトウェアによって提供される以下の読みにくいコードのチャンクを挿入していました。その場合、すべての .html ページを追跡しているようです。

       <!-- SiteCatalyst Code version: H.17.
Copyright 1997-2008 Omniture, Inc. More info available at
http://www.omniture.com -->
<script language="JavaScript" type="text/javascript" src="http://www.urlofsite.com/js/s_code.js"></script>
<script language="JavaScript" type="text/javascript"><!--
/************* DO NOT ALTER ANYTHING BELOW THIS LINE ! **************/
var s_code=s.t();if(s_code)document.write(s_code)//--></script>
<script language="JavaScript" type="text/javascript"><!--
if(navigator.appVersion.indexOf('MSIE')>=0)document.write(unescape('%3C')+'\!-'+'-')
//--></script><noscript><a href="http://www.omniture.com" title="Web Analytics"><img
src="http://code.urlofsite.com/b/ss/ranhrollup/1/H.17--NS/0"
height="1" width="1" border="0" alt="" /></a></noscript><!--/DO NOT REMOVE/-->

<!-- End SiteCatalyst code version: H.17. -->
</body>
</html>

とにかくそれを分割し、追跡コードを特定の#div#.

アップデート:

スペシャリストと話したところ、追加のページ ビューとして追跡したいものについては、onClick イベントに追加の st() 呼び出しを追加できるとのことでした。例として、「Books」リンクに対して次のクリック イベント ハンドラーを設定したとします。

$('a.manned-flight').click(function() {
  $('html, body').animate({
  scrollTop: 1250
}, 1000, function() {
  parallaxScroll(); // Callback is required for iOS
});
  return false;
});

次のように、この関数にトラッキング コードを追加して別の pageName を指定し、追加のページ ビュー画像リクエストを送信できます。

$('a.manned-flight').click(function() {
  s.pageName = "www.urlofwebsite.com:Books";
  s.t();
  $('html, body').animate({
    scrollTop: 1250
  }, 1000, function() {
    parallaxScroll(); // Callback is required for iOS
  });
  return false;
});

しかし、サイトの規模が大きく、定義しなければならないコンテンツ領域の量を考慮すると、これは非現実的なアプローチであり、コード的にもややぎこちないように思えます。Javascript配列でこれを行う方法はありますか?

4

2 に答える 2

6

何ヶ月も前に、私は Omniture の分析ツールを Web CMS システム、特に当社の製品およびショッピング カート コンポーネント用にセットアップする必要がありました。コードは、サイト テンプレート (インクルード ファイル) のすべてのページに含まれています。サイトが完全に静的なサイトではないと仮定すると、コードを .js ファイル、テンプレート、インクルード ファイル、マスター ページ、ビュー (サイト全体で再利用する方法は何でも) に配置して、同じことができます。私の記憶が正しければ、Omniture は body タグの終了タグの直前にコードを配置することに固執していました。コードが配置されたら、Omniture コードで適切な値を設定するために使用される特定の変数に値を割り当てるための JavaScript を作成します。たとえば、たまたまページが優れた SEO タイトルを作成している場合、そのタイトルから値を取得して、Omniture ページ名に使用できます。それか'

一方、サイトが静的サイトの場合、選択肢はそれほど簡単ではありません。div がどのように生成されているかを制御できれば、より良い結果が得られます。つまり、従来の方法で div にデータを返すことができれば、JavaScript またはお気に入りの JavaScript ライブラリ (jQuery など) を使用して、Omniture 変数に適切な情報を生成できるということです。さらに、HTML の生成方法を完全に制御できる場合は、a.manned-flight の例のように、注意する特定のクラスを追加できます。ただし、すべてのタイプのクリックに対してより一般的なものを探しています。

先ほど言ったように、レンダリングされるデータを制御できれば、レンダリングされた HTML からデータを簡単に取得できます。そうしないと、Omniture が必要とする意味のある情報を提供することが難しくなります。お役に立てれば。

これは、あなたの問題に対する私の限られた理解で私が考えていることのようなものです。データが以下のサンプルのような標準形式であると仮定します。

<div class="product-item">
    <input class='item-title' type='hidden' value='Book Title #1 Specific Page Name'/>
    <input class='other-stuff-for-analytics' type='hidden' value='More stuff here'/>
    <h3>Book Title #1</h3>
    <p>Description of Book Title #1 and some junk...</p>
</div>
<div class="product-item">
    <input class='item-title' type='hidden' value='Book Title #2 Specific Page Name'/>
    <input class='other-stuff-for-analytics' type='hidden' value='More stuff here'/>
    <h3>Book Title #2</h3>
    <p>Description of Book Title #2 and some junk...</p>
</div>
<div class="product-item">
    <input class='item-title' type='hidden' value='Book Title #3 Specific Page Name'/>
    <input class='other-stuff-for-analytics' type='hidden' value='More stuff here'/>
    <h3>Book Title #3</h3>
    <p>Description of Book Title #3 and some junk...</p>
</div>

<!-- The code below could be in your template/include file/master page/view/ .js file -->
<script>
    $('div.product-item').click(function () {
        var analyticsPageName = "";
        /* Possibly pull the value from hidden input  */
        analyticsPageName = $(this).children('input.item-title').val();

        /* OR Pull the information from the block of HTML that has the page title */
        analyticsPageName = $(this).children('h3').text();

        // ---OR---
        //whatever else you need to do to scrape your HTML
        //to get the information to plug into a variable

        s.pageName = analyticsPageName;
        s.t();
        $('html, body').animate({
            scrollTop: 1250
        }, 1000, function () {
            parallaxScroll(); // Callback is required for iOS
        });
        return false;
    });
</script>
于 2011-11-20T07:02:18.077 に答える
0

Jqueryには、jquery.addressJQueryベースのアクションの一種の自動追跡を実装するというプラグインライブラリがあると思います。このライブラリはGoogle Analytics用にネイティブに構成されていますが、過去に Omniture SiteCatalyst コードも追加しました。

あなたはそれを試すことができます。

于 2011-12-22T09:36:33.890 に答える