ユーザーがアウトバウンドリンクをクリックした回数を調べるのに役立つ方法はいくつかありますが、状況はかなり複雑です。
これは学校のウェブサイト KENT SCHOOL DISTRICT であり、ウェブサイトのホームページにはショートカット(リンク)のある左側のサイドバーがあります。 WebサイトはSchool Wires(コンテンツ管理システム)で構築されており、学校のワイヤーはサイトのショートカットのコードを提供していません。
サイトマネージャーの下に、サイトショートカットタブがあります(下をご覧ください)
基本的に、ショートカットのハードコーディングは行いません。
これまで私は試しました:
私の質問は、とにかくアウトバウンドリンクを追跡できるかどうかです。基本的に、左サイドバーのショートカットがクリックされた回数をカウントしたいですか?
GTMを使用すると、すべてのページで起動するリンククリックリスナーを確立し、リンクがクリックされるたびに起動する「アウトバウンドリンク」タグを作成できます。リンクのhref属性を収集して、イベントに渡すこともできます。簡単に説明しますが、必要に応じて詳細をご確認ください。 http://cutroni.com/blog/2013/10/07/auto-event-tracking-with-google-tag-manager/ 。 HTMLにまったく触れることなく、すべてを実行できます。
WebサイトでjQueryを使用していることがわかります。リンクに属性を書き込むことはできませんが、ユーザーをリンクに送信する前にGoogleアナリティクスイベントを記録するJavaScriptのスニペットを含めることができます。
function logeventga(category, action, label, value, callback, nonAction){
var event = {
'eventCategory': category,
'eventAction': action
};
if (label) event['eventLabel'] = label;
if (value) event['eventValue'] = value;
if (callback) event['hitCallback'] = callback;
if (nonAction) event['nonInteraction'] = 1;
if (typeof ga == 'function' && ga.hasOwnProperty('loaded') && ga.loaded === true) {
ga('send', 'event', event);
} else if (callback) {
callback.call();
}
}
$(document).ready(function(){
$('#div-id a').click(){
var href = $(this).attr('href');
logeventga('external-link','click',href,null,function(){
document.location=href;
});
return false;
}
});
仕組みに関するいくつかの注意事項:
document.href
を設定することにより、イベントが記録された後にユーザーを新しいページに移動できます。クリックイベントハンドラからのreturn false
は、クリック直後にユーザーが退場することを防ぎます。logeventga
は、ロードされていないGoogleアナリティクスのケースを検出し、すぐにコールバック関数をトリガーします。$('#div-id a')
を、実際にリンクを見つける適切なjQueryセレクターに置き換える必要があります。 IDを持つdivにある場合は、div-id
を実際のIDに置き換えることができます。logeventga
関数は、ga
関数を使用する新しいユニバーサル分析を使用することを前提としています。 _gaq
で古いスタイルの分析呼び出しを使用している場合、コードを少し変更する必要があります。このコードは私にとっては高額です:
// Track external links - http://www.axllent.org/docs/view/track-outbound-links-with-analytics-js/
function _gaLt(event){
var el = event.srcElement || event.target;
while(el && (typeof el.tagName == 'undefined' || el.tagName.toLowerCase() != 'a' || !el.href)){ el = el.parentNode; }
if(el && el.href){
var link = el.href;
if(link.indexOf(location.Host) == -1 && !link.match(/^javascript\:/i)){
var hitBack = function(link, target){ target ? window.open(link, target) : window.location.href = link; };
var target = (el.target && !el.target.match(/^_(self|parent|top)$/i)) ? el.target : false;
ga("send","event","Outgoing Links",link,document.location.pathname + document.location.search,{"hitCallback": hitBack(link, target)});
event.preventDefault ? event.preventDefault() : event.returnValue = !1;
}
}
}
var w = window;
w.addEventListener ? w.addEventListener("load",function(){document.body.addEventListener("click",_gaLt,!1)},!1) : w.attachEvent && w.attachEvent("onload",function(){document.body.attachEvent("onclick",_gaLt)});
http://www.axllent.org/docs/view/track-outbound-links-with-analytics-js/