سؤال

أحاول تتبع النقرات عن طريق Google Analytics أن لا يؤدي طلب جديد.على وجه التحديد ، النقرات على علامات التبويب التي يتم إنشاؤها عن طريق مسج UI علامات التبويب القطعة.أنا باستخدام الإصدار القديم من الرمز ('قنفذ تعقب') ومحاولة تسجيل نقرات مثل ذلك:

$('.ui-tabs-nav li a').click(function() {
    val = "/tab/" + $(this).attr('href');

    // when uncommented, the following line reports, for example:
    //   /tab/#main
    // as expected.
    // console.log(val);

    res = urchinTracker(val);
});

نفس الأسلوب يعمل في مثيل آخر من فرق كبير ، بقدر ما أستطيع أن أقول هو عدم التجزئة (#) رمز في السلسلة.هو أن حرف غير مسموح به في سلسلة تتبعها urchinTracker(), أو يمكن أن يكون هناك بعض الأسباب الأخرى (بخلاف لا أحد بعد النقر على الروابط!)?

هل كانت مفيدة؟

المحلول

وافتراضيا، وجوجل تحليلات تعطيل تتبع تثبيت العلامات . إلى تمكينه شفرة التتبع تراث، استخدم النموذج التالي:

_uanchor = 1;
urchinTracker(val);

وتعيين قيمة ل_uanchor المتغير هو ما يعادل يدعو طريقة _setAllowAnchor عند استخدام أحدث رمز قاعدة GA. (تجد مقارنة تفصيلية في شفرة تتبع Google Analytics دليل الهجرة -. <م> وعفا عليها الزمن هذا الرابط )

ويوصف _setAllowAnchor الأسلوب على جوجل الموقع المرجعي .

نصائح أخرى

وباختصار، لا يستطيع Google Analytics تتبع الروابط على الصفحات التي تحتوي على الرمز (#). يتم التعامل مع الضغط على index.html و# فو مجرد الضغط على index.html و، مع كل شيء بعد '#' تجاهلها.

هل يمكن أن تنظر الهروب من الرمز (#):

$('.ui-tabs-nav li a').click(function() {
    val = new String("/tab/" + $(this).attr('href')).replace('#', '&');

    // when uncommented, the following line reports, for example:
    //   /tab/#main
    // as expected.
    // console.log(val);

    res = urchinTracker(val);
});

في المثال، وهذا من شأنه أن تسجيل عرض الصفحة ل/tab/?main، والتي ينبغي أن تعمل بشكل جيد مع برنامج Google Analytics.

إذا كنت تريد أن تتبع النقرات مرساة في الصفحة، فإن ما يلي يعمل على الصعيد العالمي:

window.onhashchange = function() {
  _gaq.push(['_trackPageview', location.pathname + location.search + location.hash]);
}

وحذار أن إذا كان لديك بعض معالجات onclick محددة مثل

 $('#someid a').click(function(event){
   event.preventDefault();
   var target = $(this).attr('href');
   // some more clever stuff
 });

وأنت بحاجة إلى إلحاقها تجزئة يدويا لتحريك onhashchange

 $('#someid a').click(function(event){
   event.preventDefault();
   var target = $(this).attr('href');
   // triggers onhashchange
   location.hash = target;
   // some more clever stuff
 });

ويبدو أنك تريد التتبع في Google Analytics حدث لل أمثلة تستخدم عند _ النقر = "" هراء ولكن أراهن أنك ربما يمكن ربط هذه لأحداث النقر مسج كذلك.

  1. حاولت استخدام _uanchor = 1; الأسلوب.أن لا العمل.والسبب أنها لا تعمل هو أنه يهدف إلى إرسال Google Analytics المعلمات كما تجزئة القيم لا ترسل الخاص بك تجزئة القيمة.

    من الدليل على ما نقلت في Török Gábor الجواب, ووضع _uanchor واحد له التأثيرات التالية:

    عند تمكين يستخدم # بدلا من الافتراضي ? فصل طلب تنبع من سلسلة الاستعلام

    هذا هو في 'حملة تتبع قسم'.

  2. روب نايت الجواب يعمل بشكل جيد, ولكن أنا جعلت تعديل صغير.في البرمجية الزائفة:

    if (href contains ?) {
    href = href.replace('#', '&');
    } else {
    href = href.replace('#', '?');
    }
    

ليس متأكدا مما إذا كان حقا المسائل إلى الجمعية العامة أن يكون على رابط مثل foo.html&bar=baz ولكن يبدو نظافة لي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top