2017-10-06 12 views
0

私はこのJavaScriptコードを使用して、訪問者が特定のイベントをクリックするたびにイベントを取得します。google analyticsイベントの動的日時

<script> 
var trackerName = ga.getAll()[0].get('name'); 

ga(trackerName + '.send', 'event', { 
    eventCategory: 'Product', 
    eventAction: 'Outbound click', 
    eventLabel: '<?php echo str_replace("'"," ",$product->pro_label_fr); ?>', 
    eventValue: <?php echo intval($product->pro_price * 100); ?>, 
    dimension1: '<?php echo Utils::getClientIp(); ?>', 
    dimension2: '<?php echo $customer->cus_label; ?>', 
    dimension3: '<?php echo date('m/d/Y h:i:s a', time()); ?>', 
    dimension4: '<?php echo $category; ?>', 
    dimension5: '1', 
    dimension6: 'top', 
    transport: 'beacon' 
}); 
</script> 

問題はdimension3です。datetimeは静的で、ページが読み込まれると更新されません。 ディメンション3にhtmlタグを入れなくても、毎秒更新される動的なdatetimeを持つ方法はありますか?

ページ上に20個以上のボタンがあり、それがこのような20個のスクリプトを意味するため、最適化されたものを探しています。

ありがとう

答えて

0

PHPはページが作成される前に処理されるため、もちろん静的です。動的な時間が必要な場合は、JavaScriptを使用してください。 しかし、JSはクライアントによって実行されるので、クライアントのタイムゾーンも使用するため、予想している時間帯にJSを再計算する必要があります。

技術的な観点からそれを解決する必要がありますあなたは

<script> 
    function getCurrentTime() { 
     // create a ne (local) date object 
     var date = new Date(); 
     // convert it to UTC 
     var utcDate = new Date(date.toUTCString()); 
     // add/substract the hours from your preferred timezone. f.ex. -8 for PDT 
     utcDate.setHours(utcDate.getHours() - 8); 
     // create a new date object for PDT 
     var myDate = new Date(utcDate); 
     // return it in the US default format 
     return pstDate.toLocaleString('en-US'); 
    } 

    ga(trackerName + '.send', 'event', { 
     // settings 
     dimension3: getCurrentTime(), 
     // other settings 
    } 
</script> 

を必要とする日付文字列を返すメソッドを作成します。しかし、なぜあなたはこれをやっていますか? Googleアナリティクスで自動的にイベント時間が記録されるため、ディメンションとして追加する必要はありません。

注:IPアドレスのロギングには注意してください。 EUを含む多くの国では、これは違法です。

+0

ご回答ありがとうございます。アナリティクスからイベント時間にアクセスしてカスタムレポートに含めるにはどうすればよいですか? –

+0

@AlexandrePecorilla私は本当にあなたが意味するものを得ることはありません。とにかくアナリティクスレポートは時間軸を超えているので、選択した時間範囲内でイベントをトラッキングするだけです...時間をリストの列として表示することを意味しますか?私はそれができないのではないかと心配しています。 – masterfloda

関連する問題