it-swarm.com.de

Wie kann man mit Google Analytics auf einer Weiterleitungsseite mit PHP verfolgen?

Ich habe eine Website, auf der ich nachverfolgen möchte, wer auf bestimmte Links zu GA geklickt hat.

Nehmen wir an, ich habe diese Seite: /index.php?id=32

Auf dieser Seite führe ich eine Abfrage aus, die auf der ID-Variablen basiert (in diesem Fall: 32), und ich erhalte die URL des 32-ID-Elements aus der Datenbank, um den Besucher umzuleiten.

Ich verwende eine PHP - Funktion: Header ('Location: http://www.example.com ') ;. Bevor ich den Nutzer umleiten kann, möchte ich, dass Google die Informationen des Besuchers erfasst und erst dann zur gewünschten Webseite weiterleitet.

Ich habe versucht, den GA -Code und ECHO kurz vor der Weiterleitung einzufügen, es funktionierte jedoch nicht. Wie ist es möglich, diese Art von Seiten mit GA zu verfolgen?

20

Allgemein gesagt

Wenn Ihre Seite Weiterleitungen verwendet, wird die Weiterleitungsseite zum Verweiser der Zielseite. Wenn Sie beispielsweise Ihre Site so geändert haben, dass index.html jetzt zu home.html umleitet, wird index.html zum Verweis für home.html. Wenn jemand über eine Google-Suche auf Ihre Website gelangt ist und diese zuerst an index.html gesendet hat, liegen Ihnen keine Daten zur Google-Suche vor.

Aus diesem Grund sollten Sie den Google Analytics-Tracking-Code sowohl auf der Weiterleitungsseite als auch auf der Zielseite platzieren. Auf diese Weise erfasst die Umleitungsseite die tatsächlichen Verweisinformationen für Ihre Berichte.

Beachten Sie, dass einige Browser möglicherweise umleiten, bevor der JavaScript-Aufruf aus dem Code erfolgen kann.

(Siehe https://support.google.com/analytics/answer/1009614?hl=de )

Ihr spezieller Fall

Da PHP vor jedem Javascript gerendert und ausgeführt wird, hat der Google Analytics-Tracker keine Möglichkeit, Daten an seinen Server zu senden.


Lösungen

In Anbetracht dessen, dass Sie eine PHP Redirection-Seite nicht verfolgen können, gibt es eine Reihe möglicher Alternativen:




  • Kampagnen-Tracking ( Ich würde diese Methode in diesem speziellen Fall nicht persönlich anwenden. )
    • /products.php?utm_source=index&utm_medium=redirection-page&utm_campaign=32

Die letzten beiden Elemente in der Liste werden in den einzelnen Links auf der Startseite implementiert, bevor Sie zur Umleitungsseite PHP=) gelangen.

17
carlodurso

Ich würde etwas wie das Folgende vorschlagen. Es verwendet hitCallback für die Weiterleitung, so dass das Ereignis an GA gesendet wird und und dann die Weiterleitung erfolgt. Es legt auch ein Timeout fest, damit der Viewer (aus welchem ​​Grund auch immer) analytics.js nicht verfügbar ist (noch) an den richtigen Ort gesendet wird.

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
    <head>
        <title>example</title>
        <script>
            setTimeout(redirect, 2000);
            var redirected = false;
            function redirect() {
                if (!redirected) {
                    redirected = true;
                    location.href = 'http://your.website.here.com';
                }
            }
            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
                (i[r].q=i[r].q||[]).Push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
                m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
            })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
            ga('create', 'UA-NNNNNNN-N', 'auto');
            ga('send', 'event', 'Event Name', 'redirect', {
                hitCallback: redirect
            });
        </script>
    </head>
    <body>
    </body>
</html>

tracking-Codes und URLs sollten natürlich entsprechend Ihren Anforderungen aktualisiert werden.

Verweise:

8
sfosdal

Wenn Sie sich das Fehlerprotokoll ansehen, wird ein Fehler angezeigt, der ungefähr sagt: "Umleitungsheader kann nicht gesendet werden, Header wurde bereits gesendet". Es ist nicht möglich, eine Umleitung per Location-Header durchzuführen, wenn vor dem PHP -Schnipsel bereits eine HTML/Javascript-Ausgabe ausgeführt wurde (da Sie zu diesem Zeitpunkt Ihre http-Header bereits implizit gesendet haben). 

Es ist möglich, Googles Measurement Protocol zu verwenden, um eine serverseitige Lösung zu erstellen, die die Seite vor der Umleitung verfolgt. In diesem Fall müssen Sie selbst eine client_id erstellen und, falls die von Ihnen umgeleiteten Eigenschaften Ihre eigenen sind, diese an die Weiterleitungs-URL für die domänenübergreifende Verfolgung anhängen. 

Wenn dies kein Problem ist, können Sie Curl oder fopen verwenden, um einen Anruf an GA über eine URL wie folgt zu senden:

https://www.google-analytics.com/collect?v=1&tid=UA-XXXX-Y&cid=XXXXXXXXt=pageview&dp=%2redirect

Wenn UA-XXXX-Y die Konto-ID von Google ist, ist CID die von Ihnen generierte Client-ID und/redirect der Name Ihrer Seite. Wenn Sie wiederkehrende Benutzer erkennen möchten, müssen Sie die Client-ID in einem Cookie speichern und bei jedem Besuch prüfen, ob das Cookie vorhanden ist. Wenn dies der Fall ist, rufen Sie die ID ab.

2
Eike Pierstorff

Da die Seite, die Besucher zur Weiterleitung sendet, ebenfalls unter Ihrer Kontrolle steht, würde ich einen völlig anderen Ansatz vorschlagen: Verwenden Sie die Ereignisüberwachung auf der Quellenseite.

Messen Sie auf der Seite, die den Link /index.php?id=32 enthält, alle Klicks auf diesen Link, indem Sie einen onClick-Handler an den Link anhängen und so etwas ausführen 

ga('send', 'event', {
  eventCategory: 'Redirect Link',
  eventAction: 'click',
  eventLabel: event.target.href
});
0
Peter

wenn Sie die Weiterleitung deaktivieren und die Seite überprüfen, sehen Sie den Anruf an GA in Ihrem Netzwerkregister? Ich habe herausgefunden, dass die Push-Events manchmal für 24 Stunden nicht in GA angezeigt werden.

Wenn Sie sehen, dass es tatsächlich an google gesendet wird, würde ich es aktiviert lassen und einen Tag warten, bevor Sie GA überprüfen, ob etwas protokolliert wurde.

0
Shan Robertson