3

私の HTML ページには、ドロップダウン メニューを駆動する Javascript コードがあります。ユーザーはダウンロードするファイルを選択し、ボタンを押してダウンロードします。

これは Javascript コードの一部です。

        var dd = document.getElementById("OSselectDropdown");
        var OSchoice = dd.options[dd.selectedIndex].value;
        if (OSchoice == "win")
        {
           window.location.href = "http://mysite.com/downloads/installer.exe";
        }
        if (OSchoice == "mac")
        {
           window.location.href = "http://mysite.com/downloads/installer.pkg";
        }

ファイルがダウンロードされた回数を追跡できるようにしたい。Google アナリティクスでダウンロード数を有効にするはずの jQuery を使用するこのコードを見つけました。

ただし、コードは<a>タグに対してのみ機能するようです。少しテストを行いましたが、私の場合はうまくいかないようです.Javascriptをwindow.location.href使用していて、ダウンロード可能なファイルに接続しているためだと思います.

この Javascript コードを利用して、ドロップダウンで取得しているダウンロード数を Google Analytics で追跡する方法はありますか?

または、Javascript ドロップダウンからのダウンロードを追跡する別の方法またはより良い方法はありますか?


アップデート:

提供された回答に基づいて、またGoogle のドキュメントを見てから、コードを次のように変更しました。

        var dd = document.getElementById("OSselectDropdown");
        var OSchoice = dd.options[dd.selectedIndex].value;
        if (OSchoice == "win")
        {
            _gaq.push(['_trackEvent','Installer','Download', 'Windows']);
            window.location.href = "https://" + top.location.host + "/+download/Windows_Installer.exe";
        }
        if (OSchoice == "mac")
        {
            _gaq.push(['_trackEvent','Installer','Download','Mac']);
            window.location.href = "https://" + top.location.host + "/+download/Mac_Installer.pkg";
        }
        if (OSchoice == "linux")
        {
            _gaq.push(['_trackEvent','Installer','Download','Linux']);
            window.location.href = "https://" + top.location.host + "/+download/Linux_Installer.tar.gz";
        }

しかし、Google アナリティクスのインターフェースには何の変化も見られません。新しく調整されたコードは正しいですか? 正しい場合、Google アナリティクスでトラッキングされたダウンロードはどこに表示されますか?

4

2 に答える 2

4

あなたがする必要があるのは、電話するだけです

_gaq.push(['_trackEvent','Install','exe','http://mysite.com/downloads/installer.exe']);
or
_gaq.push(['_trackEvent','Install','pkg','http://mysite.com/downloads/installer.pkg']);

ユーザーをリダイレクトする前にコードで

アップデート:

イベントが実際に追跡されるようにするには、リダイレクトを延期し、.push() メソッドのコールバックにラップする必要があります。同様の質問を確認してください。

これはどう?

...
switch (OSchoice) {

    case 'win':
        _url = 'http://' + top.location.host + '/+download/Windows_Installer.exe';
        _ext = 'exe';
        break;

    case 'mac':
        _url = 'http://' + top.location.host + '/+download/Mac_Installer.pkg';
        _ext = 'pkg';
        break;

    case 'linux':
        _url = 'http://' + top.location.host + '/+download/Linux_Installer.tar.gz';
        _ext = 'tar.gz';
        break;
}

if (_url) {
    _gaq.push(['_set', 'hitCallback', function(){window.location.href = _url;}]);
    _gaq.push(['_trackEvent', 'Install', _ext, _url]);
}
于 2013-05-09T16:07:51.990 に答える
2

あなたが探しているのはイベント追跡です。そのためのドキュメントは次のとおりです。

于 2013-05-09T16:05:42.960 に答える