Löst das Google Analytics-Ereignis aus, wenn das Formular in Django gültig ist

8

Ich habe ein Formular auf meiner Website, das andere Formulare als Basis verwenden (und sich auf verschiedenen URLs befinden), aber sie alle machen den gleichen Job und erstellen Benutzer.

Ich dachte python / django könnte ein bestimmtes Ereignis an Google Analytics weitergeben, wenn das Formular gültig ist.

%Vor%

Ist das möglich? Würde es irgendwelche Vorbehalte geben, dies auf der Client-Seite zu tun (Javascript)?

    
Garreth 00 16.01.2015, 10:54
quelle

2 Antworten

4

Das Analytics-Tracking wird normalerweise mit Javascript auf der Seite durchgeführt, und die Formularvalidierung ist normalerweise ein serverseitiger Job. Ihr Beispiel scheint irgendwie Javascript und Python Code zu mischen, der natürlich nicht funktioniert.

Am häufigsten möchten Sie das Ereignis nur auf der Dankeseite auslösen, indem Sie gängiges Javascript verwenden. Es ist einfach mit Django zu arbeiten, Sie müssen nur darauf achten, dass Sie jedes Mal, wenn Sie dieses Formular verwenden und es validiert, den Benutzer zur selben Dankeschön-Seite schicken, wo Sie eine benutzerdefinierte Vorlage verwenden, die den Ereignisauslösungscode hat.

Diese Server-Seite kann mit dem Messprotokoll erstellt werden. Aber es gibt ein paar Dinge, die Sie vorsichtig sein müssen:

1) Verwendung des Messprotokolls

Das Messprotokoll definiert lediglich die HTTP-Anfrage, es gibt keine (zumindest offizielle) Client-Bibliothek, Sie müssten die Abfrage also selbst erstellen und ausführen. Dies wird Ihrem Projekt Komplexität hinzufügen, die nicht wirklich notwendig ist.

2) Migration zu Universal Analytics

In Ihrem Beispiel sollten Sie Classic Analytics verwenden. Google Analytics hat den Tracking-Code auf eine neue Syntax namens Universal Analytics aktualisiert. Das Messprotokoll unterstützt nur Universal Analytics. Wenn Sie also das Messprotokoll verwenden, sollten Sie auch Ihren gesamten Site-Tracking-Code auf Universal aufrüsten, damit die von der Client / Server-Seite gesendeten Treffer kompatibel sind.

3) Latenz

Das Messprotokoll kann einige Millisekunden benötigen, um zu antworten. Wenn Sie dies millionenfach tun, kann das Warten auf die HTTP-Antwort zu einem Engpass führen und Ihre Routine verzögern. Wahrscheinlich möchten Sie diese HTTP-Anfrage in einer asynchronen Aufgabe mit Sellerie oder etwas Ähnlichem erstellen und ausgeben.

4) Sitzungsfortsetzung

Google Analytics verwendet auf der Clientseite ein Cookie, um die Client-ID zu speichern, die verwendet wird, um zu verstehen, dass es sich bei mehreren Anfragen um denselben Benutzer handelt. Aus diesem Grund möchten Sie eine Anfrage von der Server-Seite mit der gleichen CID ausgeben. Dies ermöglicht es GA, die Javascript-Hits mit den anderen Hits zu verknüpfen, die der Nutzer auf der Website vorgenommen hat. Sie müssen also den _ga-Cookie erfassen, analysieren und die in der Anfrage verwendete CID extrahieren. Neben der CID möchten Sie auch die userIp und den userAgent vom realen Benutzer extrahieren, um Ihre Anfrage mit dem Messprotokoll zu senden. GA verwendet diese, um die Geo-Berichte und Browser / OS-Berichte zu erstellen.

Wie Sie sehen können, ist es eine Menge Arbeit, vielleicht, wenn Sie es wirklich serverseitig verfolgen müssen, ist es das wert. Aber wenn es nicht unbedingt notwendig ist, ist es wahrscheinlich besser, sich an die Grundlagen zu halten und einfach Javascript zu verwenden.

    
Eduardo 21.01.2015, 02:21
quelle
0

Ich habe festgestellt, dass diese Bibliothek verwendet wird, um die Messprotokoll ist der einfachste Weg, serverseitige Google Analytics-Ereignisse mit Python / Django zu implementieren.

Der Code wäre:

%Vor%     
YPCrumble 28.06.2015 16:52
quelle

Tags und Links