2011-01-14 8 views
0

Zuerst entschuldige ich mich, wenn es als schlechte Etikette angesehen wird, auf Stackexchange-Sites zu cross-posten, aber dies schien sowohl für die Webmaster-Seite als auch hier angemessen, da es ein häufiges Problem für Webmaster ist, aber möglicherweise von Codern gelöst werden kann. Auf jeden Fall hier geht ...Fehler beim externen Link-Tracking beim Öffnen des Links in einem neuen Fenster in Google Analytics?

OK, so dass dies scheint wie ein wirklich einfaches Problem, aber ich habe noch eine Lösung zu finden, die Folgendes erreicht:

  • Öffnet den Link in einem neuen Fenster
  • das Ereignis in GA Tracks, wenn Sie den asynchronen Code
  • mit Enthält Pop-up-Blocker nicht auslösen (verwendet target = "_ blank" statt window.open)

der meiste Code ich habe gesehen, einschließlich Googl e, berücksichtigt nicht den Fall des Öffnens in einem neuen Fenster - sie verwenden nur das Fenster location.href.

Sogar GAAddons (http://gaaddons.com/), die Gebühren für die kommerzielle Nutzung, scheint nicht zu öffnen, in neuen Fenstern ordnungsgemäß zu verwalten.

Vielleicht vermisse ich etwas Einfaches - ich wäre erleichtert wenn das so wäre und würde reichlich danken, wer auch immer es mir zeigt!

Wenn niemand ein Beispiel geben kann, werde ich einige der Testfälle veröffentlichen, die ich erstellt habe, um das Problem zu veranschaulichen.

Danke.

[EDIT] Ich habe den GAAddons-Code inzwischen gründlich getestet und gefunden, dass er funktioniert. Ich vermute, dass das Problem, das früher von einem Kunden gemeldet wurde, der Chrome 7 unter Windows verwendete, eher ein Konfigurationsproblem war als etwas, das mit der GAAddons-Bibliothek selbst zusammenhing.

Antwort

0

Die Methode, die ich gefunden habe, alle Anforderungen zu erfüllen, die ich erwähnt habe die hier zu finden sind Dies führte mich zu der Annahme, dass es einen anderen Grund gab, warum anderer Code in früheren Tests nicht funktionierte.

Ich kann jedoch bestätigen, dass die Methode, die in den Kommentaren auf dieser Google-Seite erwähnt wird - http://www.google.com/support/googleanalytics/bin/answer.py?hl=en&answer=55527 - die obigen Anforderungen nicht erfüllt (neue Fenster lösen Popup-Warnung in Chrome und IE aus).

Der Google-Code funktioniert zum Verfolgen externer Links, die nicht in einem neuen Fenster geöffnet werden.

hier ist der Code-Schnipsel:

$('a[target=_blank]').click(function(){ 
try{ 
    _gaq.push(['_trackEvent', 'External Links', 'Click', $(this).attr('href')]); 
} catch(err) {} 
return true; 
}); 

ich auf den folgenden Browsern getestet haben: PC: IE 6 - 9 Firefox 3.6, 4.0 Chrome 9, 10 Safari 5 Opera 11

Mac: Safari 5 Chrome 10 Firefox 3.6, 4.0

Auch getestet auf dem iPhone 4 und dem nativen Android-Browser auf Lebkuchen

1

Sie setzen es in dem OnClick-Attribute des Link: http://cutfromthenorth.com/add-external-link-tracking-with-jquery-and-google-analytics/

Es ist ganz eigentlich:

<a href="somePage.html" target="_blank" onclick="pageTracker._trackPageview(this.href);">some link</a> 
+0

+1. Links, die 'target =" _ blank "' enthalten, sind am einfachsten zu verfolgen, da die Seite nach dem Klicken auf den Link erhalten bleibt und Javascript im Hintergrund ausgeführt werden kann, während der Benutzer zu den neuen Seiten navigiert Race-Bedingungen zu sorgen. – Yahel

+0

Entschuldigung, ich hätte die Anforderung der Verwendung der asynchronen Version des GA-Codes klären müssen. Klar, dass in der Frage. – evanmcd