2009-02-26 4 views

Antwort

4

ich nicht 100% sicher natürlich sein kann, aber ich würde vermuten, Sie benutzen Javascript und die onload und onunload Ereignisse und/oder setTimer um mit einem Webservice über AJAX zu kommunizieren. Auf diese Weise können sie herausfinden, wann Benutzer eine Seite auf Ihrer Website aufrufen oder verlassen. Sobald der Browser den Webdienst nicht mehr anpingt, wird davon ausgegangen, dass er Ihre Website verlassen hat.

Ich bin mir sicher, dass es eine gewisse Fehlerquote gibt, egal wie du es machst, aber du könntest eine ziemlich anständige Schätzung auf diese Weise bekommen.

+1

aber Sie sehen nie irgendwelche Anfragen "ping" heraus von irgendeiner Website, die GA verwendet. und onbeforeunload kann nicht verwendet werden, da Sie nie sicherstellen können, dass die Anfrage rechtzeitig vor dem Schließen der Seite abgeschlossen wird. – vsync

+0

@vsync - Es ist möglich, dass GA bestimmt, wann Sie eine Seite basierend auf dem Laden der nächsten Seite verlassen. Angenommen, alle Seiten haben GA auf ihnen, dies würde funktionieren. Außer wenn Sie die Seite natürlich verlassen. –

+0

Es kann Situationen geben, in denen Ihre Website auf mehreren Tabs geöffnet ist und von denen Sie auf eine andere Website wechseln. oder vielleicht andere Situationen..so könnte dies nicht funktionieren, es sei denn, GA ping Sie die ganze Zeit, um sicherzustellen, Benutzer ist in der Website, egal in welcher Registerkarte .. aber das wäre extrem hässlich und was Web-Admin möchte das .. – vsync

1

Ich vermute, dass sie wahrscheinlich einen Timer ausführen, die auf jeder Schleife eine Art Callback wiederholt und führen einen Cookie mit dem Benutzer und Sitzung zu identifizieren

2

Ich denke nicht, dass es verfolgt, wenn Sie den Browser schließen oder weg navigiert, und selbst wenn dies der Fall ist, funktioniert das nicht in 100% der Fälle.

Meine Schätzung ist, dass sie den Aufenthalt auf der Ausgangsseite schätzen, vielleicht basierend auf den vorherigen Seiten oder einem Durchschnitt für diese Seite für alle Besucher. Wenn Sie in ein paar Minuten drei Seitentreffer erhalten, haben Sie eine genaue Anzeigezeit für die ersten beiden Seiten, aber Sie wissen nie, wie lange die dritte Seite angezeigt wird. Vielleicht schließen Sie die Seite sofort oder lassen Sie sie offen und lesen Sie sie später.

Es ist Statistiken, also auf die Dauer ist es normalerweise ziemlich genau, aber es ist nie wirklich die Wahrheit. ;)

+0

Ich mochte deine Antwort – vsync

3

Nur eine Funktion wie folgt festgelegt:

function track() 
{ 
    setTimeout(track ,1000); 
    now = new Date; 
    now_string = now.getHours() + ":" + now.getMinutes() + ":" + now.getSeconds(); 
    (... whatever you want to do with this data) 
} 

In Javascript erhalten Sie wie, dass ein String sagen HH: MM: SS oder H: M: S, falls die Stunde/Minute/Sekunde Anzahl wie weniger als 2 Zeichen

Also nur ein bisschen Mathe machen arround es

dies gerade irgendwo in Ihrem Fenster setzt ausgeführt wird, und mit der Sitzung assoziiert (diesem guaranteing auf allen Seiten ist) erhalten Sie genau, wie viel Zeit war ein Benutzer auf Ihrer Seite.

Edit: hatte eine Funktion, die ich dort die Mine war, hatte zu entfernen und es ist nicht von Javascript sry: p

3

Es gibt ein Javascript-Ereignis aufgerufen wird onBeforeUnload, die ausgeführt wird, wenn ein Benutzer eine Seite verläßt. Dies kann das Schließen der Fenster/Tabs oder das Navigieren zu einer anderen Seite sein (auch wenn es sich auf derselben Site befindet). Indem Sie die Zeit unmittelbar nach dem Laden der Seite abrufen und JavaScript verwenden, um eine synchrone Anforderung onBeforeUnload mit der Zeitdifferenz zwischen Laden und Verlassen zu senden, können Sie die auf einer Seite verbrachte Zeit effektiv verfolgen. Ich würde annehmen, dass Google das tut.

Wenn Sie funktionierende Codebeispiele und ein wenig mehr Informationen möchten, überprüfen Sie this heraus.